Commit Graph

101 Commits

Author SHA1 Message Date
Zach Musgrave 6cdd0fbefd Merge main, resolve new event conflict 2023-12-04 10:25:52 -08:00
Zach Musgrave d31758468d go mod cleanup 2023-12-01 17:44:27 -08:00
Taylor Bantle a0c0fa6e51 Fix existant typo 2023-12-01 11:10:55 -08:00
Aaron Son 67535bbda1 go/cmd/dolt: sql-server.lock/sql-server.info changes. PR feedback. 2023-11-30 12:01:43 -08:00
Aaron Son 2e9546d902 integration-tests/go-sql-server-driver: sqlserver_lock_test.go: Add a test documenting the current odd behavior where you can run two sql-servers against the same directory if they have no DoltDBs. 2023-11-29 17:57:06 -08:00
Aaron Son 634bdf3e30 integration-tests/go-sql-server-driver: sqlserver_lock_test.go: Add some integration tests for sql-server.lock file handling. 2023-11-29 14:28:04 -08:00
Aaron Son 0913c5eb8c integration-tests/go-sql-server-driver: sql-server-cluster-users-and-grants.yaml: branch_control_block_on_write_replication: Add an assertion on a connection to server2 after the branch control perms replicate, to ensure we don't send the TERM signal to the server process at the end of the test before it is fully started up. 2023-11-10 15:03:50 -08:00
Aaron Son ce544697da [no-release-notes] integration-tests/go-sql-server-driver: Change our approach to JWTs and X.509 certificates so that we generate what we need when we run the tests.
Fixes a bug where we had expiring certificates and JWTs in the repository and
old commits of the repository would stop passing integration tests and some
time in the future.
2023-11-01 12:54:48 -07:00
Neil Macneale IV 85155eda22 dependabot squash (#6916)
* Bump golang.org/x/net from 0.15.0 to 0.17.0 in /go

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.15.0 to 0.17.0.
- [Commits](https://github.com/golang/net/compare/v0.15.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump golang.org/x/net in /go/gen/proto/dolt/services/eventsapi

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.12.0 to 0.17.0.
- [Commits](https://github.com/golang/net/compare/v0.12.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump google.golang.org/grpc from 1.57.0 to 1.57.1 in /go

Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.57.0 to 1.57.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.57.0...v1.57.1)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump google.golang.org/grpc in /go/gen/proto/dolt/services/eventsapi

Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.55.0 to 1.56.3.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.55.0...v1.56.3)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* go mod tidy on integration-tests/go-sql-server-driver

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-31 11:00:36 -07:00
Aaron Son bbe8070270 integration-tests/go-sql-server-driver: sql-server-cluster.yaml: Add a test for dolt_cluster_transition_to_standby when there are no dolt databases. 2023-10-18 14:40:24 -07:00
Aaron Son 0c72ec5205 go: sqle: cluster: Take mysql and dolt_branch_control replication state into account when performing a graceful transition to standby. 2023-10-17 15:01:46 -07:00
Aaron Son 17c451c12e Merge remote-tracking branch 'origin/main' into aaron/undrop-cluster-tests 2023-10-06 17:20:22 -07:00
Aaron Son dcc009509e Merge remote-tracking branch 'origin/fulghum/undrop' into aaron/undrop-cluster-tests 2023-10-06 17:20:15 -07:00
Aaron Son de3eed8b73 go: sqle: cluster: Make users and grants replication respect dolt_cluster_ack_writes_timeout_secs. 2023-10-06 15:46:42 -07:00
Aaron Son 6376098755 go: sqle: cluster: Make branch control replication respect dolt_cluster_ack_writes_timeout_secs 2023-10-06 14:33:33 -07:00
Aaron Son dd798b09f4 integration-tests/go-sql-server-driver/go.mod: Use golang 1.21. 2023-10-05 13:51:36 -07:00
Aaron Son b381903a2f integration-tests/go-sql-server-driver: Add a test for undropping a cluster replicated database. 2023-10-04 10:14:20 -07:00
Aaron Son e8e122b2d4 Merge pull request #6767 from dolthub/aaron/fix-cluster-drop-database-race
go: sqle: cluster: Improvements for DROP DATABASE replication.
2023-10-04 10:13:48 -07:00
Aaron Son 7d412a14e8 go: sqle: cluster: Improvements for DROP DATABASE replication.
Fix a bug in session handling for the replication api endpoint which would
prevent a dropped database from being recreated on a replica.

Fix a race condition when a database is recreated after it is dropped. In that
case, we stop attempting to replicate the drop, so that it does not replicate
after the new database does.
2023-10-03 14:50:57 -07:00
Zach Musgrave 45d39371e3 upgraded deps of go sql driver tests 2023-10-03 10:05:11 -07:00
Aaron Son e4aa6ffad8 go/libraries/doltcore/sqle/cluster: First pass at replicating drop database. 2023-09-29 14:14:09 -07:00
Aaron Son 3b0ca8bb21 go/libraries/doltcore/sqle: cluster: When a database is dropped, shutdown the replication goroutines and stop returning its status in the dolt_cluster_status table. 2023-09-20 15:47:46 -07:00
Aaron Son 216d2e4aa1 integration-tests/go-sql-server-driver: Fix regression in single repo default database name tests. 2023-09-15 11:17:20 -07:00
Aaron Son 17a1e5019e go: dtestutils: sql_server_driver: Prepend the server stdout output with the server name to make multi-server test logs easier to read. 2023-09-14 14:24:01 -07:00
Aaron Son 1002a5d542 go: sqle: cluster: First pass at replicating branch control permissions. 2023-09-14 13:37:35 -07:00
Aaron Son 8021bc5f02 sqle: cluster: Set the engine to read-only when a replica is in standby mode. Set it back to read-write when it becomes primary.
This prevents standby replicas from running some DDL which they were previously
erroneously allowed to run, including CREATE USER, GRANT, CREATE DATABASE and
DROP DATABASE.
2023-09-01 10:47:23 -07:00
Aaron Son 48cf308d05 Merge pull request #6454 from dolthub/aaron/cluster-replication-users-and-grants
go/libraries/doltcore/sqle/cluster: Add replication of user and grant changes from primary to standby replicas.
2023-08-22 13:28:35 -07:00
Aaron Son 6d7c73575d dolt sql-server: Add a system_variables: key to config.yaml, which allows setting global system variables.
For example, this can be used to set `secure_file_priv` when the server starts
up. That variable is non-dynamic, so it cannot be set with `SET @@GLOBAL...`
2023-08-15 15:53:18 -07:00
Aaron Son 08f91f74a0 go/libraries/doltcore/sqle/cluster: Add replication of user and grant changes from primary to standby replicas. 2023-08-04 11:33:57 -07:00
Stephanie You d178f0dd6f update go-sql-driver for integration-tests 2023-07-23 17:10:11 -07:00
Aaron Son 3f9e8d6995 integration-tests/go-sql-server-driver: go.mod: go mod tidy. 2023-07-13 16:11:05 -07:00
Aaron Son fab46e22ed integration-tests/go-sql-server-driver/go.mod: go mod tidy. 2023-07-10 14:40:36 -07:00
Aaron Son c0b0cc42d1 dolt clone: Fix dolt clone run against a sql-server where the database has been GCd.
A long-standing bug in the remotesapi which the sql-server exposes could cause
a `dolt clone` to fail when running against a database which had been garbage
collected. This change fixes the bug in the server. It also patches the client
behavior so that it will tolerate responses from older versions of dolt.
2023-06-27 16:41:22 -07:00
Aaron Son 6314e27de9 Merge pull request #6204 from dolthub/aaron/cluster-assume-role-standby-changes
sqle: cluster: Add dolt_cluster_transition_to_standby stored procedure.
2023-06-22 14:03:13 -07:00
Aaron Son 155884711e sqle: cluster: dolt_cluster_transition_to_standby: Add logic to respect and enforce minCaughtUpReplicas. 2023-06-21 16:29:45 -07:00
Aaron Son 0a7cd7e033 sqle: cluster: dolt_cluster_transition_to_standby: Register the implementation (without transition transition thresholds) and test it. 2023-06-21 16:03:59 -07:00
Zach Musgrave 0b52f6c424 Revert "Revert "Merge pull request #5968 from dolthub/zachmu/tx-6""
This reverts commit bb03b8cb25.
2023-06-08 11:09:54 -07:00
Zach Musgrave bb03b8cb25 Revert "Merge pull request #5968 from dolthub/zachmu/tx-6"
This reverts commit 51c2129e51, reversing
changes made to 9692f6ef92.
2023-06-07 17:27:06 -07:00
Zach Musgrave e672c304ab Merge main 2023-06-06 15:17:07 -07:00
Taylor Bantle ea2e87eac8 Fix go-sql-server-driver tests 2023-06-05 13:39:58 -07:00
Taylor Bantle ed8f23481c Integration tests for load data ignore/replace 2023-06-05 13:23:35 -07:00
Zach Musgrave bff42f81fc Merge main 2023-06-02 13:08:13 -07:00
Maximilian Hoffman 0bfd57ae4d [no-release-notes] Pushdown refactor, deprecate sql.FilteredTable, ColumnDiffTable correctness (#6024)
* [no-release-notes] Pushdown refactor, deprecate sql.FilteredTable,
ColumnDiffTable correctness

Pushdown splitting into two phases uncovered bugs. sql.FilteredTable
is now deprecated. ColumnDiffTable correctness tests were never run
through the indexing path before, which are broken. This disables the
indexing path and runs the proper test suites.

* [ga-format-pr] Run go/utils/repofmt/format_repo.sh and go/Godeps/update.sh

* bump

* tidy

* missing interface method

* mod tidy

* formatter

---------

Co-authored-by: max-hoffman <max-hoffman@users.noreply.github.com>
2023-05-24 16:32:20 -07:00
Zach Musgrave 9b2cd87c57 Added a README 2023-05-22 13:49:32 -07:00
Zach Musgrave ae2b616add Added debug timeouts and a run single test method 2023-05-22 11:41:27 -07:00
Zach Musgrave a46ebe1f9f Added a debug port option to launch dlv, and fixed problems with graceful shutdown on windows 2023-05-19 18:38:38 -07:00
Aaron Son 6ea915ca4d Merge remote-tracking branch 'origin/main' into aaron/block-on-cluster-replication 2023-05-16 16:57:09 -07:00
Aaron Son 6ccae75a8d integration-tests/go-sql-server-driver: Add TestCluster/last_updated_heartbeats test which asserts that last_updated does not grow while there are no writes to replicate. 2023-05-16 14:21:41 -07:00
Aaron Son 535e59141d integration-tests/go-sql-server-driver: Cluster, dolt_cluster_ack_writes_timeout_secs, add a failing test to assert that dolt_branch modifications are waited on. 2023-05-15 14:00:04 -07:00
Aaron Son dfdb4a4b2a go: sqle: cluster: Implement a first pass at dolt_cluster_ack_writes_timeout_secs.
Setting this system variable to a non-zero value on a primary replica in a
sql-server cluster will cause dolt to block a SQL client performing a commit
until that client's commit is fully replicated to the replicas.

If there is a timeout, currently a warning is logged in the logs.
2023-05-11 15:50:43 -07:00