From 4fbaa816ea952a05b47bb3c04462cc52c1b0b95f Mon Sep 17 00:00:00 2001 From: sfc-gh-tclinkenbeard Date: Sun, 23 Oct 2022 13:53:14 -0700 Subject: [PATCH] Fix several bugs in TransactionCostWorkload --- design/global-tag-throttling.md | 1 - fdbserver/workloads/TransactionCost.actor.cpp | 10 +++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/design/global-tag-throttling.md b/design/global-tag-throttling.md index 66fa9bd4ad..8b89c50b97 100644 --- a/design/global-tag-throttling.md +++ b/design/global-tag-throttling.md @@ -47,7 +47,6 @@ To clear a both reserved and total throughput quotas for a tag, run: fdbcli> quota clear ``` ->>>>>>> origin/main ### Limit Calculation The transaction budget that ratekeeper calculates and distributes to clients (via GRV proxies) for each tag is calculated based on several intermediate rate calculations, outlined in this section. diff --git a/fdbserver/workloads/TransactionCost.actor.cpp b/fdbserver/workloads/TransactionCost.actor.cpp index 2bef6c1e4a..93bebdf985 100644 --- a/fdbserver/workloads/TransactionCost.actor.cpp +++ b/fdbserver/workloads/TransactionCost.actor.cpp @@ -102,7 +102,7 @@ class TransactionCostWorkload : public TestWorkload { } int64_t expectedFinalCost() const override { - return CLIENT_KNOBS->GLOBAL_TAG_THROTTLING_RW_FUNGIBILITY_RATIO * CLIENT_KNOBS->READ_COST_BYTE_FACTOR; + return CLIENT_KNOBS->GLOBAL_TAG_THROTTLING_RW_FUNGIBILITY_RATIO * CLIENT_KNOBS->WRITE_COST_BYTE_FACTOR; } }; @@ -116,7 +116,7 @@ class TransactionCostWorkload : public TestWorkload { } int64_t expectedFinalCost() const override { - return 2 * CLIENT_KNOBS->GLOBAL_TAG_THROTTLING_RW_FUNGIBILITY_RATIO * CLIENT_KNOBS->READ_COST_BYTE_FACTOR; + return 2 * CLIENT_KNOBS->GLOBAL_TAG_THROTTLING_RW_FUNGIBILITY_RATIO * CLIENT_KNOBS->WRITE_COST_BYTE_FACTOR; } }; @@ -132,7 +132,7 @@ class TransactionCostWorkload : public TestWorkload { } int64_t expectedFinalCost() const override { - return 10 * CLIENT_KNOBS->GLOBAL_TAG_THROTTLING_RW_FUNGIBILITY_RATIO * CLIENT_KNOBS->READ_COST_BYTE_FACTOR; + return 10 * CLIENT_KNOBS->GLOBAL_TAG_THROTTLING_RW_FUNGIBILITY_RATIO * CLIENT_KNOBS->WRITE_COST_BYTE_FACTOR; } }; @@ -145,7 +145,7 @@ class TransactionCostWorkload : public TestWorkload { return Void(); } - int64_t expectedFinalCost() const override { return CLIENT_KNOBS->READ_COST_BYTE_FACTOR; } + int64_t expectedFinalCost() const override { return CLIENT_KNOBS->WRITE_COST_BYTE_FACTOR; } }; class ReadRangeTest : public ITest { @@ -224,7 +224,7 @@ class TransactionCostWorkload : public TestWorkload { try { for (int i = 0; i < 10; ++i) { tr.set(workload->getKey(self->testNumber, i), - workload->getValue(CLIENT_KNOBS->WRITE_COST_BYTE_FACTOR)); + workload->getValue(CLIENT_KNOBS->READ_COST_BYTE_FACTOR)); } wait(tr.commit()); return Void();