Skip to content

Commit c63a85b

Browse files
craig[bot]herkolateganrharding6373benbardinpav-kv
committed
148594: roachprod: add stop option to reset VM failure r=srosenberg,DarrylWong a=herkolategan When the reset VM failure is injected, we now have the option to stop the processes before restarting the cluster. This change also improves process management by starting the processes in the correct order (System interface first, then tenants). Epic: None Release note: None 149119: changefeedccl: fix race advancing frontier in schemafeed r=rharding6373 a=rharding6373 In the schema feed, when in `updateTableHistory`, we check that the current frontier is less than the current time. However, since we release the mutex protecting frontier while validating table descriptors, it's possible for another routine to advance the frontier before the first routine tries to advance it. For example, another routine may call pauseOrResumePolling and pause polling at the same time it advances the frontier.As a consequence, it's possible for the first routine to assert fail due to the current frontier being greater than the current time when it tries to advance it. This change fixes this race by checking that the frontier is greater than the current time (endTS) again before trying to advance the frontier. If the frontier is less than or equal to the current time, the frontier does not need to be advanced and it returns. It's worth keeping the original check in, since it avoids the need to validate descriptors, and releasing the mutex also prevents the routine from holding it while validating. Epic: none Fixes: #148963 Release note (bug fix): Fixes a race condition when advancing a changefeed aggregator's frontier. When hit, the race condition could result in an internal error that would shut down the kvfeed and cause the changefeed to retry. 149262: cockroach-go: bump to latest r=benbardin a=benbardin Release notes: none Epic: none 149334: kvserver: embed timestamp to the queued element r=tbg a=pav-kv Tying the `queued` timestamp to the `rangeID` in the raft scheduler queue makes its scope intuitive, and eliminates the need for an invariant and checks. Follows up on #147913 Co-authored-by: Herko Lategan <[email protected]> Co-authored-by: rharding6373 <[email protected]> Co-authored-by: Ben Bardin <[email protected]> Co-authored-by: Pavel Kalinnikov <[email protected]>
5 parents dd107f0 + c1770b4 + 72b992c + 7e97da4 + 49ba20d commit c63a85b

File tree

11 files changed

+280
-194
lines changed

11 files changed

+280
-194
lines changed

