Skip to content

Commit 74bd75c

Browse files
authored
Merge branch 'release-7.1' into r71
2 parents 339543a + 3a4641a commit 74bd75c

File tree

5 files changed

+36
-6
lines changed

5 files changed

+36
-6
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ else()
2323
endif()
2424

2525
project(foundationdb
26-
VERSION 7.1.24
26+
VERSION 7.1.25
2727
DESCRIPTION "FoundationDB is a scalable, fault-tolerant, ordered key-value store with full ACID transactions."
2828
HOMEPAGE_URL "http://www.foundationdb.org/"
2929
LANGUAGES C CXX ASM)

fdbserver/storageserver.actor.cpp

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1520,8 +1520,18 @@ Future<Version> waitForVersion(StorageServer* data, Version commitVersion, Versi
15201520
if (readVersion < data->oldestVersion.get() || readVersion <= 0) {
15211521
return transaction_too_old();
15221522
} else {
1523+
// It is correct to read any version between [commitVersion, readVersion],
1524+
// because version vector guarantees no mutations between them.
15231525
if (commitVersion < data->oldestVersion.get()) {
1524-
return data->oldestVersion.get();
1526+
if (data->version.get() < readVersion) {
1527+
// Majority of the case, try using higher version to avoid
1528+
// transaction_too_old error when oldestVersion advances.
1529+
// BTW, any version in the range [oldestVersion, data->version.get()] is valid in this case.
1530+
return data->version.get();
1531+
} else {
1532+
ASSERT(readVersion >= data->oldestVersion.get());
1533+
return readVersion;
1534+
}
15251535
} else if (commitVersion <= data->version.get()) {
15261536
return commitVersion;
15271537
}
@@ -3006,8 +3016,14 @@ ACTOR Future<GetKeyValuesReply> readRange(StorageServer* data,
30063016
data->counters.kvScanBytes += atStorageVersion.logicalSize();
30073017

30083018
ASSERT(atStorageVersion.size() <= limit);
3009-
if (data->storageVersion() > version)
3019+
if (data->storageVersion() > version) {
3020+
DisabledTraceEvent("SS_TTO", data->thisServerID)
3021+
.detail("StorageVersion", data->storageVersion())
3022+
.detail("Oldest", data->oldestVersion.get())
3023+
.detail("Version", version)
3024+
.detail("Range", range);
30103025
throw transaction_too_old();
3026+
}
30113027

30123028
// merge the sets in resultCache with the sets on disk, stopping at the last key from disk if there is
30133029
// 'more'
@@ -3099,8 +3115,14 @@ ACTOR Future<GetKeyValuesReply> readRange(StorageServer* data,
30993115
data->counters.kvScanBytes += atStorageVersion.logicalSize();
31003116

31013117
ASSERT(atStorageVersion.size() <= -limit);
3102-
if (data->storageVersion() > version)
3118+
if (data->storageVersion() > version) {
3119+
DisabledTraceEvent("SS_TTO", data->thisServerID)
3120+
.detail("StorageVersion", data->storageVersion())
3121+
.detail("Oldest", data->oldestVersion.get())
3122+
.detail("Version", version)
3123+
.detail("Range", range);
31033124
throw transaction_too_old();
3125+
}
31043126

31053127
int prevSize = result.data.size();
31063128
merge(result.arena,
@@ -3318,6 +3340,12 @@ ACTOR Future<Void> getKeyValuesQ(StorageServer* data, GetKeyValuesRequest req)
33183340

33193341
Version commitVersion = getLatestCommitVersion(req.ssLatestCommitVersions, data->tag);
33203342
state Version version = wait(waitForVersion(data, commitVersion, req.version, span.context));
3343+
DisabledTraceEvent("VVV", data->thisServerID)
3344+
.detail("Version", version)
3345+
.detail("ReqVersion", req.version)
3346+
.detail("Oldest", data->oldestVersion.get())
3347+
.detail("VV", req.ssLatestCommitVersions.toString())
3348+
.detail("DebugID", req.debugID.present() ? req.debugID.get() : UID());
33213349
data->counters.readVersionWaitSample.addMeasurement(g_network->timer() - queueWaitEnd);
33223350

33233351
state Optional<TenantMapEntry> tenantEntry = data->getTenantEntry(version, req.tenantInfo);

fdbserver/workloads/ConsistencyCheck.actor.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1343,6 +1343,8 @@ struct ConsistencyCheckWorkload : TestWorkload {
13431343
req.limitBytes = CLIENT_KNOBS->REPLY_BYTE_LIMIT;
13441344
req.version = version;
13451345
req.tags = TagSet();
1346+
req.debugID = debugRandom()->randomUniqueID();
1347+
DisabledTraceEvent("CCD", req.debugID.get()).detail("Version", version);
13461348

13471349
// Try getting the entries in the specified range
13481350
state std::vector<Future<ErrorOr<GetKeyValuesReply>>> keyValueFutures;

packaging/docker/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ RUN yum -y install \
178178
rm -rf /var/cache/yum
179179

180180
WORKDIR /tmp
181-
RUN curl -Ls https://s3.us-west-2.amazonaws.com/amazon-eks/1.22.6/2022-03-09/bin/linux/amd64/kubectl -o kubectl && \
181+
RUN NO_PROXY="" no_proxy="" curl -Ls https://s3.us-west-2.amazonaws.com/amazon-eks/1.22.6/2022-03-09/bin/linux/amd64/kubectl -o kubectl && \
182182
echo "860c3d37a5979491895767e7332404d28dc0d7797c7673c33df30ca80e215a07 kubectl" > kubectl.txt && \
183183
sha256sum --quiet -c kubectl.txt && \
184184
mv kubectl /usr/local/bin/kubectl && \

packaging/docker/Dockerfile.eks

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ RUN curl -Ls https://github.com/krallin/tini/releases/download/v0.19.0/tini-amd6
5353
mv tini /usr/bin/ && \
5454
rm -rf /tmp/*
5555

56-
RUN curl -Ls https://s3.us-west-2.amazonaws.com/amazon-eks/1.22.6/2022-03-09/bin/linux/amd64/kubectl -o kubectl && \
56+
RUN NO_PROXY="" no_proxy="" curl -Ls https://s3.us-west-2.amazonaws.com/amazon-eks/1.22.6/2022-03-09/bin/linux/amd64/kubectl -o kubectl && \
5757
echo "860c3d37a5979491895767e7332404d28dc0d7797c7673c33df30ca80e215a07 kubectl" > kubectl.txt && \
5858
sha256sum --quiet -c kubectl.txt && \
5959
mv kubectl /usr/local/bin/kubectl && \

0 commit comments

Comments
 (0)