aboutsummaryrefslogtreecommitdiffstats
path: root/slobrok
diff options
context:
space:
mode:
authorArne Juul <arnej@verizonmedia.com>2021-04-19 13:06:38 +0000
committerArne Juul <arnej@verizonmedia.com>2021-04-19 19:33:50 +0000
commit9761e531ca3670b34f936848760e717ccf03bab5 (patch)
tree65423b1077ccc5ba947864fa204007dd34eab71a /slobrok
parent246727f124f974c7f1bb8e2727839fc3347312ea (diff)
simpler backoff test
* remove un-needed "static"
Diffstat (limited to 'slobrok')
-rw-r--r--slobrok/src/tests/backoff/testbackoff.cpp88
-rw-r--r--slobrok/src/vespa/slobrok/sbmirror.cpp2
-rw-r--r--slobrok/src/vespa/slobrok/sbregister.cpp2
3 files changed, 27 insertions, 65 deletions
diff --git a/slobrok/src/tests/backoff/testbackoff.cpp b/slobrok/src/tests/backoff/testbackoff.cpp
index e3d799bfb72..40ca1ac17ba 100644
--- a/slobrok/src/tests/backoff/testbackoff.cpp
+++ b/slobrok/src/tests/backoff/testbackoff.cpp
@@ -11,85 +11,47 @@ TEST_SETUP(Test);
//-----------------------------------------------------------------------------
-static double expectWait[21] = {
- 0.5, 1.0, 1.5, 2.0, 2.5,
- 3.0, 3.5, 4.0, 4.5,
- 5.0, 6.0, 7.0, 8.0, 9.0,
- 10, 15, 20, 25, 30, 30, 30
-};
-
int
Test::Main()
{
TEST_INIT("backoff_test");
BackOff one;
- EXPECT_FALSE(one.shouldWarn());
- EXPECT_EQUAL(0.500, one.get());
- EXPECT_FALSE(one.shouldWarn());
- EXPECT_EQUAL(1.000, one.get());
- EXPECT_FALSE(one.shouldWarn());
- EXPECT_EQUAL(1.500, one.get());
- EXPECT_FALSE(one.shouldWarn());
- EXPECT_EQUAL(2.000, one.get());
- EXPECT_TRUE(one.shouldWarn());
-
- EXPECT_EQUAL(2.500, one.get());
- EXPECT_FALSE(one.shouldWarn());
- EXPECT_EQUAL(3.000, one.get());
- EXPECT_FALSE(one.shouldWarn());
- EXPECT_EQUAL(3.500, one.get());
- EXPECT_FALSE(one.shouldWarn());
- EXPECT_EQUAL(4.000, one.get());
- EXPECT_FALSE(one.shouldWarn());
- EXPECT_EQUAL(4.500, one.get());
EXPECT_TRUE(one.shouldWarn());
-
- EXPECT_EQUAL(5.000, one.get());
- EXPECT_FALSE(one.shouldWarn());
- EXPECT_EQUAL(6.000, one.get());
- EXPECT_FALSE(one.shouldWarn());
- EXPECT_EQUAL(7.000, one.get());
- EXPECT_FALSE(one.shouldWarn());
- EXPECT_EQUAL(8.000, one.get());
- EXPECT_FALSE(one.shouldWarn());
- EXPECT_EQUAL(9.000, one.get());
- EXPECT_FALSE(one.shouldWarn());
- EXPECT_EQUAL(10.00, one.get());
- EXPECT_FALSE(one.shouldWarn());
- EXPECT_EQUAL(15.00, one.get());
- EXPECT_FALSE(one.shouldWarn());
- EXPECT_EQUAL(20.00, one.get());
- EXPECT_TRUE(one.shouldWarn());
-
- EXPECT_EQUAL(25.00, one.get());
- EXPECT_FALSE(one.shouldWarn());
- EXPECT_EQUAL(30.00, one.get());
- EXPECT_FALSE(one.shouldWarn());
- EXPECT_EQUAL(30.00, one.get());
- EXPECT_FALSE(one.shouldWarn());
- EXPECT_EQUAL(30.00, one.get());
- EXPECT_FALSE(one.shouldWarn());
- EXPECT_EQUAL(30.00, one.get());
- EXPECT_FALSE(one.shouldWarn());
- EXPECT_EQUAL(30.00, one.get());
- EXPECT_FALSE(one.shouldWarn());
-
+ EXPECT_EQUAL(0.500, one.get());
+ for (int i = 2; i < 41; i++) {
+ EXPECT_EQUAL(0.5 * i, one.get());
+ }
+ for (int i = 1; i < 1000; i++) {
+ EXPECT_EQUAL(20.0, one.get());
+ }
TEST_FLUSH();
BackOff two;
- for (int i = 0; i < 21; i++) {
- EXPECT_EQUAL(expectWait[i], two.get());
- if (i == 3 || i == 8 || i == 16) {
+ for (int i = 1; i < 50; i++) {
+ double expect = 0.5 * i;
+ if (expect > 20.0) expect = 20.0;
+ EXPECT_EQUAL(expect, two.get());
+ if (i == 1 || i == 7 || i == 18) {
EXPECT_TRUE(two.shouldWarn());
} else {
EXPECT_FALSE(two.shouldWarn());
}
}
two.reset();
- for (int i = 0; i < 21; i++) {
- EXPECT_EQUAL(expectWait[i], two.get());
- if (i == 7 || i == 15) {
+ for (int i = 1; i < 50; i++) {
+ double expect = 0.5 * i;
+ if (expect > 20.0) expect = 20.0;
+ EXPECT_EQUAL(expect, two.get());
+ if (i == 1 || i == 7 || i == 18) {
+ EXPECT_TRUE(two.shouldWarn());
+ } else {
+ EXPECT_FALSE(two.shouldWarn());
+ }
+ }
+ for (int i = 0; i < 50000; i++) {
+ EXPECT_EQUAL(20.0, two.get());
+ if ((i % 180) == 5) {
EXPECT_TRUE(two.shouldWarn());
} else {
EXPECT_FALSE(two.shouldWarn());
diff --git a/slobrok/src/vespa/slobrok/sbmirror.cpp b/slobrok/src/vespa/slobrok/sbmirror.cpp
index 8d5a0e39c6a..6aff47e13fd 100644
--- a/slobrok/src/vespa/slobrok/sbmirror.cpp
+++ b/slobrok/src/vespa/slobrok/sbmirror.cpp
@@ -264,7 +264,7 @@ MirrorAPI::handleReconnect()
double delay = _backOff.get();
reSched(delay);
std::string cps = _slobrokSpecs.logString();
- static const char * const msgfmt = "no location brokers available, retrying: %s (in %.1f seconds)";
+ const char * const msgfmt = "no location brokers available, retrying: %s (in %.1f seconds)";
if (_backOff.shouldWarn()) {
LOG(warning, msgfmt, cps.c_str(), delay);
} else {
diff --git a/slobrok/src/vespa/slobrok/sbregister.cpp b/slobrok/src/vespa/slobrok/sbregister.cpp
index 7ec3325a22a..06a9fb2d79e 100644
--- a/slobrok/src/vespa/slobrok/sbregister.cpp
+++ b/slobrok/src/vespa/slobrok/sbregister.cpp
@@ -192,7 +192,7 @@ RegisterAPI::handleReconnect()
// possibly with a warning.
double delay = _backOff.get();
Schedule(delay);
- static const char * const msgfmt = "[RPC @ %s] no location brokers available, retrying: %s (in %.1f seconds)";
+ const char * const msgfmt = "[RPC @ %s] no location brokers available, retrying: %s (in %.1f seconds)";
vespalib::string cps = _slobrokSpecs.logString();
if (_backOff.shouldWarn()) {
LOG(warning, msgfmt, createSpec(_orb).c_str(), cps.c_str(), delay);