DEPS.bzl

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1735,10 +1735,10 @@ def go_deps():
17351735
name = "com_github_cockroachdb_cockroach_go_v2",
17361736
build_file_proto_mode = "disable_global",
17371737
importpath = "github.com/cockroachdb/cockroach-go/v2",
1738-
sha256 = "028c29c79c2d373bca3ce9a475291285fdcb68a2f908190f738d5ce605edbd07",
1739-
strip_prefix = "github.com/cockroachdb/cockroach-go/v2@v2.3.7",
1738+
sha256 = "ba646db91152f3121a6812c7b74d12d8c0e126f7b4d3b927618b159692ceb424",
1739+
strip_prefix = "github.com/cockroachdb/cockroach-go/v2@v2.4.1",
17401740
urls = [
1741-
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/cockroach-go/v2/com_github_cockroachdb_cockroach_go_v2-v2.3.7.zip",
1741+
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/cockroachdb/cockroach-go/v2/com_github_cockroachdb_cockroach_go_v2-v2.4.1.zip",
17421742
],
17431743
)
17441744
go_repository(
@@ -3796,10 +3796,10 @@ def go_deps():
37963796
name = "com_github_gofrs_flock",
37973797
build_file_proto_mode = "disable_global",
37983798
importpath = "github.com/gofrs/flock",
3799-
sha256 = "9ace5b0a05672937904fba1fcb86cb45e7f701e508faeb5f612e243340351dfa",
3800-
strip_prefix = "github.com/gofrs/flock@v0.8.1",
3799+
sha256 = "fe8242a48c3109148d988433301bd8ab3cd1d0430a21af07e601f9b0671923e8",
3800+
strip_prefix = "github.com/gofrs/flock@v0.12.1",
38013801
urls = [
3802-
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/gofrs/flock/com_github_gofrs_flock-v0.8.1.zip",
3802+
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/gofrs/flock/com_github_gofrs_flock-v0.12.1.zip",
38033803
],
38043804
)
38053805
go_repository(
@@ -5105,20 +5105,20 @@ def go_deps():
51055105
name = "com_github_jackc_pgservicefile",
51065106
build_file_proto_mode = "disable_global",
51075107
importpath = "github.com/jackc/pgservicefile",
5108-
sha256 = "1f8bdf75b2a0d750e56c2a94b1d1b0b5be4b29d6df056aebd997162c29bfd8ab",
5109-
strip_prefix = "github.com/jackc/[email protected]20221227161230-091c0ba34f0a",
5108+
sha256 = "c9e31c91aebf96eb246bd410d1849cc7666d955a1e20ca2eba1c30b4eb89335f",
5109+
strip_prefix = "github.com/jackc/[email protected]20240606120523-5a60cdf6a761",
51105110
urls = [
5111-
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/jackc/pgservicefile/com_github_jackc_pgservicefile-v0.0.0-20221227161230-091c0ba34f0a.zip",
5111+
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/jackc/pgservicefile/com_github_jackc_pgservicefile-v0.0.0-20240606120523-5a60cdf6a761.zip",
51125112
],
51135113
)
51145114
go_repository(
51155115
name = "com_github_jackc_pgtype",
51165116
build_file_proto_mode = "disable_global",
51175117
importpath = "github.com/jackc/pgtype",
5118-
sha256 = "3acb69a66e7e432c010d503425810620d04c304166c45083fa8a96feca13054d",
5119-
strip_prefix = "github.com/jackc/[email protected].1",
5118+
sha256 = "24eb1112e74a18ba22ef7b47f59808060ddef00b98c2ade780d81b283e40f676",
5119+
strip_prefix = "github.com/jackc/[email protected].3",
51205120
urls = [
5121-
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/jackc/pgtype/com_github_jackc_pgtype-v1.14.1.zip",
5121+
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/jackc/pgtype/com_github_jackc_pgtype-v1.14.3.zip",
51225122
],
51235123
)
51245124
go_repository(
@@ -5135,10 +5135,10 @@ def go_deps():
51355135
name = "com_github_jackc_pgx_v5",
51365136
build_file_proto_mode = "disable_global",
51375137
importpath = "github.com/jackc/pgx/v5",
5138-
sha256 = "221749d6187aaeeb14097a41f2510689eaf35245ef77d243a1f69dc23605d2a2",
5139-
strip_prefix = "github.com/jackc/pgx/v5@v5.5.5",
5138+
sha256 = "c4b5a22a3f3db2e764f5b4df65ad1b2550d4587b3640f73ab27b868136ef9018",
5139+
strip_prefix = "github.com/jackc/pgx/v5@v5.7.2",
51405140
urls = [
5141-
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/jackc/pgx/v5/com_github_jackc_pgx_v5-v5.5.5.zip",
5141+
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/jackc/pgx/v5/com_github_jackc_pgx_v5-v5.7.2.zip",
51425142
],
51435143
)
51445144
go_repository(
@@ -5155,10 +5155,10 @@ def go_deps():
51555155
name = "com_github_jackc_puddle_v2",
51565156
build_file_proto_mode = "disable_global",
51575157
importpath = "github.com/jackc/puddle/v2",
5158-
sha256 = "6698895617fabb929fa1ac868ad5253e02a997888bf5c6004379c5b29eedee58",
5159-
strip_prefix = "github.com/jackc/puddle/[email protected].1",
5158+
sha256 = "f1f0789098a0bcb5ff3c7024f9ee387a6748446e1bc6713b13a63d763a9fb11e",
5159+
strip_prefix = "github.com/jackc/puddle/[email protected].2",
51605160
urls = [
5161-
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/jackc/puddle/v2/com_github_jackc_puddle_v2-v2.2.1.zip",
5161+
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/jackc/puddle/v2/com_github_jackc_puddle_v2-v2.2.2.zip",
51625162
],
51635163
)
51645164
go_repository(
@@ -5275,10 +5275,10 @@ def go_deps():
52755275
name = "com_github_jinzhu_now",
52765276
build_file_proto_mode = "disable_global",
52775277
importpath = "github.com/jinzhu/now",
5278-
sha256 = "245473b8e50be3897751ec66dd6be93588de261920e0345b500f692924575872",
5279-
strip_prefix = "github.com/jinzhu/[email protected].4",
5278+
sha256 = "1223dc55db616f156c1f1467adc2c88f786905df3cc3cb4fd5161badd654c62b",
5279+
strip_prefix = "github.com/jinzhu/[email protected].5",
52805280
urls = [
5281-
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/jinzhu/now/com_github_jinzhu_now-v1.1.4.zip",
5281+
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/jinzhu/now/com_github_jinzhu_now-v1.1.5.zip",
52825282
],
52835283
)
52845284
go_repository(
@@ -5305,10 +5305,10 @@ def go_deps():
53055305
name = "com_github_jmoiron_sqlx",
53065306
build_file_proto_mode = "disable_global",
53075307
importpath = "github.com/jmoiron/sqlx",
5308-
sha256 = "5900777a64016e4a5b3847126ef4bed4ed5d3543ed980ae8a79ab110c9da8fc6",
5309-
strip_prefix = "github.com/jmoiron/sqlx@v1.3.5",
5308+
sha256 = "992ac9b6a33b12bd8e411ce9c9699231f8ac8550812805660b7ee06676bdc3ad",
5309+
strip_prefix = "github.com/jmoiron/sqlx@v1.4.0",
53105310
urls = [
5311-
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/jmoiron/sqlx/com_github_jmoiron_sqlx-v1.3.5.zip",
5311+
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/jmoiron/sqlx/com_github_jmoiron_sqlx-v1.4.0.zip",
53125312
],
53135313
)
53145314
go_repository(
@@ -5929,10 +5929,10 @@ def go_deps():
59295929
name = "com_github_lib_pq",
59305930
build_file_proto_mode = "disable_global",
59315931
importpath = "github.com/lib/pq",
5932-
sha256 = "5d339f4296dcf650b4cec6b58e44988f8bbf7a4ca4bb9fff6e0421464efd7612",
5933-
strip_prefix = "github.com/lib/[email protected].7",
5932+
sha256 = "6791a7af67f846a86335350012c4efadd0850096ebf22350b7b20e01e216e6f2",
5933+
strip_prefix = "github.com/lib/[email protected].9",
59345934
urls = [
5935-
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/lib/pq/com_github_lib_pq-v1.10.7.zip",
5935+
"https://storage.googleapis.com/cockroach-godeps/gomod/github.com/lib/pq/com_github_lib_pq-v1.10.9.zip",
59365936
],
59375937
)
59385938
go_repository(
@@ -10776,20 +10776,20 @@ def go_deps():
1077610776
name = "io_gorm_driver_postgres",
1077710777
build_file_proto_mode = "disable_global",
1077810778
importpath = "gorm.io/driver/postgres",
10779-
sha256 = "834b2c3a1ddf3fe5dc3b34614365205d9007d51f243b688b467dff9d44e9fc8c",
10780-
strip_prefix = "gorm.io/driver/postgres@v1.3.5",
10779+
sha256 = "a6ef6708ce8b1f48a06fa7624952eea6da525543b2769b4393dbedd075fe6435",
10780+
strip_prefix = "gorm.io/driver/postgres@v1.5.11",
1078110781
urls = [
10782-
"https://storage.googleapis.com/cockroach-godeps/gomod/gorm.io/driver/postgres/io_gorm_driver_postgres-v1.3.5.zip",
10782+
"https://storage.googleapis.com/cockroach-godeps/gomod/gorm.io/driver/postgres/io_gorm_driver_postgres-v1.5.11.zip",
1078310783
],
1078410784
)
1078510785
go_repository(
1078610786
name = "io_gorm_gorm",
1078710787
build_file_proto_mode = "disable_global",
1078810788
importpath = "gorm.io/gorm",
10789-
sha256 = "34219a6d2ac9b9c340f811e5863a98b150db6d1fd5b8f02777299863c1628e0f",
10790-
strip_prefix = "gorm.io/gorm@v1.23.5",
10789+
sha256 = "74f4fae208a8a5622612f6f3cadd01c8122074be1dd652017ddf4aa1f22c7351",
10790+
strip_prefix = "gorm.io/gorm@v1.25.12",
1079110791
urls = [
10792-
"https://storage.googleapis.com/cockroach-godeps/gomod/gorm.io/gorm/io_gorm_gorm-v1.23.5.zip",
10792+
"https://storage.googleapis.com/cockroach-godeps/gomod/gorm.io/gorm/io_gorm_gorm-v1.25.12.zip",
1079310793
],
1079410794
)
1079510795
go_repository(

0 commit comments

Comments
 (0)