• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

apache / bookkeeper / 904
72%

Build:
DEFAULT BRANCH: master
Ran 13 Aug 2020 05:56PM UTC
Jobs 1
Files 547
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
904

push

jenkins

GitHub
Bookie Client add quarantine ratio when error count exceed threshold

### Motivation
When bookie client read/write data from/to bookie servers, it will check the health of each connected server in sepecific interval. Once the amount of errors reached the threshold, the bookie server will be quarantined for server miniutes (configurated by `bookieQuarantineTimeSeconds`) by the bookie client.

In most circumstance, there are large amount of bookie clients connected to one bookie server, like pulsar broker. Once the bookie server runs in heavy load, most of bookie clients will receive errors and trigger quarantine in the same time, and then quarantine the server for several miniutes. After a few miniutes passed by, the quarantined server will be put back in the same time for most bookie clients, which will lead to periodic oscillation of in/out throughput of the server. It is the obstacle of tunning the throughput of the bookkeeper cluster.

### Changes
I introduce a quarantine probability to determine whether to quarantine the server for the client, avoiding quaraninte the heavy load server in the same time for most of bookie client.

I also expose the quarantine stats to prometheus.

Reviewers: Jia Zhai <zhaijia@apache.org>, Sijie Guo <None>

This closes #2327 from hangc0276/bookieClient_Quarantine_ratio

9 of 9 new or added lines in 2 files covered. (100.0%)

28611 of 39957 relevant lines covered (71.6%)

0.72 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
100.0
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookKeeper.java
2
100.0
bookkeeper-server/src/main/java/org/apache/bookkeeper/conf/ClientConfiguration.java

Uncovered Existing Lines

Lines Coverage ∆ File
1
100.0
bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/EntryLogManagerForSingleEntryLog.java
2
100.0
bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/AbstractHierarchicalLedgerManager.java
2
100.0
bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/AbstractZkLedgerManager.java
2
100.0
bookkeeper-server/src/main/java/org/apache/bookkeeper/replication/AuditorElector.java
3
100.0
bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Journal.java
3
100.0
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerRecoveryOp.java
3
100.0
bookkeeper-server/src/main/java/org/apache/bookkeeper/util/collections/ConcurrentLongLongHashMap.java
7
100.0
bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/PerChannelBookieClient.java
8
100.0
bookkeeper-server/src/main/java/org/apache/bookkeeper/tools/cli/helpers/CommandHelpers.java
9
100.0
bookkeeper-benchmark/src/main/java/org/apache/bookkeeper/benchmark/BenchThroughputLatency.java
20
100.0
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookKeeperAdmin.java
363
100.0
bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/BookieShell.java
Jobs
ID Job ID Ran Files Coverage
1 904.1 13 Aug 2020 05:56PM UTC 0
71.6
Source Files on build 904
  • Tree
  • List 547
  • Changed 25
  • Source Changed 6
  • Coverage Changed 24
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Jenkins Build #904
  • 7645cb83 on github
  • Prev Build on master (#902)
  • Next Build on master (#905)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc