Fix status bug and backup minKnownCommittedVersion bug
This commit is contained in:
parent
0fc681cc3c
commit
df6b676ccb
|
@ -60,7 +60,7 @@ struct GrvProxyStats {
|
|||
txnDefaultPriorityStartOut("TxnDefaultPriorityStartOut", cc),
|
||||
txnThrottled("TxnThrottled", cc),
|
||||
grvLatencySample("GRVLatencyMetrics", id, SERVER_KNOBS->LATENCY_METRICS_LOGGING_INTERVAL, SERVER_KNOBS->LATENCY_SAMPLE_SIZE),
|
||||
grvLatencyBands("GRVLatencyMetrics", id, SERVER_KNOBS->STORAGE_LOGGING_DELAY) {
|
||||
grvLatencyBands("GRVLatencyBands", id, SERVER_KNOBS->STORAGE_LOGGING_DELAY) {
|
||||
logger = traceCounters("GrvProxyMetrics", id, SERVER_KNOBS->WORKER_LOGGING_INTERVAL, &cc, "GrvProxyMetrics");
|
||||
for(int i = 0; i < FLOW_KNOBS->BASIC_LOAD_BALANCE_BUCKETS; i++) {
|
||||
requestBuckets.push_back(0);
|
||||
|
|
|
@ -149,8 +149,8 @@ struct ProxyStats {
|
|||
lastCommitVersionAssigned(0),
|
||||
commitLatencySample("CommitLatencyMetrics", id, SERVER_KNOBS->LATENCY_METRICS_LOGGING_INTERVAL, SERVER_KNOBS->LATENCY_SAMPLE_SIZE),
|
||||
grvLatencySample("GRVLatencyMetrics", id, SERVER_KNOBS->LATENCY_METRICS_LOGGING_INTERVAL, SERVER_KNOBS->LATENCY_SAMPLE_SIZE),
|
||||
commitLatencyBands("CommitLatencyMetrics", id, SERVER_KNOBS->STORAGE_LOGGING_DELAY),
|
||||
grvLatencyBands("GRVLatencyMetrics", id, SERVER_KNOBS->STORAGE_LOGGING_DELAY) {
|
||||
commitLatencyBands("CommitLatencyBands", id, SERVER_KNOBS->STORAGE_LOGGING_DELAY),
|
||||
grvLatencyBands("GRVLatencyBands", id, SERVER_KNOBS->STORAGE_LOGGING_DELAY) {
|
||||
specialCounter(cc, "LastAssignedCommitVersion", [this](){return this->lastCommitVersionAssigned;});
|
||||
specialCounter(cc, "Version", [pVersion](){return *pVersion; });
|
||||
specialCounter(cc, "CommittedVersion", [pCommittedVersion](){ return pCommittedVersion->get(); });
|
||||
|
@ -1323,7 +1323,7 @@ ACTOR Future<Void> commitBatch(
|
|||
// by reporting commit version first before updating self->committedVersion. Otherwise, a client may get a commit
|
||||
// version that the master is not aware of, and next GRV request may get a version less than self->committedVersion.
|
||||
TEST(self->committedVersion.get() > commitVersion); // A later version was reported committed first
|
||||
if (SERVER_KNOBS->ASK_READ_VERSION_FROM_MASTER && commitVersion > self->committedVersion.get()) {
|
||||
if (SERVER_KNOBS->ASK_READ_VERSION_FROM_MASTER) {
|
||||
wait(self->master.reportLiveCommittedVersion.getReply(ReportRawCommittedVersionRequest(commitVersion, lockedAfter, metadataVersionAfter, self->minKnownCommittedVersion), TaskPriority::ProxyMasterVersionReply));
|
||||
}
|
||||
if( commitVersion > self->committedVersion.get() ) {
|
||||
|
|
|
@ -1628,7 +1628,7 @@ ACTOR static Future<vector<std::pair<MasterProxyInterface, EventMap>>> getProxie
|
|||
|
||||
ACTOR static Future<vector<std::pair<GrvProxyInterface, EventMap>>> getGrvProxiesAndMetrics(Reference<AsyncVar<ServerDBInfo>> db, std::unordered_map<NetworkAddress, WorkerInterface> address_workers) {
|
||||
vector<std::pair<GrvProxyInterface, EventMap>> results = wait(getServerMetrics(
|
||||
db->get().client.grvProxies, address_workers, std::vector<std::string>{ "GRVLatencyMetrics", "GrvLatencyBands" }));
|
||||
db->get().client.grvProxies, address_workers, std::vector<std::string>{ "GRVLatencyMetrics", "GRVLatencyBands" }));
|
||||
return results;
|
||||
}
|
||||
|
||||
|
|
|
@ -261,9 +261,9 @@ struct ConfigureDatabaseWorkload : TestWorkload {
|
|||
return Void();
|
||||
}
|
||||
|
||||
static int randomRoleNumber() {
|
||||
static int randomRoleNumber(int requiredNum = 1) {
|
||||
int i = deterministicRandom()->randomInt(0,4);
|
||||
return i ? i : -1;
|
||||
return i >= requiredNum ? i : -1;
|
||||
}
|
||||
|
||||
ACTOR Future<Void> singleDB( ConfigureDatabaseWorkload *self, Database cx ) {
|
||||
|
@ -302,7 +302,7 @@ struct ConfigureDatabaseWorkload : TestWorkload {
|
|||
config += generateRegions();
|
||||
|
||||
if (deterministicRandom()->random01() < 0.5) config += " logs=" + format("%d", randomRoleNumber());
|
||||
if (deterministicRandom()->random01() < 0.5) config += " proxies=" + format("%d", randomRoleNumber());
|
||||
if (deterministicRandom()->random01() < 0.5) config += " proxies=" + format("%d", randomRoleNumber(2));
|
||||
if (deterministicRandom()->random01() < 0.5) config += " resolvers=" + format("%d", randomRoleNumber());
|
||||
|
||||
wait(success( IssueConfigurationChange( cx, config, false ) ));
|
||||
|
|
Loading…
Reference in New Issue