You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bookkeeper.apache.org by gi...@apache.org on 2023/03/01 01:55:25 UTC

[bookkeeper] branch dependabot/maven/junit-junit-4.13.1 updated (0d371eb5f0 -> dabba92d33)

This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a change to branch dependabot/maven/junit-junit-4.13.1
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git


 discard 0d371eb5f0 Bump junit from 4.12 to 4.13.1
     add 988b92d9d3 Add static declaration for useFallocate in DirectWriter (#3388)
     add 07e7940824 Make BookieFileChannel interface public (#3396)
     add 207368b254 [security] Upgrade Jetty to 9.4.48.v20220622 to get rid of CVE-2022-2047 (#3404)
     add 79808dccb0 add writeThreadQueuedLatency (#3363)
     add 8f36ebc659 stage 7: just add log for indexDirs (#3401)
     add 93f2028175 stage 8: bugfix indexDirs for LedgersIndexCheckOp (#3402)
     add f0a198e2b3 stage 9: bugfix indexDirs for LedgersIndexRebuildOp (#3403)
     add ba22beeb0a Rename bookkeeper metrics to specify OpenMetrics (#3406)
     add fcb714999c Fix JVM exited when running localbookie with jdk17 (#3334)
     add c687524cae stage 10: bugfix indexDirs for ConvertToInterleavedStorageCommand (#3409)
     add 6b03b012f7 [website] Remove alert for non mantained releases (#3411)
     add 0b910db875 Issue 3206: Flaky-test: BookieZKExpireTest.testBookieServerZKExpireBehaviour (#3415)
     add 92cdf5bfd2 Switch back ordered executor to LinkedBlockingQueue (#3384)
     add 34746858b4 Added flag to control whether to transition to read-only mode when any disks full (#3212)
     add 93a6f67029 use LinkedList to take place of ArrayList. (#3330)
     add 1825677b1e [Issue 3389] Prioritize compaction of entry logs with the lowest amount of remaining usable data (#3390)
     add 590de2b0e2 If ensembleList is empty, return PlacementPolicyAdherence.FAIL. (#3369)
     add 03255bbd39 enhance future sync wait. (#3336)
     add 1908b7ecdb Stable testBookieContinueWritingIfMultipleLedgersPresent test (#3421)
     add ded05aa221 fix underReplicatedLedgerTotalSize calculate problem. (#3337)
     add cb70194be6 avoid init WriteSet when waitForWriteSetMs < 0. (#3325)
     add f181325b9f validate diskUsageThreshold and diskUsageLwmThreshold (#3285)
     add da1b29a510 Fix autoRecover memory leak. (#3361)
     add de70f4fa6b Consolidate Netty channel flushes to mitigate syscall overhead (#3383)
     add a5805476cd Optimize concurrent collection's shrink logic (#3417)
     add 3e22cfb257 Remove useless and duplicated ledger directory usage metric (#3156)
     add 39a9c281a6 Fix the 3141 revert issue (#3283)
     add 82e87f24a8 Fix typo in bookkeeper-proposals.md (#3427)
     add 505ee5fcd4 BP-50: Add reuse journal file feature to support Intel PMem disk (#3194)
     add ca7d7c23e3 Pre break loop when self create layoutZNode succeed. (#3335)
     add e345321cef [improve][client] release the bookie from QuarantinedBookies when health check is disabled (#3349)
     add 01c8824157 update ALLOCATOR_POOLING_CONCURRENCY default value (#3001)
     add 333a11f28a fix check style (#3429)
     add eef34477be Fix wrong ledger id parse radix for index relocation file in IndexPersistenceMgr (#2944)
     add 442e3bbad3 Fix the infinite waiting for shutdown due to throttler limit (#2942)
     add f71b26ac09 Bump puppycrawl checkstyle version from 6.19 to 7.8.2 (#3425)
     add 05ca058444 Make sure the LedgerHandle close callback can be completed when encounter exception (#2913)
     add 9be4eca585 fix Flaky-test: testBookieShouldTurnWritableFromReadOnly (#3423)
     add 35c71ab162 add metric cbThreadPoolQueueSize (#3424)
     add cefe9d44da [ISSUE 2637] Fix jvm_memory_direct_bytes_used metrics when using jdk11+ (#3252)
     add 6520a45724 [conf] minorCompactionInterval should be greater than gcWaitTime (#2116)
     add 4ee8c04118 Bump puppycrawl checkstyle version from 7.8.2 to 9.3 (#3311)
     add 8c557f9f16 upgrade log4j2 to 2.18.0 (#3434)
     add 67208fb741 issue #2879 : let bookie quit if journal thread exit (#2887)
     add f06800c02e indexDir compatible fix for issue #3430 (#3433)
     add c31dff9ff8 BP-41 Add flag to enable/disable BookieAddressResolver (#3356)
     add 966b865973 Issue #2908: Replace unsafe NoEntryException with IOException (#2909)
     add 8e7dcb784c Bump version for release 4.16 (#3436)
     add 7bd0da4e09 Bump terser from 5.12.0 to 5.14.2 in /site3/website (#3414)
     add 942fadd439 Revert some unwanted changes in commit 3309 (#3438)
     add de5d45fb82 Bump vertx version from 3.9.8 to 4.3.2 (#3435)
     add 19fd8f7426 Add latency stats for entry location index lookup so that possible RocksDB bottleneck can be detected (#3444)
     add 1cbde1a31c Fix the tls failed test (#3448)
     add be00ab5fae Fix wrong stats name (#3450)
     add 854dd7d861 Add .asf.yaml for configuring the project (#3439)
     add d9bcc8bde2 bugfix for .asf.yaml (#3451)
     add 03d38a7639 WriteLacResponse should be processed in the same thread as other requ… (#3452)
     add 149ecd93e7 required_approving_review_count update (#3453)
     add dcc9a414ea move forceWriteMarkerSent out of loop of ForceWriteThread to avoid frequently forceWrite (#3454)
     add f1b2256f9f Make netty acceptor threadPool size configurable (#3153)
     add 7dc5692b4c [ci] Cache maven dependencies (#3461)
     add b13dd20f0a [BOOKIE-SHELL]fix queryautorecoverystatus command (#3459) (#3460)
     add 8954d9848e Skip runs the workflow when only have site related changes (#3462)
     add d5ab02a07c Add 4.15.1 release note (#3440)
     add a266c92aca Add powermock global configuration (#3467)
     add 1adc0414bd Optimize log for failed to write entry (#3463)
     add fc981ba04b Feature: auto recover support repaired not adhering placement ledger (#3359)
     add a0acdfefc4 Bump dependency check to 7.1.2 to avoid FP (#3470)
     add 457eaf8dbc Bump snakeyaml from 1.30 to 1.31 to solve CVE-2022-25857 (#3469)
     add eadac6297e Bump jcommander from 1.78 to 1.82 (#3476)
     add be7053b850 clean code for BookKeeperServerStats (#3478)
     add 70e9477937 Bump netty version to 4.1.79.Final (#3479)
     add 3c18ee7ad5 optimize SlowBookieTest (#3484)
     add 6fa13ecdfc Add missed call to onReadRequestFinish() when read request rejected (#3482)
     add 87c8bcb31c Bump netty version to 4.1.81.Final (#3481)
     add 70bbc3830f Fix the deadlock when only using io thread to handle request (#3480)
     add 27210ea795 Add option to clean up test ledger after simpletest. (#3474)
     add aba568087c upgrade hadoop version to 3.2.4 (#3485)
     add 2b1a24543b Add 4.15.1 to versions file (#3475)
     add ef89ff296a Migrate Dockerfile from centos to ubuntu and python3 (#3483)
     add 6fc2e08d53 AutoRecovery - Do not call shutdown() on the main ZookKeeper client thread (#3487)
     add d14d696b13 Migrate centos7 to ubuntu 22.10, reduce image size (#3492)
     add fc85ce0bbe Bump snakeyaml from 1.31 to 1.32 to solve CVE-2022-38752 (#3491)
     add 1313b8e2e7 Check if channel closed before processing read request (#3486)
     add 7004d99493 Speed up the rebuildinding of RocksDB index (#3458)
     add 112f232b36 docs: fix bookkeeper command path in decommission doc (#3499)
     add 1e387f8ef3 unified latency metric unit (#3501)
     add 74a87e260b ledgerFragment check and results keep order (#3504)
     add 21560fb9af Issue 3070: Fix bug where checkAllLedgers gets stuck when read throttling is enabled (#3214)
     add 1294c00cdd disable direct IO test on windows (#3515)
     add 21357087f0 LedgerHandle: do not complete metadata operation on the ZookKeeper/Metadata callback thread (#3516)
     add 2734e8bcec LedgerOpenOp: Do not call blocking close() in the callback (#3513)
     add bc87bfbea5 Reduce unnecessary loop in removeIf if section is empty (#3512)
     add 2b981bd63a Add release 4.15.2 release note (#3500)
     add 6e43c0a8c6 Bump jackson version to 2.13.4 (#3518)
     add 570bb1d61a Generate 4.15.2 docs (#3520)
     add 62155369d1 Fix byteBuf potential memory leak problem. (#3525)
     add cbb74eab4f Adjust log stack output (#3496)
     add c9055c40e3 Create CONTRIBUTING.md (#3533)
     add e313f60d48 Make the rocksDB configuration compatible with previous versions (#3523)
     add 7f1842bd66 Replication throttle rate support dynamic set (#3157)
     add 30bdedc25a Fix memory leak when reading entry but the connection disconnected. (#3528)
     add b63cca8bbb Use BlockingQueue.drainTo() in JournalForceWrite thread (#3545)
     add 5c6e78f5f4 Show content of map (#3538)
     add 2e1a2f0acd Rename success with writableResult and update final writableResult about wait writeSet (#3505)
     add dbec4e91ec fix close ledgerAuditorManager repeatedly (#3503)
     add 3083412b1c [website]Declare the bookkeeper shell queryautorecoverystatuscommand on the web site #3536 (#3537)
     add 255416a855 <Issue #3534>[website]fix website mailing_lists_url/slack_url (#3535)
     add 16a4365d7d Use BlockingQueue.drainTo() in Journal thread (#3544)
     add dff6d03a59 Use SingleThreadExecutor for OrderedExecutor and drainTo() tasks into local array (#3546)
     add d5e86038d8 [docs] fix mistake in ledger api docs (#3566)
     add c76e549fc9 fix flaky-test testWriteSetWriteableCheck (#3555)
     add 1966512a21 Update website to record the RocksDB configuration changes (#3540)
     add 9d17efa431 [website][fix]Repair `sequential nodes` address (#3569)
     add cfc6b9770f skipping placementPolicyCheck when ledger replication disabled (#3561)
     add c97b57635b Flush time started moved to after lock (#3570)
     add a58f11ff13 Change masterKeyCache to dynamic size (#3522)
     add ec79daa6c7 Single thread executor should not have max capacity by default (#3575)
     add 1704ca43d6 skip replicasCheck when replication disabled (#3563)
     add e169cbd3f5 Add new api resumeCompaction and suspendCompaction to support resume and suspend compaction through api (#3509)
     add 3a4af4a806 remove unused variable in checkEnvironment (#3572)
     add da4583e939 [configuration] fix typo in bk_server.conf (#3574)
     add e50cf06ce2 Add example for multiple server list in metadataServiceUri configuration (#3580)
     add b7af1e9240 [doc]Fixed incorrect checkstyle configuration prompts (#3571)
     add 4c79215af5 Fix the typo of double the (#3552)
     add 520c3e4419 [test] Fix flaky test testAutoRecoverySessionLoss (#3576)
     add 5a9fb5ff44 Replace sleep with await to avoid flaky test in SlowBookieTest (#3581)
     add ace4f8a4a3 Upgrade dependencies for CVE-2022-3171 and CVE-2022-42003 (#3579)
     add ef31c7a374 When call openLedgerOp, make the timeout ex is a separate error code (#3562)
     add 8ac28db161 Issue 3588: write meta to log header before fsync in DirectIO mode (#3589)
     add ca922fed05 Fix typo issue when Header.assertFingerPrint throws IOException (#3590)
     add 75a293b77c add javadoc comments for test classes (#3587)
     add 9efd606d1c Correct link class name (#3594)
     add 96b2446b35 fix memtable getEntryStats typo (#3592)
     add 02be9d2ee2 Avoid extra buffer to prepend frame size (#3560)
     add faaf041ac5 Fix ByteBuf memory leak problem when setExplicitLac (#3577)
     add e6722848e0 Optimized debug log enable (#3596)
     add 6e7ff78e7c Fix readEntryStats typo (#3591)
     add 9843ad62c9 Add ByteBuf refCnt test for AddEntry and use pooled ByteBuf reduce heap usage (#3598)
     add 2c5d98ebbe Removed the necessity of SafeRunnable (#3593)
     add b82e2247e6 Allow to use IO uring instead of epoll (#3595)
     add 396ec12dc7 Optimize ReadResponse for small entry sizes (#3597)
     add 5724bc8434 Using a separate thread pool to execute openWithMetadata (#3548)
     add 860d40d58c  update doc about flushInterval config (#3601)
     add 43bdfb3531 migrate apply-config-from-env.py from python2 to python3 (#3614)
     add 8357e4b00f [log] Add journal file path that caused failure in multi-journal config (#3623)
     add 74e9ef4d73 Fix GetBookieInfo failed event stats (#3622)
     add 94f247c5a3 Upgrade maven version in release docker image (#3625)
     add 830116280f Issue #3488 Create an EmbeddedSever extracting code from Main class and adding a builder pattern (#3489)
     add a9d40822af Include bkperf into bk all package (#3632)
     add f8b9e1886d Use LinkedHashMap instead of HashMap to fix flaky tests due non-deterministic order (#3551)
     add 0d2fbe434e Apply recycle logic during add entry creation but ledger close to LedgerHandleAdv (#3621)
     add 0f37dd8756 Add 4.15.3 relese note (#3602)
     add 17dbd50296 Generate 4.15.3 website docs (#3635)
     add fbad323775 Upgrade docker image version to fix CVEs (#3640)
     add e4ef0ef7f4 [website] Fix releases page header and move latest release to 4.15.3 (#3645)
     add a3401a2139 make rocksdb delete entries batch size configurable (#3646)
     add 696919cccb bring back deleteRange for RocksDB to improve location delete performance (#3653)
     add 034e8997ab bookkeeper-daemon script supports restart command (#3649)
     add 948d94fb65 Dont validate CompactionInterval when compaction is disabled (#3664)
     add 221cba4ed3 Check client if closed when complete callback. (#3661)
     add 7d44414484 sync depedency version with source version in license (#3633)
     add c2e59e1411 Add Http-service to check bookie sanity state (#3630)
     add 145ab15894 fix testWriteLac (#3627)
     add 381af55b69 Include com.google.guava:failureaccess in shaded package (#3624)
     add aa6d3f9efe Run CI when a pull request contains doc changes (#3671)
     add dd8ba477ee Exit bookkeeper shell correctly even if fails to run for some reason (#3663)
     add 109688c1b4 [fix][server]fix memory leak when operating ledger metadata (#3662)
     add 25f03a046b InterleavedLedgerStorage: safe release ByteBuf (#3674)
     add 8fce024989 [refactor][bookkeeper] Refactor ByteBuf release method in DefaultEntryLogger (#3673)
     add 01232c94c9 Enhance simple test (#3675)
     add ac7e9092ae clean code: remove unused gcExecutor (#3682)
     add f186d2a0a2 module bookkeeper-server: refactor ByteBuf release usage (#3688)
     add 324b8d43ab [refactor][bookkeeper] Refactor ByteBuf release method in stream/statelib (#3689)
     add 542926c163 remove unused attempts (#3685)
     add 9d8b922708 Add an argument to decide expose the default JVM metrics (#3676)
     add 7ae5a04a83 module distributedlog-core: refactor ByteBuf release usage (#3691)
     add e13ff85234 refactor ByteBuf release usage (#3687)
     add 394ff12dc1 Show result of isFenced in log (#3678)
     add eda9c4284d use READ_ENTRY_SCHEDULING_DELAY to stable stickyReadsWithFailures (#3628)
     add 4574ba0233 Fix RegionAwareEnsemblePlacementPolicy update rack info problem. (#3666)
     add 5a38080ccf Make `jvm_memory_direct_bytes_used` metrics compatible with jdk8. (#3677)
     add a19d849a37 [fix][server]fix memory leak when closeRecovered,failed on clearing newEnsemblesFromRecovery (#3672)
     add a71c7a7e68 module distributedlog-common/distributedlog-protocol: refactor ByteBuf release usage (#3693)
     add 4e37cf68d1 module stream-storage-common/stream-storage-java-kv-client/stream-storage-cli: refactor ByteBuf release usage (#3694)
     add 004dfa86bf refactor ByteBuf release usage (#3695)
     add c67dfb9733 Issue #3701 Fixed Flaky Tests (#3702)
     add 44edbd10b7 fix docker compose deployment (#3660)
     add dd80e967e7 [fix][server] When dbStorage_directIOEntryLogger=true, EntryLogIdsImpl only takes effect for a single ledger directory (#3680)
     add 5194c5bbd6 [refactor][bookkeeper] Refactor ByteBuf release method in stream/storage (#3703)
     add 700c5281e8 [refactor][bookkeeper] Refactor ByteBuf release method in bookkeeper-server (#3700)
     add c31e3997ba refactor ByteBuf release usage (#3698)
     add 1ce1bedfbf Added new way to self-invite to BK Slack (#3712)
     add 032aef7e75 [FEATURE] Added api/v1/bookie/cluster_info REST API
     add 405e72acf4 unify SLASHSTAR_STYLE for licenses in Java files (#3717)
     add 03ba1883df Expose registrationClient in DefaultBookieAddressResolver (#3724)
     add 05378442f7 [improve][doc] improve bk_server.conf docs (#3715)
     add ce229a4ce0 Add 4.14.6 release note (#3659)
     add c64dbcd305 Upgrade Netty to 4.1.86.Final (#3669)
     add 49ca9fe3b1 BP-60:Change PCBC limitStatsLogging default value to true (#3719)
     add 4fd5f814dd [docs] update parameter in manual deployment page (#3573)
     add b5f85e0d1d Bump json5 from 1.0.1 to 1.0.2 in /site3/website (#3727)
     add 2536a580dd Generate 4.14.6 website docs (#3729)
     add 9e8cda30d4 Bump loader-utils from 1.4.0 to 1.4.2 in /site3/website (#3648)
     add 7b5b6b240c CI: move all tests in a single workflow  (#3735)
     add e7636086ed unify SLASHSTAR_STYLE for licenses in Java files (#3741)
     add 8ea2234183 Update copy right year from 2022 to 2023 (#3742)
     add a2b0709627 Bump hadoop-common from 3.2.4 to 3.3.4 (#3756)
     add dbf682d76c Remove unnecessary hasExplicitLac check (#3748)
     add c7cc668230 Add code coverage report and upload to Codecov (#3586)
     add accaa6966f Bump snakeyaml from 1.32 to 1.33 (#3757)
     add f6a7c0617c Add push trigger condition for CI (#3760)
     add 901f76ce4c Fix QueueEntry recycle problem. (#3747)
     add 02e64a4b97 [improve] Upgrade zk to 3.8.1 (#3754)
     add af82d14cb1 Fix memory leak when the Bookie is in read-only mode. (#3746)
     add 700d45f435 Replace LedgerStorageNotificationListener with existing LedgerDeletionListener (#3736)
     add 61c553b9a8 Bump http-cache-semantics from 4.1.0 to 4.1.1 in /site3/website (#3765)
     add 4ca4b4e484 Fix issue where checkAllLedgers could get stuck when read throttling is enabled (#3655)
     add b85ac48e8b BookieImpl remove wait until journal quits (#3603)
     add 7303cf1af3 Upgrade Netty to 4.1.87.Final (#3766)
     add 3068b2ae92 Upgrade dependency-check-maven plugin to fix broken OWASP check (#3731)
     add cec8267682 recycle LongPairWrapper (#3728)
     add 591ceb971a fix admin rest api typo (#3776)
     add b9a82c54c7 Remove duplicated JournalQueueStats (#3753)
     add 6489a7d419 Fix numLedgersReplicated metric (#3654)
     add d6d9212a64 Not wrap IOException twice form checkpoint (#3683)
     add c217385ea4 [improvement] Refactor Auditor to simplify the readability (#3637)
     add 1162512fd8 Fix missing blank in log text (#3781)
     add 7f8c31bdad New ensemble choose different rack first. (#3721)
     add 2381d9b65a Fix RegionAwareEnsemblePlacementPolicy.newEnsemble sometimes failed problem. (#3725)
     add 10daf4cd4d Generate 4.14.7 release note (#3770)
     add 5726e8f1c0 generate 4.14.7 website docs (#3787)
     add 13ccc4caf8 Only acquire buffer when need write. (#3786)
     add e0fd93a4bc Bump vertx-web from 4.3.2 to 4.3.8 (#3775)
     add 6b6ea76201 Fix CI is not failed when test have errors (#3790)
     add 5fced0d434 change directIO configuration names to avoid confuse (#3791)
     add c295f1880f Made PendingAddOp thread safe (#3784)
     add 9ff2954430 Add logs for ensemble select failed (#3779)
     add 58cdd499c6 Make profile code-coverage and dev-debug tests using `-Dio.netty.leakDetection.level=paranoid`. (#3785)
     add 80d3aac30f upgrade rocksdb version to 7.9.2 (#3795)
     add 8d922634c7 Fixed locking of PendingAddOp (#3806)
     add 7f263fa8f4 Fixed the pivot selection in the group quick-sort (#3800)
     add 08ef6491a6 Fix ReadEntryProcessor v2 SchedulingDelayStats (#3758)
     add f65b72d54b Use mixed quick/insertion sort (#3807)
     add 1f8de8ffa2 Improved efficiency in DigestManager.verify() (#3810)
     add 1e02853485 Avoid thread-local state when computing CRCs (#3811)
     add 6f09c60d2c Upgrade lombok to 1.18.26 (#3814)
     add c389b96f12 Speed up shutdown in test cases (#3809)
     add 284cf9611a Remove compiling with `-Werror` to support Java 19 (#3820)
     add e0ee708269 Support update ledger metadata option bk-cli (#3821)
     add ade30bda19 Fix: bookie-shell ledger-metadata usage with correct param (#3822)
     add 0ca4fe2697 Fix: typo for ledger-metadata param: restorefromfile (#3823)
     add 6d00336728 fix mailing-lists dead links (#3804)
     add b70d128ad0 Upgrade Netty to 4.1.89.Final (#3816)
     add fbd18aeeca Use JNI directly for posix_fadvise (#3824)
     add dabba92d33 Bump junit from 4.12 to 4.13.1

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (0d371eb5f0)
            \
             N -- N -- N   refs/heads/dependabot/maven/junit-junit-4.13.1 (dabba92d33)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .asf.yaml                                          |   96 +
 .github/changes-filter.yaml                        |   16 +
 .github/workflows/README.md                        |   60 +
 .github/workflows/backward-compat-tests.yml        |   59 -
 .github/workflows/bk-ci.yml                        |  437 +++++
 .github/workflows/bookie-tests.yml                 |   77 -
 .github/workflows/bot.yml                          |    1 +
 .github/workflows/client-tests.yml                 |   70 -
 .github/workflows/compatibility-check-java11.yml   |   56 -
 .github/workflows/compatibility-check-java17.yml   |   55 -
 .github/workflows/compatibility-check-java8.yml    |   56 -
 .github/workflows/dead-link-checker.yaml           |    1 +
 .github/workflows/integration-tests.yml            |   64 -
 .github/workflows/owasp-dep-check.yml              |   74 -
 .github/workflows/pr-validation.yml                |   59 -
 .github/workflows/remaining-tests.yml              |   70 -
 .github/workflows/replication-tests.yml            |   70 -
 .github/workflows/stream-tests.yml                 |   72 -
 .github/workflows/tls-tests.yml                    |   70 -
 .github/workflows/windows-build.yml                |   52 -
 .gitignore                                         |    2 +
 CONTRIBUTING.md                                    |   25 +
 NOTICE                                             |    2 +-
 README.md                                          |    2 +-
 bin/bookkeeper-daemon.sh                           |  140 +-
 bin/common.sh                                      |    1 -
 .../benchmark/BenchThroughputLatency.java          |    4 +-
 .../common/allocator/ByteBufAllocatorBuilder.java  |    4 +-
 .../allocator/ByteBufAllocatorWithOomHandler.java  |    3 +-
 .../common/allocator/LeakDetectionPolicy.java      |    2 +-
 .../common/allocator/OutOfMemoryPolicy.java        |    2 +-
 .../bookkeeper/common/allocator/PoolingPolicy.java |    2 +-
 .../impl/ByteBufAllocatorBuilderImpl.java          |    4 +-
 .../allocator/impl/ByteBufAllocatorImpl.java       |    3 +-
 .../common/allocator/impl/package-info.java        |    2 +-
 .../bookkeeper/common/allocator/package-info.java  |    2 +-
 .../impl/ByteBufAllocatorBuilderTest.java          |   17 +-
 bookkeeper-common/pom.xml                          |   15 +
 .../common/collections/BlockingMpscQueue.java      |    1 -
 .../bookkeeper/common/collections/BusyWait.java    |    1 -
 ...=> GrowableMpScArrayConsumerBlockingQueue.java} |  208 +--
 .../component/AutoCloseableLifecycleComponent.java |    1 +
 .../common/component/ComponentInfoPublisher.java   |    1 +
 .../common/component/ComponentStarter.java         |    1 -
 .../bookkeeper/common/concurrent/FutureUtils.java  |   20 +-
 .../bookkeeper/common/conf/package-info.java       |    2 +-
 .../common/stats/BroadCastStatsLogger.java         |   13 +-
 .../bookkeeper/common/stats/OpStatsListener.java   |    2 +-
 .../bookkeeper/common/stats/package-info.java      |    2 +-
 .../common/util/BoundedExecutorService.java        |    3 +-
 .../util/BoundedScheduledExecutorService.java      |    3 +-
 .../common/util/ExceptionMessageHelper.java        |    2 +-
 .../apache/bookkeeper/common/util/MdcUtils.java    |    1 -
 .../common/util/MemoryLimitController.java         |    2 +-
 .../bookkeeper/common/util/OrderedExecutor.java    |  127 +-
 .../bookkeeper/common/util/OrderedScheduler.java   |   84 +-
 .../bookkeeper/common/util/ReferenceCounted.java   |    1 +
 .../common/util/SingleThreadExecutor.java          |  305 ++++
 .../SingleThreadSafeScheduledExecutorService.java  |   74 +
 .../java/org/apache/bookkeeper/util/MathUtils.java |    2 +-
 .../org/apache/bookkeeper/util/package-info.java   |    2 +-
 .../common/collections/BlockingMpscQueueTest.java  |    1 -
 .../GrowableArrayBlockingQueueTest.java            |   78 +-
 .../common/concurrent/TestFutureUtils.java         |    7 +-
 .../common/testing/annotations/FlakyTest.java      |    1 +
 .../common/util/MemoryLimitControllerTest.java     |    2 +-
 .../common/util/TestOrderedExecutorDecorators.java |   11 +-
 .../common/util/TestSingleThreadExecutor.java      |  319 ++++
 .../common/util/TestThreadSelection.java           |    2 -
 .../apache/bookkeeper/test/TestStatsProvider.java  |   12 +-
 bookkeeper-dist/all/pom.xml                        |    6 +
 bookkeeper-dist/src/assemble/bin-all.xml           |    2 +-
 bookkeeper-dist/src/assemble/bin-server.xml        |    2 +-
 bookkeeper-dist/src/assemble/bkctl.xml             |    2 +-
 .../src/main/resources/LICENSE-all.bin.txt         |  273 +--
 .../src/main/resources/LICENSE-bkctl.bin.txt       |  227 +--
 .../src/main/resources/LICENSE-server.bin.txt      |  269 +--
 .../src/main/resources/NOTICE-all.bin.txt          |   64 +-
 .../src/main/resources/NOTICE-bkctl.bin.txt        |   44 +-
 .../src/main/resources/NOTICE-server.bin.txt       |   64 +-
 .../LICENSE.aalto-xml.txt                          |    2 +-
 .../LICENSE.base64.txt                             |    0
 .../LICENSE.bouncycastle.txt                       |    2 +-
 .../LICENSE.caliper.txt                            |    4 +-
 .../LICENSE.commons-lang.txt                       |    2 +-
 .../LICENSE.commons-logging.txt                    |    2 +-
 .../LICENSE.compress-lzf.txt                       |    2 +-
 .../LICENSE.dnsinfo.txt                            |    2 +-
 .../LICENSE.harmony.txt                            |    2 +-
 .../LICENSE.hpack.txt                              |    4 +-
 .../LICENSE.hyper-hpack.txt                        |    0
 .../LICENSE.jboss-marshalling.txt                  |    2 +-
 .../LICENSE.jbzip2.txt                             |    0
 .../LICENSE.jctools.txt                            |    2 +-
 .../LICENSE.jfastlz.txt                            |    0
 .../LICENSE.jsr166y.txt                            |    0
 .../LICENSE.jzlib.txt                              |    0
 .../LICENSE.libdivsufsort.txt                      |    0
 .../LICENSE.log4j.txt                              |    2 +-
 .../LICENSE.lz4.txt                                |    4 +-
 .../LICENSE.lzma-java.txt                          |    4 +-
 .../LICENSE.mvn-wrapper.txt                        |    4 +-
 .../LICENSE.nghttp2-hpack.txt                      |    0
 .../LICENSE.protobuf.txt                           |    0
 .../LICENSE.slf4j.txt                              |    0
 .../LICENSE.snappy.txt                             |    0
 .../LICENSE.webbit.txt                             |    2 +-
 .../NOTICE.harmony.txt                             |    2 +-
 .../http/AbstractHttpHandlerFactory.java           |    2 +-
 .../org/apache/bookkeeper/http/HttpRouter.java     |   12 +-
 .../org/apache/bookkeeper/http/HttpServer.java     |    7 +-
 .../bookkeeper/http/HttpServerConfiguration.java   |    2 +-
 .../apache/bookkeeper/http/HttpServerLoader.java   |    3 +-
 .../bookkeeper/http/HttpServiceProvider.java       |    2 +-
 .../bookkeeper/http/NullHttpServiceProvider.java   |    2 +-
 .../bookkeeper/http/service/ErrorHttpService.java  |    2 +-
 .../bookkeeper/http/service/HeartbeatService.java  |    2 +-
 .../http/service/HttpEndpointService.java          |    2 +-
 .../http/service/HttpServiceRequest.java           |    3 +-
 .../http/service/HttpServiceResponse.java          |    2 +-
 .../bookkeeper/http/service/NullHttpService.java   |    2 +-
 .../http/servlet/BookieHttpServiceServlet.java     |    2 +-
 .../http/servlet/BookieServletHttpServer.java      |    2 +-
 .../bookkeeper/http/servlet/JettyHttpServer.java   |    2 +-
 .../http/servlet/TestBookieHttpServiceServlet.java |    2 +-
 .../http/vertx/VertxAbstractHandler.java           |   24 +-
 .../http/vertx/VertxHttpHandlerFactory.java        |    3 +-
 .../bookkeeper/http/vertx/VertxHttpServer.java     |    4 +-
 .../bookkeeper/http/vertx/TestVertxHttpServer.java |    3 +-
 .../http/vertx/TestVertxHttpsServer.java           |    4 +-
 bookkeeper-proto/src/main/proto/DataFormats.proto  |    2 +-
 .../main/proto/DbLedgerStorageDataFormats.proto    |    2 +-
 bookkeeper-server/pom.xml                          |    9 +-
 .../org/apache/bookkeeper/auth/AuthCallbacks.java  |    2 +-
 .../auth/AuthProviderFactoryFactory.java           |    2 +-
 .../java/org/apache/bookkeeper/auth/AuthToken.java |    2 +-
 .../bookkeeper/auth/BookKeeperPrincipal.java       |    2 +-
 .../apache/bookkeeper/auth/BookieAuthProvider.java |    2 +-
 .../apache/bookkeeper/auth/ClientAuthProvider.java |    2 +-
 .../bookkeeper/bookie/AbstractLogCompactor.java    |   35 +-
 .../bookkeeper/bookie/BookKeeperServerStats.java   |   25 +-
 .../bookkeeper/bookie/BookieCriticalThread.java    |    2 +-
 .../bookkeeper/bookie/BookieFileChannel.java       |    4 +-
 .../org/apache/bookkeeper/bookie/BookieImpl.java   |  131 +-
 .../apache/bookkeeper/bookie/BookieResources.java  |    5 +-
 .../org/apache/bookkeeper/bookie/BookieShell.java  |   91 +-
 .../bookkeeper/bookie/BookieStateManager.java      |   13 +-
 .../org/apache/bookkeeper/bookie/BookieStatus.java |   10 +-
 .../org/apache/bookkeeper/bookie/BookieThread.java |    3 +-
 .../apache/bookkeeper/bookie/BufferedChannel.java  |    1 -
 .../bookkeeper/bookie/BufferedChannelBase.java     |    2 +-
 .../bookkeeper/bookie/BufferedReadChannel.java     |    1 -
 .../java/org/apache/bookkeeper/bookie/Cookie.java  |   17 +-
 .../apache/bookkeeper/bookie/CookieValidation.java |    2 +-
 .../bookkeeper/bookie/DefaultEntryLogger.java      |   31 +-
 .../bookkeeper/bookie/DefaultFileChannel.java      |    6 +-
 .../apache/bookkeeper/bookie/EntryKeyValue.java    |    1 -
 .../bookkeeper/bookie/EntryLogCompactor.java       |    5 +-
 .../apache/bookkeeper/bookie/EntryLogManager.java  |    3 +-
 .../bookkeeper/bookie/EntryLogManagerBase.java     |    6 +-
 .../EntryLogManagerForEntryLogPerLedger.java       |   12 +-
 .../bookie/EntryLogManagerForSingleEntryLog.java   |    2 +-
 .../apache/bookkeeper/bookie/EntryLogMetadata.java |    9 +-
 .../bookkeeper/bookie/EntryLogMetadataMap.java     |    9 +-
 .../bookkeeper/bookie/EntryLoggerAllocator.java    |    4 +-
 .../apache/bookkeeper/bookie/EntryMemTable.java    |    3 +-
 .../bookie/EntryMemTableWithParallelFlusher.java   |   54 +-
 .../bookkeeper/bookie/FileChannelProvider.java     |   20 +-
 .../org/apache/bookkeeper/bookie/FileInfo.java     |    1 +
 .../bookkeeper/bookie/FileInfoBackingCache.java    |    2 +-
 .../bookkeeper/bookie/FileSystemUpgrade.java       |    2 +-
 .../bookkeeper/bookie/GarbageCollectionStatus.java |    2 +-
 .../apache/bookkeeper/bookie/GarbageCollector.java |    2 +-
 .../bookkeeper/bookie/GarbageCollectorThread.java  |   92 +-
 .../bookkeeper/bookie/HandleFactoryImpl.java       |    1 -
 .../bookie/InMemoryEntryLogMetadataMap.java        |    8 +-
 .../bookkeeper/bookie/IndexInMemPageMgr.java       |    6 +-
 .../bookkeeper/bookie/IndexPersistenceMgr.java     |    7 +-
 .../bookie/InterleavedLedgerStorage.java           |   43 +-
 .../InterleavedStorageRegenerateIndexOp.java       |    4 +-
 .../java/org/apache/bookkeeper/bookie/Journal.java |  253 ++-
 .../JournalAliveListener.java}                     |   13 +-
 .../apache/bookkeeper/bookie/JournalChannel.java   |   75 +-
 .../bookie/LastAddConfirmedUpdateNotification.java |    2 +-
 .../org/apache/bookkeeper/bookie/LedgerCache.java  |    1 -
 .../apache/bookkeeper/bookie/LedgerCacheImpl.java  |    1 -
 .../apache/bookkeeper/bookie/LedgerDescriptor.java |    1 +
 .../bookie/LedgerDescriptorReadOnlyImpl.java       |    1 -
 .../bookkeeper/bookie/LedgerDirsManager.java       |   15 +-
 .../bookkeeper/bookie/LedgerDirsMonitor.java       |   48 +-
 .../apache/bookkeeper/bookie/LedgerStorage.java    |   26 +-
 .../bookkeeper/bookie/LedgerStorageFactory.java    |    1 -
 .../bookkeeper/bookie/LegacyCookieValidation.java  |    5 +-
 .../apache/bookkeeper/bookie/ReadOnlyBookie.java   |    3 +-
 .../bookie/ReadOnlyDefaultEntryLogger.java         |    1 -
 .../bookie/ScanAndCompareGarbageCollector.java     |    3 +-
 .../apache/bookkeeper/bookie/ScrubberStats.java    |    2 +-
 .../apache/bookkeeper/bookie/SkipListArena.java    |    3 +-
 .../apache/bookkeeper/bookie/SkipListFlusher.java  |    1 -
 .../bookkeeper/bookie/SlowBufferedChannel.java     |    1 -
 .../bookkeeper/bookie/SortedLedgerStorage.java     |   33 +-
 .../org/apache/bookkeeper/bookie/StateManager.java |    1 -
 .../org/apache/bookkeeper/bookie/SyncThread.java   |    7 +-
 .../bookie/TransactionalEntryLogCompactor.java     |    3 -
 .../bookie/datainteg/EntryCopierImpl.java          |    5 +-
 .../bookie/stats/EntryMemTableStats.java           |    3 +-
 .../bookkeeper/bookie/stats/JournalStats.java      |    9 +-
 .../bookie/storage/CompactionEntryLog.java         |    2 +-
 .../bookkeeper/bookie/storage/EntryLogIds.java     |    2 +-
 .../bookkeeper/bookie/storage/EntryLogIdsImpl.java |    4 +-
 .../bookkeeper/bookie/storage/EntryLogScanner.java |    3 +-
 .../bookkeeper/bookie/storage/EntryLogger.java     |    2 +-
 .../bookie/storage/directentrylogger/Buffer.java   |    4 +-
 .../storage/directentrylogger/BufferPool.java      |    3 +-
 .../DirectCompactionEntryLog.java                  |    4 +-
 .../directentrylogger/DirectEntryLogger.java       |    7 +-
 .../directentrylogger/DirectEntryLoggerStats.java  |    2 +-
 .../storage/directentrylogger/DirectReader.java    |   13 +-
 .../storage/directentrylogger/DirectWriter.java    |   17 +-
 .../bookie/storage/directentrylogger/Events.java   |    2 +-
 .../bookie/storage/directentrylogger/Header.java   |    8 +-
 .../storage/directentrylogger/LogMetadata.java     |   15 +-
 .../storage/directentrylogger/LogReader.java       |    2 +-
 .../storage/directentrylogger/LogReaderScan.java   |    5 +-
 .../storage/directentrylogger/LogWriter.java       |    2 +-
 .../directentrylogger/WriterWithMetadata.java      |    2 +-
 .../bookie/storage/ldb/ArrayGroupSort.java         |  104 +-
 .../bookkeeper/bookie/storage/ldb/ArrayUtil.java   |   35 +-
 .../bookie/storage/ldb/DbLedgerStorage.java        |   66 +-
 .../bookie/storage/ldb/DbLedgerStorageStats.java   |    3 +-
 .../bookie/storage/ldb/EntryLocationIndex.java     |   87 +-
 .../storage/ldb/EntryLocationIndexStats.java       |    9 +
 .../bookie/storage/ldb/KeyValueStorage.java        |    2 +-
 .../bookie/storage/ldb/KeyValueStorageFactory.java |    3 +-
 .../bookie/storage/ldb/KeyValueStorageRocksDB.java |  196 +-
 .../bookie/storage/ldb/LedgerMetadataIndex.java    |   28 +-
 .../bookie/storage/ldb/LedgersIndexCheckOp.java    |   92 +-
 .../bookie/storage/ldb/LedgersIndexRebuildOp.java  |  123 +-
 .../storage/ldb/LocationsIndexRebuildOp.java       |   30 +-
 .../bookie/storage/ldb/LongPairWrapper.java        |    2 +-
 .../bookkeeper/bookie/storage/ldb/LongWrapper.java |    2 +-
 .../storage/ldb/PersistentEntryLogMetadataMap.java |   65 +-
 .../bookkeeper/bookie/storage/ldb/ReadCache.java   |    7 +-
 .../ldb/SingleDirectoryDbLedgerStorage.java        |   99 +-
 .../bookie/storage/ldb/TransientLedgerInfo.java    |    4 +-
 .../bookkeeper/bookie/storage/ldb/WriteCache.java  |   13 +-
 .../bookie/storage/ldb/package-info.java           |    2 +-
 .../apache/bookkeeper/client/AsyncCallback.java    |    2 +-
 .../org/apache/bookkeeper/client/BKException.java  |    3 +-
 .../org/apache/bookkeeper/client/BookKeeper.java   |   25 +-
 .../apache/bookkeeper/client/BookKeeperAdmin.java  |   78 +-
 ...ner.java => BookieAddressResolverDisabled.java} |   26 +-
 .../apache/bookkeeper/client/BookieInfoReader.java |    2 +-
 .../apache/bookkeeper/client/BookieWatcher.java    |    8 +-
 .../bookkeeper/client/BookieWatcherImpl.java       |   22 +-
 .../bookkeeper/client/BookiesHealthInfo.java       |    2 +-
 .../apache/bookkeeper/client/BookiesListener.java  |    2 +-
 .../apache/bookkeeper/client/ClientContext.java    |    1 -
 .../bookkeeper/client/ClientInternalConf.java      |    1 -
 .../client/DefaultBookieAddressResolver.java       |   14 +-
 .../client/DefaultEnsemblePlacementPolicy.java     |    2 -
 .../DefaultSpeculativeRequestExecutionPolicy.java  |    3 +-
 .../bookkeeper/client/DistributionSchedule.java    |    3 +-
 .../client/DynamicWeightedRandomSelectionImpl.java |    2 -
 .../bookkeeper/client/EnsemblePlacementPolicy.java |   34 +-
 .../apache/bookkeeper/client/EnsembleUtils.java    |    2 -
 .../bookkeeper/client/ExplicitLacFlushPolicy.java  |   17 +-
 .../apache/bookkeeper/client/ForceLedgerOp.java    |    8 +-
 .../ITopologyAwareEnsemblePlacementPolicy.java     |    3 -
 .../apache/bookkeeper/client/LedgerChecker.java    |   20 +-
 .../apache/bookkeeper/client/LedgerCreateOp.java   |    7 +-
 .../apache/bookkeeper/client/LedgerDeleteOp.java   |    1 -
 .../org/apache/bookkeeper/client/LedgerEntry.java  |    2 -
 .../apache/bookkeeper/client/LedgerFragment.java   |   25 +-
 .../client/LedgerFragmentReplicator.java           |   18 +-
 .../org/apache/bookkeeper/client/LedgerHandle.java |  233 +--
 .../apache/bookkeeper/client/LedgerHandleAdv.java  |   27 +-
 .../bookkeeper/client/LedgerMetadataBuilder.java   |    4 +-
 .../bookkeeper/client/LedgerMetadataImpl.java      |    2 +-
 .../bookkeeper/client/LedgerMetadataUtils.java     |    2 +-
 .../org/apache/bookkeeper/client/LedgerOpenOp.java |   65 +-
 .../apache/bookkeeper/client/LedgerRecoveryOp.java |    5 +-
 .../client/ListenerBasedPendingReadOp.java         |    4 +-
 .../bookkeeper/client/MetadataUpdateLoop.java      |   24 +-
 .../org/apache/bookkeeper/client/PendingAddOp.java |   73 +-
 .../apache/bookkeeper/client/PendingReadLacOp.java |    4 +-
 .../apache/bookkeeper/client/PendingReadOp.java    |   11 +-
 .../bookkeeper/client/PendingWriteLacOp.java       |    3 +-
 .../client/RackawareEnsemblePlacementPolicy.java   |   23 +-
 .../RackawareEnsemblePlacementPolicyImpl.java      |  275 ++-
 .../client/ReadLastConfirmedAndEntryOp.java        |    2 +-
 .../bookkeeper/client/ReadLastConfirmedOp.java     |    4 +-
 .../bookkeeper/client/ReadOnlyLedgerHandle.java    |   21 +-
 .../client/RegionAwareEnsemblePlacementPolicy.java |   87 +-
 .../client/RoundRobinDistributionSchedule.java     |    5 +-
 .../bookkeeper/client/SyncCallbackUtils.java       |    6 +-
 .../TopologyAwareEnsemblePlacementPolicy.java      |   47 +-
 .../bookkeeper/client/TryReadLastConfirmedOp.java  |    3 +-
 .../apache/bookkeeper/client/UpdateLedgerOp.java   |    4 +-
 .../client/WeightedRandomSelectionImpl.java        |    1 -
 .../client/ZoneawareEnsemblePlacementPolicy.java   |    4 +-
 .../ZoneawareEnsemblePlacementPolicyImpl.java      |   17 +-
 .../apache/bookkeeper/client/api/BKException.java  |    1 -
 .../apache/bookkeeper/client/api/BookKeeper.java   |    2 +-
 .../bookkeeper/client/api/BookKeeperBuilder.java   |    3 +-
 .../bookkeeper/client/api/CreateAdvBuilder.java    |    2 +-
 .../bookkeeper/client/api/CreateBuilder.java       |    2 +-
 .../bookkeeper/client/api/DeleteBuilder.java       |    2 +-
 .../apache/bookkeeper/client/api/DigestType.java   |    2 +-
 .../bookkeeper/client/api/ForceableHandle.java     |    2 +-
 .../org/apache/bookkeeper/client/api/Handle.java   |    2 +-
 .../client/api/LastConfirmedAndEntry.java          |    2 +-
 .../bookkeeper/client/api/LedgerEntries.java       |    2 +-
 .../apache/bookkeeper/client/api/LedgerEntry.java  |    2 +-
 .../client/api/ListLedgersResultBuilder.java       |    2 +-
 .../apache/bookkeeper/client/api/OpBuilder.java    |    2 +-
 .../apache/bookkeeper/client/api/OpenBuilder.java  |    2 +-
 .../apache/bookkeeper/client/api/ReadHandle.java   |    4 +-
 .../bookkeeper/client/api/WriteAdvHandle.java      |    2 +-
 .../apache/bookkeeper/client/api/WriteFlag.java    |    2 +-
 .../apache/bookkeeper/client/api/WriteHandle.java  |    3 +-
 .../apache/bookkeeper/client/api/package-info.java |    2 +-
 .../client/impl/BookKeeperBuilderImpl.java         |    2 +-
 .../client/impl/LastConfirmedAndEntryImpl.java     |    2 +-
 .../bookkeeper/client/impl/LedgerEntriesImpl.java  |    2 -
 .../bookkeeper/client/impl/OpenBuilderBase.java    |    2 -
 .../bookkeeper/conf/AbstractConfiguration.java     |   10 +-
 .../bookkeeper/conf/ClientConfiguration.java       |   32 +-
 .../org/apache/bookkeeper/conf/Configurable.java   |    2 +-
 .../bookkeeper/conf/ServerConfiguration.java       |   92 +-
 .../bookkeeper/discover/ZKRegistrationClient.java  |   17 +-
 .../meta/AbstractHierarchicalLedgerManager.java    |    3 +-
 .../bookkeeper/meta/AbstractZkLedgerManager.java   |   72 +-
 .../meta/AbstractZkLedgerManagerFactory.java       |    3 +-
 .../bookkeeper/meta/CleanupLedgerManager.java      |   18 +-
 .../apache/bookkeeper/meta/FlatLedgerManager.java  |    3 +-
 .../bookkeeper/meta/FlatLedgerManagerFactory.java  |    3 +-
 .../bookkeeper/meta/HierarchicalLedgerManager.java |   14 +-
 .../meta/HierarchicalLedgerManagerFactory.java     |    3 +-
 .../bookkeeper/meta/LedgerAuditorManager.java      |    2 +-
 .../apache/bookkeeper/meta/LedgerIdGenerator.java  |    3 +-
 .../org/apache/bookkeeper/meta/LedgerLayout.java   |    3 +-
 .../org/apache/bookkeeper/meta/LedgerManager.java  |   30 +-
 .../bookkeeper/meta/LedgerManagerFactory.java      |    2 +-
 .../bookkeeper/meta/LedgerMetadataSerDe.java       |    5 +-
 .../meta/LedgerUnderreplicationManager.java        |    4 +-
 .../meta/LegacyHierarchicalLedgerManager.java      |    3 +-
 .../LegacyHierarchicalLedgerManagerFactory.java    |    3 +-
 .../meta/LongHierarchicalLedgerManager.java        |    3 +-
 .../meta/LongHierarchicalLedgerManagerFactory.java |    2 +-
 .../bookkeeper/meta/LongZkLedgerIdGenerator.java   |    3 +-
 .../bookkeeper/meta/MSLedgerManagerFactory.java    |    2 +-
 .../bookkeeper/meta/MetadataBookieDriver.java      |    1 -
 .../apache/bookkeeper/meta/MetadataDrivers.java    |   16 +-
 .../bookkeeper/meta/NullMetadataBookieDriver.java  |    3 +-
 .../bookkeeper/meta/UnderreplicatedLedger.java     |    2 +-
 .../bookkeeper/meta/ZkLedgerAuditorManager.java    |    3 +-
 .../bookkeeper/meta/ZkLedgerIdGenerator.java       |    3 +-
 .../meta/ZkLedgerUnderreplicationManager.java      |   26 +-
 .../bookkeeper/meta/zk/ZKMetadataClientDriver.java |    2 -
 .../bookkeeper/meta/zk/ZKMetadataDriverBase.java   |    9 +-
 .../bookkeeper/metastore/InMemoryMetaStore.java    |    3 +-
 .../metastore/InMemoryMetastoreCursor.java         |    4 +-
 .../metastore/InMemoryMetastoreTable.java          |    4 +-
 .../apache/bookkeeper/metastore/MSException.java   |    2 +-
 .../bookkeeper/metastore/MSWatchedEvent.java       |    2 +-
 .../org/apache/bookkeeper/metastore/MetaStore.java |    2 +-
 .../bookkeeper/metastore/MetastoreCallback.java    |    2 +-
 .../bookkeeper/metastore/MetastoreCursor.java      |    2 +-
 .../bookkeeper/metastore/MetastoreException.java   |    2 +-
 .../bookkeeper/metastore/MetastoreFactory.java     |    2 +-
 .../metastore/MetastoreScannableTable.java         |    2 +-
 .../bookkeeper/metastore/MetastoreTable.java       |    2 +-
 .../bookkeeper/metastore/MetastoreTableItem.java   |    2 +-
 .../bookkeeper/metastore/MetastoreUtils.java       |    3 +-
 .../bookkeeper/metastore/MetastoreWatcher.java     |    2 +-
 .../org/apache/bookkeeper/metastore/Value.java     |    3 +-
 .../bookkeeper/net/AbstractDNSToSwitchMapping.java |    3 +-
 .../java/org/apache/bookkeeper/net/BookieId.java   |    2 +-
 .../java/org/apache/bookkeeper/net/BookieNode.java |    2 +-
 .../apache/bookkeeper/net/BookieSocketAddress.java |    8 +-
 .../bookkeeper/net/CachedDNSToSwitchMapping.java   |    2 +-
 .../bookkeeper/net/CommonConfigurationKeys.java    |    2 +-
 .../main/java/org/apache/bookkeeper/net/DNS.java   |    4 +-
 .../apache/bookkeeper/net/DNSToSwitchMapping.java  |    3 +-
 .../java/org/apache/bookkeeper/net/NetUtils.java   |    2 +-
 .../apache/bookkeeper/net/NetworkTopologyImpl.java |   10 +-
 .../main/java/org/apache/bookkeeper/net/Node.java  |    3 +-
 .../java/org/apache/bookkeeper/net/NodeBase.java   |    2 +-
 .../apache/bookkeeper/net/ScriptBasedMapping.java  |    3 +-
 .../bookkeeper/net/StabilizeNetworkTopology.java   |    2 -
 .../bookkeeper/processor/RequestProcessor.java     |    2 +-
 .../org/apache/bookkeeper/proto/AuthHandler.java   |    5 +-
 .../java/org/apache/bookkeeper/proto/BKStats.java  |    3 +-
 .../org/apache/bookkeeper/proto/BookieClient.java  |    1 -
 .../apache/bookkeeper/proto/BookieClientImpl.java  |   69 +-
 .../bookkeeper/proto/BookieConnectionPeer.java     |    2 +-
 .../apache/bookkeeper/proto/BookieNettyServer.java |   36 +-
 .../bookkeeper/proto/BookieProtoEncoding.java      |   78 +-
 .../apache/bookkeeper/proto/BookieProtocol.java    |   46 +-
 .../bookkeeper/proto/BookieRequestHandler.java     |    4 +-
 .../bookkeeper/proto/BookieRequestProcessor.java   |    8 +-
 .../org/apache/bookkeeper/proto/BookieServer.java  |    3 +-
 .../proto/BookkeeperInternalCallbacks.java         |    2 -
 .../bookkeeper/proto/ClientConnectionPeer.java     |    2 +-
 .../apache/bookkeeper/proto/ConnectionPeer.java    |    2 +-
 .../proto/DefaultPerChannelBookieClientPool.java   |    1 -
 .../bookkeeper/proto/ForceLedgerProcessorV3.java   |    4 +-
 .../bookkeeper/proto/GetBookieInfoProcessorV3.java |   14 +-
 .../proto/GetListOfEntriesOfLedgerProcessorV3.java |    3 +-
 .../bookkeeper/proto/LocalBookiesRegistry.java     |    2 +-
 .../proto/LongPollReadEntryProcessorV3.java        |    2 +-
 .../bookkeeper/proto/PacketProcessorBase.java      |   51 +-
 .../bookkeeper/proto/PacketProcessorBaseV3.java    |   12 +-
 .../bookkeeper/proto/PerChannelBookieClient.java   |   96 +-
 .../bookkeeper/proto/ReadEntryProcessor.java       |    9 +-
 .../bookkeeper/proto/ReadEntryProcessorV3.java     |   11 +-
 .../bookkeeper/proto/ReadLacProcessorV3.java       |    7 +-
 .../org/apache/bookkeeper/proto/RequestStats.java  |   10 +
 .../org/apache/bookkeeper/proto/RequestUtils.java  |    2 +-
 .../apache/bookkeeper/proto/ResponseBuilder.java   |    2 +-
 .../proto/SimpleBookieServiceInfoProvider.java     |    2 +-
 .../bookkeeper/proto/WriteEntryProcessor.java      |    6 +-
 .../bookkeeper/proto/WriteEntryProcessorV3.java    |    8 +-
 .../bookkeeper/proto/WriteLacProcessorV3.java      |    6 +-
 .../proto/checksum/CRC32CDigestManager.java        |   26 +-
 .../proto/checksum/CRC32DigestManager.java         |   15 +-
 .../bookkeeper/proto/checksum/DigestManager.java   |   85 +-
 .../proto/checksum/DirectMemoryCRC32Digest.java    |    7 +-
 .../proto/checksum/DummyDigestManager.java         |   13 +-
 .../proto/checksum/MacDigestManager.java           |   13 +-
 .../proto/checksum/StandardCRC32Digest.java        |    6 +-
 .../org/apache/bookkeeper/replication/Auditor.java | 1871 ++------------------
 .../replication/AuditorBookieCheckTask.java        |  189 ++
 .../replication/AuditorCheckAllLedgersTask.java    |  285 +++
 .../bookkeeper/replication/AuditorElector.java     |   14 +-
 .../AuditorPlacementPolicyCheckTask.java           |  313 ++++
 .../replication/AuditorReplicasCheckTask.java      |  759 ++++++++
 .../bookkeeper/replication/AuditorStats.java       |  294 +++
 .../apache/bookkeeper/replication/AuditorTask.java |  151 ++
 .../bookkeeper/replication/AutoRecoveryMain.java   |   10 +-
 .../replication/BookieLedgerIndexer.java           |    3 +-
 .../replication/ReplicationEnableCb.java           |    3 +-
 .../replication/ReplicationException.java          |    2 +-
 .../bookkeeper/replication/ReplicationWorker.java  |  114 +-
 .../bookkeeper/sasl/JAASCredentialsContainer.java  |    2 +-
 .../bookkeeper/sasl/SASLBookieAuthProvider.java    |    3 +-
 .../sasl/SASLBookieAuthProviderFactory.java        |    4 +-
 .../bookkeeper/sasl/SASLClientAuthProvider.java    |    3 +-
 .../bookkeeper/sasl/SASLClientProviderFactory.java |    4 +-
 .../apache/bookkeeper/sasl/SaslClientState.java    |    2 +-
 .../org/apache/bookkeeper/sasl/SaslConstants.java  |    2 +-
 .../apache/bookkeeper/sasl/SaslServerState.java    |    2 -
 .../apache/bookkeeper/sasl/TGTRefreshThread.java   |    2 +-
 .../apache/bookkeeper/server/EmbeddedServer.java   |  641 +++++++
 .../java/org/apache/bookkeeper/server/Main.java    |  265 +--
 .../server/http/BKHttpServiceProvider.java         |   15 +-
 .../server/http/service/BookieSanityService.java   |  111 ++
 .../server/http/service/BookieStateService.java    |    1 -
 .../server/http/service/ClusterInfoService.java    |  137 ++
 .../server/http/service/ConfigurationService.java  |    1 -
 .../server/http/service/DecommissionService.java   |    1 -
 .../server/http/service/DeleteLedgerService.java   |    4 +-
 .../server/http/service/ExpandStorageService.java  |    5 +-
 .../server/http/service/GetLastLogMarkService.java |   14 +-
 .../server/http/service/GetLedgerMetaService.java  |    4 +-
 .../server/http/service/ListBookieInfoService.java |    6 +-
 .../server/http/service/ListBookiesService.java    |    6 +-
 .../server/http/service/ListDiskFilesService.java  |    6 +-
 .../server/http/service/ListLedgerService.java     |    4 +-
 .../service/ListUnderReplicatedLedgerService.java  |    4 +-
 .../service/LostBookieRecoveryDelayService.java    |    5 +-
 .../http/service/ReadLedgerEntryService.java       |    5 +-
 .../server/http/service/RecoveryBookieService.java |    8 +-
 .../http/service/ResumeCompactionService.java      |   86 +
 .../http/service/SuspendCompactionService.java     |   99 ++
 .../server/http/service/TriggerAuditService.java   |    4 +-
 .../server/http/service/WhoIsAuditorService.java   |    4 +-
 .../server/service/AutoRecoveryService.java        |    1 -
 .../bookkeeper/server/service/BookieService.java   |    1 -
 .../bookkeeper/server/service/HttpService.java     |    1 -
 .../bookkeeper/server/service/ScrubberService.java |    4 +-
 .../apache/bookkeeper/tls/BookieAuthZFactory.java  |    5 +-
 .../bookkeeper/tls/FileModifiedTimeUpdater.java    |    3 +-
 .../apache/bookkeeper/tls/SecurityException.java   |    2 +-
 .../bookkeeper/tls/SecurityHandlerFactory.java     |    3 +-
 .../tls/SecurityProviderFactoryFactory.java        |    2 +-
 .../apache/bookkeeper/tls/TLSContextFactory.java   |    7 +-
 .../QueryAutoRecoveryStatusCommand.java            |    1 +
 .../cli/commands/autorecovery/package-info.java    |    3 +-
 .../bookie/ConvertToInterleavedStorageCommand.java |   13 +-
 .../tools/cli/commands/bookie/InitCommand.java     |    1 +
 .../commands/bookie/ListActiveLedgersCommand.java  |    2 +-
 .../cli/commands/bookie/ListLedgersCommand.java    |    4 +-
 .../cli/commands/bookies/DecommissionCommand.java  |    1 +
 .../tools/cli/commands/bookies/InfoCommand.java    |    1 -
 .../cli/commands/bookies/ListBookiesCommand.java   |   14 +-
 .../cli/commands/client/LedgerMetaDataCommand.java |   18 +-
 .../cli/commands/client/SimpleTestCommand.java     |   49 +-
 .../tools/cli/commands/cookie/AdminCommand.java    |    1 +
 .../tools/cli/commands/health/package-info.java    |    3 +-
 .../tools/cli/helpers/DiscoveryCommand.java        |    6 +-
 .../util/AvailabilityOfEntriesOfLedger.java        |    3 +-
 .../bookkeeper/util/BookKeeperConstants.java       |    2 +-
 .../org/apache/bookkeeper/util/ByteBufList.java    |   26 +-
 .../java/org/apache/bookkeeper/util/CertUtils.java |    3 +-
 .../bookkeeper/util/DaemonThreadFactory.java       |    2 +-
 .../org/apache/bookkeeper/util/DiskChecker.java    |    4 +-
 .../org/apache/bookkeeper/util/EventLoopUtil.java  |   73 +-
 .../java/org/apache/bookkeeper/util/HardLink.java  |    2 +-
 .../bookkeeper/util/HexDumpEntryFormatter.java     |    1 -
 .../java/org/apache/bookkeeper/util/IOUtils.java   |    1 -
 .../apache/bookkeeper/util/LedgerIdFormatter.java  |    1 -
 .../apache/bookkeeper/util/LocalBookKeeper.java    |    3 +-
 .../bookkeeper/util/OrderedGenericCallback.java    |    8 +-
 .../util/{NativeIO.java => PageCacheUtil.java}     |   66 +-
 .../org/apache/bookkeeper/util/SafeRunnable.java   |    2 +-
 .../java/org/apache/bookkeeper/util/Shell.java     |    2 +-
 .../org/apache/bookkeeper/util/SnapshotMap.java    |    2 +-
 .../bookkeeper/util/StringEntryFormatter.java      |    1 -
 .../org/apache/bookkeeper/util/StringUtils.java    |    3 +-
 .../org/apache/bookkeeper/util/SubTreeCache.java   |    1 -
 .../main/java/org/apache/bookkeeper/util/Tool.java |    2 +-
 .../org/apache/bookkeeper/util/ZeroBuffer.java     |    2 +-
 .../java/org/apache/bookkeeper/util/ZkUtils.java   |    1 -
 .../util/collections/ConcurrentLongHashMap.java    |   44 +-
 .../util/collections/ConcurrentLongHashSet.java    |   31 +-
 .../collections/ConcurrentLongLongHashMap.java     |   40 +-
 .../collections/ConcurrentLongLongPairHashMap.java |   32 +-
 .../util/collections/ConcurrentOpenHashMap.java    |   40 +-
 .../util/collections/ConcurrentOpenHashSet.java    |   31 +-
 .../util/collections/SynchronizedHashMultiMap.java |    1 -
 .../bookkeeper/verifier/BookkeeperVerifier.java    |    4 +-
 .../verifier/BookkeeperVerifierMain.java           |    2 +-
 .../verifier/DirectBookkeeperDriver.java           |    3 +-
 .../apache/bookkeeper/versioning/Versioned.java    |    2 +-
 .../BoundExponentialBackoffRetryPolicy.java        |    2 +-
 .../ExponentialBackOffWithDeadlinePolicy.java      |    2 +-
 .../zookeeper/ExponentialBackoffRetryPolicy.java   |    2 +-
 .../apache/bookkeeper/zookeeper/RetryPolicy.java   |    2 +-
 .../bookkeeper/zookeeper/ZooKeeperClient.java      |    2 +-
 .../bookkeeper/zookeeper/ZooKeeperWatcherBase.java |    2 +-
 .../org/apache/bookkeeper/zookeeper/ZooWorker.java |    2 +-
 .../java/org/apache/bookkeeper/auth/TestAuth.java  |    1 -
 .../bookkeeper/bookie/AdvertisedAddressTest.java   |    1 +
 .../apache/bookkeeper/bookie/BookieAccessor.java   |    3 +-
 .../apache/bookkeeper/bookie/BookieImplTest.java   |  195 ++
 .../bookie/BookieInitializationTest.java           |    6 +-
 .../bookkeeper/bookie/BookieJournalBypassTest.java |    1 +
 .../bookkeeper/bookie/BookieJournalForceTest.java  |    2 +
 .../bookie/BookieJournalMaxMemoryTest.java         |    2 +
 .../bookkeeper/bookie/BookieJournalNoSyncTest.java |    1 -
 .../bookie/BookieJournalPageCacheFlushTest.java    |    4 +-
 .../bookkeeper/bookie/BookieJournalTest.java       |   16 +-
 .../bookie/BookieMultipleJournalsTest.java         |   42 +-
 .../apache/bookkeeper/bookie/BookieShellTest.java  |    2 +
 .../bookkeeper/bookie/BookieShutdownTest.java      |    1 -
 .../bookkeeper/bookie/BookieStickyReadsTest.java   |   22 +-
 .../bookie/BookieStorageThresholdTest.java         |    1 -
 .../apache/bookkeeper/bookie/BookieThreadTest.java |    3 +-
 .../bookie/BookieWriteToJournalTest.java           |    4 +-
 .../bookkeeper/bookie/BufferedChannelTest.java     |    2 -
 .../bookie/CheckpointOnNewLedgersTest.java         |    5 +-
 .../apache/bookkeeper/bookie/CompactionTest.java   |   61 +-
 .../bookkeeper/bookie/CookieIndexDirTest.java      |   31 +
 .../org/apache/bookkeeper/bookie/CookieTest.java   |    2 +-
 .../apache/bookkeeper/bookie/CreateNewLogTest.java |    5 +-
 .../bookkeeper/bookie/DefaultEntryLogTest.java     |    9 +-
 .../bookie/EnableZkSecurityBasicTest.java          |    1 -
 .../bookkeeper/bookie/EntryMemTableTest.java       |    3 -
 .../bookie/FileInfoBackingCacheTest.java           |    4 +-
 .../bookie/GarbageCollectorThreadTest.java         |    2 -
 .../bookkeeper/bookie/IndexCorruptionTest.java     |    9 +-
 .../bookkeeper/bookie/IndexPersistenceMgrTest.java |  129 +-
 .../bookie/InterleavedLedgerStorageTest.java       |    4 +-
 .../apache/bookkeeper/bookie/LedgerCacheTest.java  |   11 +-
 .../bookkeeper/bookie/LedgerDirsManagerTest.java   |  121 +-
 .../bookie/LedgerStorageCheckpointTest.java        |    4 +-
 .../bookkeeper/bookie/LedgerStorageTest.java       |    4 +-
 .../bookkeeper/bookie/MockLedgerStorage.java       |   26 +-
 .../bookie/MockUncleanShutdownDetection.java       |    2 +-
 .../bookkeeper/bookie/SkipListArenaTest.java       |    2 -
 .../bookie/SlowInterleavedLedgerStorage.java       |    2 -
 .../bookie/SortedLedgerStorageCheckpointTest.java  |    1 -
 .../bookkeeper/bookie/SortedLedgerStorageTest.java |    4 +-
 .../apache/bookkeeper/bookie/StateManagerTest.java |    2 +-
 .../apache/bookkeeper/bookie/SyncThreadTest.java   |    3 +-
 .../apache/bookkeeper/bookie/TestBookieImpl.java   |    3 +-
 .../bookie/UncleanShutdownDetectionTest.java       |    2 +-
 .../bookkeeper/bookie/UpdateCookieCmdTest.java     |    2 +-
 .../org/apache/bookkeeper/bookie/UpgradeTest.java  |    2 -
 .../bookie/datainteg/CookieValidationTest.java     |    4 -
 .../bookie/datainteg/DataIntegrityCheckTest.java   |    5 -
 .../bookie/datainteg/DataIntegrityServiceTest.java |    2 -
 .../bookie/datainteg/EntryCopierTest.java          |    5 -
 .../datainteg/MetadataAsyncIteratorTest.java       |   12 +-
 .../bookkeeper/bookie/datainteg/WriteSetsTest.java |    9 +-
 .../bookie/storage/EntryLogTestUtils.java          |    2 +-
 .../bookkeeper/bookie/storage/MockEntryLogIds.java |    2 +-
 .../bookkeeper/bookie/storage/TestEntryLogIds.java |   51 +-
 .../storage/directentrylogger/TestBuffer.java      |    8 +-
 .../directentrylogger/TestDirectEntryLogger.java   |   11 +-
 .../TestDirectEntryLoggerCompat.java               |    2 +-
 .../directentrylogger/TestDirectReader.java        |   13 +-
 .../directentrylogger/TestDirectWriter.java        |    5 +-
 .../storage/directentrylogger/TestMetadata.java    |   80 +
 .../TestTransactionalEntryLogCompactor.java        |    7 +-
 .../bookie/storage/ldb/ArraySortGroupTest.java     |   38 +-
 .../bookie/storage/ldb/ConversionRollbackTest.java |    2 +-
 .../bookie/storage/ldb/ConversionTest.java         |    2 +-
 .../storage/ldb/DbLedgerStorageBookieTest.java     |    3 +-
 .../storage/ldb/DbLedgerStorageIndexDirTest.java   |    3 +-
 .../bookie/storage/ldb/DbLedgerStorageTest.java    |   17 +-
 .../DbLedgerStorageWithDirectEntryLoggerTest.java  |    3 +-
 .../storage/ldb/DbLedgerStorageWriteCacheTest.java |   12 +-
 .../storage/ldb/DbReadLedgerIndexEntriesTest.java  |    3 +-
 .../bookie/storage/ldb/EntryLocationIndexTest.java |   96 +-
 .../storage/ldb/KeyValueStorageRocksDBTest.java    |   81 +
 .../bookie/storage/ldb/KeyValueStorageTest.java    |    4 +-
 ...triesTest.java => LedgersIndexCheckOpTest.java} |   44 +-
 ...iesTest.java => LedgersIndexRebuildOpTest.java} |   44 +-
 .../storage/ldb/LedgersIndexRebuildTest.java       |    5 +-
 .../storage/ldb/LocationsIndexRebuildTest.java     |    3 +-
 .../ldb/PersistentEntryLogMetadataMapTest.java     |   17 +-
 .../bookie/storage/ldb/ReadCacheTest.java          |    3 +-
 .../bookie/storage/ldb/WriteCacheTest.java         |   31 +-
 .../apache/bookkeeper/client/BKExceptionTest.java  |    1 -
 .../bookkeeper/client/BookKeeperAdminTest.java     |    3 +-
 .../BookKeeperClientTestsWithBookieErrors.java     |    1 -
 .../bookkeeper/client/BookKeeperCloseTest.java     |    5 +-
 ...KeeperDiskSpaceWeightedLedgerPlacementTest.java |    1 -
 .../apache/bookkeeper/client/BookKeeperTest.java   |    1 +
 .../bookkeeper/client/BookKeeperTestClient.java    |    3 -
 .../client/BookieAddressResolverDisabledTest.java  |   54 +
 .../bookkeeper/client/BookieDecommissionTest.java  |    1 +
 .../client/BookieNetworkAddressChangeTest.java     |    1 +
 .../bookkeeper/client/BookieRecoveryTest.java      |    2 -
 .../client/BookieRecoveryUseIOThreadTest.java      |   80 +
 .../bookkeeper/client/BookieWriteLedgerTest.java   |   39 +-
 ...BookieWriteLedgersWithDifferentDigestsTest.java |   11 +-
 .../org/apache/bookkeeper/client/ClientUtil.java   |    4 +-
 .../client/ConcurrentV2RecoveryTest.java           |    3 -
 .../client/GenericEnsemblePlacementPolicyTest.java |    1 -
 .../bookkeeper/client/HandleFailuresTest.java      |    4 -
 .../apache/bookkeeper/client/LedgerClose2Test.java |    2 -
 .../apache/bookkeeper/client/LedgerCloseTest.java  |    2 -
 .../apache/bookkeeper/client/LedgerCmdTest.java    |    3 +-
 .../bookkeeper/client/LedgerHandleAdapter.java     |    3 +-
 .../bookkeeper/client/LedgerRecovery2Test.java     |    3 -
 .../bookkeeper/client/LedgerRecoveryTest.java      |    2 -
 .../apache/bookkeeper/client/ListLedgersTest.java  |    3 +-
 .../apache/bookkeeper/client/MdcContextTest.java   |    2 -
 .../bookkeeper/client/MetadataUpdateLoopTest.java  |    9 +-
 .../apache/bookkeeper/client/MockBookKeeper.java   |   18 +-
 .../bookkeeper/client/MockBookKeeperTest.java      |    3 +-
 .../bookkeeper/client/MockBookKeeperTestCase.java  |    4 +-
 .../bookkeeper/client/MockClientContext.java       |    2 -
 .../apache/bookkeeper/client/MockLedgerEntry.java  |    3 +-
 .../apache/bookkeeper/client/MockLedgerHandle.java |   23 +-
 .../apache/bookkeeper/client/MockReadHandle.java   |   10 +-
 .../client/ParallelLedgerRecoveryTest.java         |    1 +
 .../apache/bookkeeper/client/PendingAddOpTest.java |    2 +-
 .../client/ReadLastConfirmedAndEntryOpTest.java    |    1 -
 .../bookkeeper/client/ReadLastConfirmedOpTest.java |    2 -
 .../client/RoundRobinDistributionScheduleTest.java |    2 -
 .../apache/bookkeeper/client/SlowBookieTest.java   |   97 +-
 .../client/TestAddEntryQuorumTimeout.java          |    1 -
 .../bookkeeper/client/TestBookieHealthCheck.java   |    1 -
 .../bookkeeper/client/TestBookieWatcher.java       |    2 -
 .../bookkeeper/client/TestDelayEnsembleChange.java |    1 +
 .../client/TestDisableEnsembleChange.java          |    4 +-
 .../org/apache/bookkeeper/client/TestFencing.java  |    1 -
 .../client/TestGetBookieInfoTimeout.java           |    6 +-
 .../bookkeeper/client/TestLedgerChecker.java       |    5 +-
 .../client/TestLedgerFragmentReplication.java      |    4 +-
 .../bookkeeper/client/TestMaxSizeWorkersQueue.java |    4 +-
 .../apache/bookkeeper/client/TestParallelRead.java |    1 +
 .../bookkeeper/client/TestPendingReadLacOp.java    |    2 +-
 .../apache/bookkeeper/client/TestPiggybackLAC.java |    3 +-
 .../TestRackawareEnsemblePlacementPolicy.java      |  652 ++++++-
 ...ackawareEnsemblePlacementPolicyUsingScript.java |    5 +-
 .../TestRackawarePolicyNotificationUpdates.java    |    5 -
 .../client/TestReadLastConfirmedAndEntry.java      |    3 +-
 .../client/TestReadLastConfirmedLongPoll.java      |    2 -
 .../apache/bookkeeper/client/TestReadTimeout.java  |    1 -
 .../TestRegionAwareEnsemblePlacementPolicy.java    |  273 +++
 .../apache/bookkeeper/client/TestSequenceRead.java |    1 -
 .../bookkeeper/client/TestSpeculativeRead.java     |    5 +-
 .../client/TestTryReadLastConfirmed.java           |    1 -
 .../client/TestWeightedRandomSelection.java        |    1 -
 .../TestZoneawareEnsemblePlacementPolicy.java      |   35 +-
 .../bookkeeper/client/UpdateLedgerCmdTest.java     |    3 +-
 .../bookkeeper/client/UpdateLedgerOpTest.java      |    3 +-
 .../api/BookKeeperBuildersOpenLedgerTest.java      |  167 ++
 .../client/api/BookKeeperBuildersTest.java         |   43 +-
 .../api/ExplicitLACWithWriteHandleAPITest.java     |    2 +-
 .../bookkeeper/client/api/LedgerMetadataTest.java  |    1 +
 .../bookkeeper/client/api/WriteFlagTest.java       |    2 +-
 .../bookkeeper/conf/TestBKConfiguration.java       |    1 -
 .../bookkeeper/conf/TestServerConfiguration.java   |   22 +-
 .../discover/AbstractTestZkRegistrationClient.java |    5 +-
 .../bookkeeper/discover/BookieServiceInfoTest.java |    1 +
 .../discover/MockRegistrationClient.java           |    1 -
 .../discover/MockRegistrationManager.java          |    1 -
 .../meta/AbstractZkLedgerManagerTest.java          |    9 +-
 .../bookkeeper/meta/CleanupLedgerManagerTest.java  |   81 +
 .../org/apache/bookkeeper/meta/GcLedgersTest.java  |    1 +
 .../bookkeeper/meta/LedgerManagerIteratorTest.java |    1 -
 .../bookkeeper/meta/LedgerManagerTestCase.java     |    2 -
 .../meta/LedgerMetadataCreationTest.java           |    1 -
 .../apache/bookkeeper/meta/MockLedgerManager.java  |    7 +-
 .../bookkeeper/meta/TestLedgerMetadataSerDe.java   |    2 +-
 .../meta/TestLongZkLedgerIdGenerator.java          |    4 +-
 .../bookkeeper/meta/TestZkLedgerIdGenerator.java   |    4 +-
 .../apache/bookkeeper/meta/ZkLedgerLayoutTest.java |    2 +-
 .../meta/zk/ZKMetadataBookieDriverTest.java        |    2 +
 .../meta/zk/ZKMetadataClientDriverTest.java        |    2 +
 .../meta/zk/ZKMetadataDriverBaseTest.java          |    2 +
 ...etastoreScannableTableAsyncToSyncConverter.java |    3 +-
 .../MetastoreTableAsyncToSyncConverter.java        |    3 +-
 .../apache/bookkeeper/metastore/TestMetaStore.java |    4 +-
 .../org/apache/bookkeeper/net/BookieIdTest.java    |    3 +-
 .../net/ResolvedBookieSocketAddressTest.java       |    2 +-
 .../proto/BookieBackpressureForV2Test.java         |    2 +-
 .../bookkeeper/proto/BookieBackpressureTest.java   |    1 +
 .../bookkeeper/proto/BookieProtoEncodingTest.java  |    6 +-
 .../proto/ForceLedgerProcessorV3Test.java          |    1 +
 .../proto/GetBookieInfoProcessorV3Test.java        |  101 ++
 .../proto/LongPollReadEntryProcessorV3Test.java    |    1 +
 .../apache/bookkeeper/proto/MockBookieClient.java  |   37 +-
 .../apache/bookkeeper/proto/MockLedgerData.java    |    1 -
 .../bookkeeper/proto/NetworkLessBookieTest.java    |    1 -
 .../bookkeeper/proto/ReadEntryProcessorTest.java   |    2 +
 .../org/apache/bookkeeper/proto/TestBKStats.java   |    2 +-
 .../bookkeeper/proto/TestBackwardCompatCMS42.java  |    5 +-
 .../proto/TestBookieRequestProcessor.java          |    4 +-
 .../proto/TestPerChannelBookieClient.java          |   11 +-
 .../bookkeeper/proto/WriteEntryProcessorTest.java  |   22 +-
 .../proto/WriteEntryProcessorV3Test.java           |    1 +
 .../replication/AuditorBookieCheckTaskTest.java    |  153 ++
 .../bookkeeper/replication/AuditorBookieTest.java  |   23 +-
 .../AuditorCheckAllLedgersTaskTest.java            |  104 ++
 .../replication/AuditorLedgerCheckerTest.java      |  114 +-
 .../AuditorPeriodicBookieCheckTest.java            |    3 +-
 .../replication/AuditorPeriodicCheckTest.java      |   85 +-
 .../AuditorPlacementPolicyCheckTaskTest.java       |  105 ++
 .../AuditorPlacementPolicyCheckTest.java           |  148 +-
 .../replication/AuditorReplicasCheckTaskTest.java  |   97 +
 .../replication/AuditorReplicasCheckTest.java      |   15 +-
 .../replication/AuditorRollingRestartTest.java     |    2 +-
 .../replication/AuthAutoRecoveryTest.java          |    2 +-
 .../replication/AutoRecoveryMainTest.java          |   71 +-
 .../replication/BookieAutoRecoveryTest.java        |   32 +-
 .../replication/BookieLedgerIndexTest.java         |    3 +-
 .../replication/ReplicationTestUtil.java           |    2 +-
 .../TestAutoRecoveryAlongWithBookieServers.java    |    2 +-
 .../TestLedgerUnderreplicationManager.java         |   28 +-
 .../replication/TestReplicationWorker.java         |  262 ++-
 .../bookkeeper/sasl/GSSAPIBookKeeperTest.java      |    1 +
 .../bookkeeper/sasl/MD5DigestBookKeeperTest.java   |    1 -
 .../java/org/apache/bookkeeper/sasl/MiniKdc.java   |    2 +-
 .../apache/bookkeeper/server/TestBookieBoot.java   |    2 +-
 .../{TestMain.java => TestEmbeddedServer.java}     |  110 +-
 .../component/TestServerLifecycleComponent.java    |    1 -
 .../bookkeeper/server/http/TestHttpService.java    |  126 +-
 .../server/http/service/ListLedgerServiceTest.java |    3 +-
 .../apache/bookkeeper/test/AsyncLedgerOpsTest.java |   22 +-
 .../bookkeeper/test/BookKeeperClusterTestCase.java |   15 +-
 .../apache/bookkeeper/test/BookieClientTest.java   |    1 -
 .../apache/bookkeeper/test/BookieFailureTest.java  |   20 +-
 .../bookkeeper/test/BookieJournalRollingTest.java  |   36 +-
 .../BookieJournalRollingWithReuseJournalTest.java  |   84 +
 .../bookkeeper/test/BookieReadWriteTest.java       |  156 +-
 .../apache/bookkeeper/test/BookieZKExpireTest.java |   97 +-
 .../bookkeeper/test/ConcurrentLedgerTest.java      |    1 +
 .../apache/bookkeeper/test/ConditionalSetTest.java |   17 +-
 .../apache/bookkeeper/test/ConfigurationTest.java  |    3 +-
 .../bookkeeper/test/ForceReadOnlyBookieTest.java   |    4 +-
 .../bookkeeper/test/LedgerCreateDeleteTest.java    |    2 -
 .../apache/bookkeeper/test/LedgerDeleteTest.java   |    1 -
 .../bookkeeper/test/LocalBookiesRegistryTest.java  |    3 +-
 .../bookkeeper/test/MultipleThreadReadTest.java    |    1 -
 .../apache/bookkeeper/test/ReadOnlyBookieTest.java |   32 +-
 .../org/apache/bookkeeper/test/TestCallbacks.java  |    3 +-
 .../apache/bookkeeper/test/ZooKeeperCluster.java   |    3 +-
 .../bookkeeper/test/ZooKeeperClusterUtil.java      |    4 +-
 .../org/apache/bookkeeper/test/ZooKeeperUtil.java  |   13 +-
 .../bookkeeper/tls/TestBookieAuthZFactory.java     |    3 +-
 .../java/org/apache/bookkeeper/tls/TestTLS.java    |    4 +-
 .../util/AvailabilityOfEntriesOfLedgerTest.java    |    3 +-
 .../apache/bookkeeper/util/ByteBufListTest.java    |    2 -
 .../bookkeeper/util/IteratorUtilityTest.java       |    1 -
 .../apache/bookkeeper/util/StaticDNSResolver.java  |    1 -
 .../apache/bookkeeper/util/SubTreeCacheTest.java   |    1 -
 .../apache/bookkeeper/util/TestDiskChecker.java    |    2 +-
 .../java/org/apache/bookkeeper/util/TestUtils.java |    2 -
 .../org/apache/bookkeeper/util/TestZeroBuffer.java |    1 -
 .../org/apache/bookkeeper/util/TestZkUtils.java    |    4 +-
 .../collections/ConcurrentLongHashMapTest.java     |   70 +-
 .../collections/ConcurrentLongHashSetTest.java     |   36 +-
 .../collections/ConcurrentLongLongHashMapTest.java |   35 +-
 .../ConcurrentLongLongPairHashMapTest.java         |   34 +-
 .../collections/ConcurrentOpenHashMapTest.java     |   35 +-
 .../collections/ConcurrentOpenHashSetTest.java     |   36 +-
 .../collections/SynchronizedHashMultiMapTest.java  |    1 -
 .../verifier/BookkeeperVerifierTest.java           |    2 +-
 .../zookeeper/MockZooKeeperTestCase.java           |   32 +
 .../bookkeeper/zookeeper/TestRetryPolicy.java      |    2 +-
 .../zookeeper/TestZKClientBoundExpBackoffRP.java   |    2 +-
 .../TestZKClientExpBackoffWithDeadlineRP.java      |    2 +-
 .../bookkeeper/zookeeper/TestZooKeeperClient.java  |    4 +-
 .../powermock/extensions/configuration.properties  |   33 +-
 .../resources/test_entry_location_rocksdb.conf     |   14 +-
 .../apache/bookkeeper/slogger/ConsoleSlogger.java  |    1 -
 .../org/apache/bookkeeper/slogger/MockSlogger.java |    1 -
 .../org/apache/bookkeeper/slogger/SloggerTest.java |    3 +-
 .../src/main/resources/bookkeeper/checkstyle.xml   |   60 +-
 .../src/main/resources/bookkeeper/suppressions.xml |    2 +
 .../circe/checksum/Crc32cIntChecksum.java          |    4 +-
 .../com/scurrilous/circe/checksum/IntHash.java     |    5 +
 .../scurrilous/circe/checksum/Java8IntHash.java    |   16 +-
 .../scurrilous/circe/checksum/Java9IntHash.java    |   24 +-
 .../com/scurrilous/circe/checksum/JniIntHash.java  |   20 +-
 .../java/com/scurrilous/circe/crc/JavaCrc32.java   |    1 -
 .../scurrilous/circe/crc/StandardCrcProvider.java  |    1 -
 .../circe/impl/AbstractHashProvider.java           |    1 -
 .../circe/impl/AbstractIncrementalIntHash.java     |    1 -
 .../circe/impl/AbstractIncrementalLongHash.java    |    1 -
 .../circe/impl/AbstractStatefulHash.java           |    1 -
 .../circe/impl/AbstractStatelessIntHash.java       |    1 -
 .../circe/impl/AbstractStatelessLongHash.java      |    1 -
 .../java/com/scurrilous/circe/impl/HashCache.java  |    1 -
 .../circe/impl/IncrementalIntStatefulHash.java     |    1 -
 .../circe/impl/IncrementalLongStatefulHash.java    |    1 -
 .../scurrilous/circe/impl/IntStatefulLongHash.java |    1 -
 .../circe/impl/IntStatelessLongHash.java           |    1 -
 .../com/scurrilous/circe/utils/NativeUtils.java    |    2 +-
 .../scurrilous/circe/checksum/ChecksumTest.java    |   10 +-
 .../circe/impl/AbstractStatefulHashTest.java       |    1 -
 .../circe/impl/AbstractStatelessIntHashTest.java   |    1 -
 .../circe/impl/AbstractStatelessLongHashTest.java  |    1 -
 .../scurrilous/circe/utils/NativeUtilsTests.java   |    2 +-
 conf/bk_server.conf                                |   59 +-
 ...t_rocksdb.conf => default_rocksdb.conf.default} |    0
 ...db.conf => entry_location_rocksdb.conf.default} |    0
 ...b.conf => ledger_metadata_rocksdb.conf.default} |    0
 cpu-affinity/src/main/affinity/cpp/affinity_jni.c  |    2 +-
 .../common/util/affinity/CpuAffinity.java          |    3 +-
 .../common/util/affinity/impl/CpuAffinityImpl.java |    3 +-
 .../common/util/affinity/impl/CpuAffinityJni.java  |    3 +-
 .../util/affinity/impl/IsolatedProcessors.java     |    5 +-
 .../common/util/affinity/impl/NativeUtils.java     |    4 +-
 .../common/util/affinity/impl/ProcessorsInfo.java  |    3 +-
 .../common/util/affinity/impl/CpuInfoTest.java     |    4 +-
 .../util/affinity/impl/IsolatedProcessorsTest.java |    3 +-
 deploy/docker-compose/README.md                    |   21 +-
 deploy/docker-compose/compose/Chart.yaml           |    4 +-
 .../compose/templates/docker-compose.yml           |   69 +-
 deploy/docker-compose/compose/values.yaml          |    9 +-
 deploy/docker-compose/docker-compose.yaml          |  101 +-
 deploy/kubernetes/gke/bookkeeper.statefulset.yml   |    2 +-
 deploy/kubernetes/gke/bookkeeper.yaml              |    2 +-
 dev/docker/Dockerfile                              |    2 +-
 dev/release/Dockerfile                             |    2 +-
 docker/Dockerfile                                  |   29 +-
 docker/docker-compose.yml                          |    3 -
 docker/scripts/apply-config-from-env.py            |   10 +-
 .../metadata/etcd/Etcd64bitIdGenerator.java        |    1 -
 .../metadata/etcd/EtcdBookieRegister.java          |    4 -
 .../bookkeeper/metadata/etcd/EtcdConstants.java    |    2 +-
 .../metadata/etcd/EtcdLayoutManager.java           |    2 -
 .../metadata/etcd/EtcdLedgerManager.java           |    3 -
 .../metadata/etcd/EtcdRegistrationClient.java      |    2 -
 .../metadata/etcd/EtcdRegistrationManager.java     |    2 -
 .../bookkeeper/metadata/etcd/EtcdWatchClient.java  |    2 -
 .../metadata/etcd/helpers/KeySetReader.java        |    2 -
 .../metadata/etcd/helpers/KeyStream.java           |    3 -
 .../metadata/etcd/helpers/ValueStream.java         |    1 -
 .../bookkeeper/metadata/etcd/EtcdClusterTest.java  |    1 -
 .../metadata/etcd/EtcdRegistrationTest.java        |    2 -
 .../metadata/etcd/helpers/HelpersTest.java         |    2 -
 .../metadata/etcd/helpers/KeySetReaderTest.java    |    2 -
 .../metadata/etcd/testing/EtcdTestBase.java        |    2 -
 .../bookkeeper/bookie/GroupSortBenchmark.java      |  118 ++
 .../common/OrderedExecutorBenchmark.java           |    2 -
 .../apache/bookkeeper/proto/ProtocolBenchmark.java |    2 -
 .../proto/checksum/DigestManagerBenchmark.java     |  102 ++
 .../proto/checksum/DigestTypeBenchmark.java        |   32 +-
 .../bookkeeper/stats/StatsLoggerBenchmark.java     |    1 -
 .../bookkeeper/stats/codahale/TimerBenchmark.java  |    2 +-
 .../bookkeeper/common/util/nativeio/NativeIO.java  |    8 +-
 .../common/util/nativeio/NativeIOException.java    |    2 +-
 .../common/util/nativeio/NativeIOImpl.java         |    7 +-
 .../common/util/nativeio/NativeIOJni.java          |    4 +-
 .../common/util/nativeio/NativeUtils.java          |    4 +-
 .../src/main/native-io-jni/cpp/native_io_jni.c     |   23 +-
 pom.xml                                            |   92 +-
 shaded/bookkeeper-server-shaded/pom.xml            |    1 +
 shaded/distributedlog-core-shaded/pom.xml          |    6 -
 site3/website/docs/admin/decomission.md            |    4 +-
 site3/website/docs/admin/http.md                   |  105 +-
 site3/website/docs/admin/upgrade.md                |    2 +-
 site3/website/docs/api/ledger-api.md               |    2 +-
 site3/website/docs/deployment/manual.md            |    4 +-
 site3/website/docs/getting-started/concepts.md     |    2 +-
 site3/website/docs/reference/cli.md                |   13 +
 site3/website/docs/reference/config.md             |   42 +-
 site3/website/docusaurus.config.js                 |    4 +-
 site3/website/src/pages/bps/BP-31-durability.md    |    2 +-
 site3/website/src/pages/bps/BP-41-bookieid.md      |    2 +-
 .../src/pages/community/bookkeeper-proposals.md    |    2 +-
 site3/website/src/pages/community/contributing.md  |    6 +-
 site3/website/src/pages/community/mailing-lists.md |    8 +-
 site3/website/src/pages/community/meeting.md       |    2 +-
 site3/website/src/pages/community/slack.md         |    2 +-
 site3/website/src/pages/release-notes.md           |  286 ++-
 site3/website/src/pages/releases.md                |    6 +-
 site3/website/src/theme/DocVersionBanner/index.js  |    3 +
 .../versioned_docs/version-4.10.0/admin/http.md    |    2 +-
 .../versioned_docs/version-4.11.1/admin/http.md    |    2 +-
 .../versioned_docs/version-4.12.1/admin/http.md    |    2 +-
 .../versioned_docs/version-4.13.0/admin/http.md    |    2 +-
 .../versioned_docs/version-4.14.5/admin/http.md    |  510 ------
 .../admin/autorecovery.md                          |    0
 .../admin/bookies.md                               |    0
 .../admin/decomission.md                           |    0
 .../admin/geo-replication.md                       |    0
 .../admin/http.md                                  |    2 +-
 .../admin/metrics.md                               |    0
 .../admin/perf.md                                  |    0
 .../admin/placement.md                             |    0
 .../admin/upgrade.md                               |    0
 .../api/distributedlog-api.md                      |    0
 .../api/ledger-adv-api.md                          |    0
 .../api/ledger-api.md                              |    8 +-
 .../api/overview.md                                |    0
 .../deployment/kubernetes.md                       |    0
 .../deployment/manual.md                           |    0
 .../development/codebase.md                        |    0
 .../development/protocol.md                        |    0
 .../getting-started/concepts.md                    |    0
 .../getting-started/installation.md                |    0
 .../getting-started/run-locally.md                 |    0
 .../overview/overview.md                           |    6 +-
 .../reference/cli.md                               |    0
 .../reference/config.md                            |    0
 .../reference/metrics.md                           |    0
 .../security/overview.md                           |    0
 .../security/sasl.md                               |    0
 .../security/tls.md                                |    0
 .../security/zookeeper.md                          |    0
 .../versioned_docs/version-4.15.0/admin/http.md    |  510 ------
 .../admin/autorecovery.md                          |    0
 .../admin/bookies.md                               |    0
 .../admin/decomission.md                           |    0
 .../admin/geo-replication.md                       |    0
 .../admin/http.md                                  |    2 +-
 .../admin/metrics.md                               |    0
 .../admin/perf.md                                  |    0
 .../admin/placement.md                             |    0
 .../admin/upgrade.md                               |    0
 .../api/distributedlog-api.md                      |    0
 .../api/ledger-adv-api.md                          |    0
 .../api/ledger-api.md                              |    0
 .../api/overview.md                                |    0
 .../deployment/kubernetes.md                       |    0
 .../deployment/manual.md                           |    0
 .../development/codebase.md                        |    0
 .../development/protocol.md                        |    0
 .../getting-started/concepts.md                    |    0
 .../getting-started/installation.md                |    0
 .../getting-started/run-locally.md                 |    0
 .../overview/overview.md                           |    2 +-
 .../reference/cli.md                               |    0
 .../reference/config.md                            |    6 +
 .../security/overview.md                           |    0
 .../security/sasl.md                               |    0
 .../security/tls.md                                |    0
 .../security/zookeeper.md                          |    0
 .../versioned_docs/version-4.8.2/admin/http.md     |    2 +-
 .../versioned_docs/version-4.9.2/admin/http.md     |    2 +-
 ...-sidebars.json => version-4.14.7-sidebars.json} |   48 +-
 ...-sidebars.json => version-4.15.3-sidebars.json} |    0
 site3/website/versions.json                        |    4 +-
 site3/website/yarn.lock                            |   85 +-
 src/owasp-dependency-check-suppressions.xml        |   34 +-
 .../apache/bookkeeper/stats/AlertStatsLogger.java  |    2 +-
 .../bookkeeper/stats/CachingStatsLogger.java       |    4 +-
 .../bookkeeper/stats/CachingStatsProvider.java     |    2 +-
 .../java/org/apache/bookkeeper/stats/Counter.java  |   14 +-
 .../java/org/apache/bookkeeper/stats/Gauge.java    |    2 +-
 .../apache/bookkeeper/stats/NullStatsLogger.java   |   10 +-
 .../apache/bookkeeper/stats/NullStatsProvider.java |    2 +-
 .../org/apache/bookkeeper/stats/OpStatsData.java   |    2 +-
 .../org/apache/bookkeeper/stats/OpStatsLogger.java |   10 +-
 .../java/org/apache/bookkeeper/stats/Stats.java    |    2 +-
 .../org/apache/bookkeeper/stats/StatsLogger.java   |    2 +-
 .../org/apache/bookkeeper/stats/StatsProvider.java |    2 +-
 .../apache/bookkeeper/stats/ThreadRegistry.java    |    3 +-
 .../stats/codahale/CodahaleMetricsProvider.java    |    2 +-
 .../stats/codahale/CodahaleOpStatsLogger.java      |    2 +-
 .../stats/codahale/CodahaleStatsLogger.java        |   11 +-
 .../codahale/FastCodahaleMetricsProvider.java      |    2 +-
 .../stats/codahale/FastCodahaleStatsLogger.java    |    6 +-
 .../bookkeeper/stats/codahale/FastSnapshot.java    |    2 +-
 .../bookkeeper/stats/codahale/FastTimer.java       |    3 +-
 .../stats/codahale/CodahaleOpStatsTest.java        |    2 +-
 .../bookkeeper/stats/codahale/FastTimerTest.java   |    4 +-
 .../prometheus-metrics-provider/pom.xml            |    6 +-
 .../prometheus/DataSketchesOpStatsLogger.java      |    5 +-
 .../stats/prometheus/LongAdderCounter.java         |   16 +-
 .../prometheus/PrometheusMetricsProvider.java      |   85 +-
 .../stats/prometheus/PrometheusServlet.java        |    4 +-
 .../stats/prometheus/PrometheusStatsLogger.java    |    3 +-
 .../stats/prometheus/PrometheusTextFormat.java     |    3 +-
 .../bookkeeper/stats/prometheus/ScopeContext.java  |    2 +-
 .../bookkeeper/stats/prometheus/SimpleGauge.java   |    2 +-
 .../ThreadScopedDataSketchesStatsLogger.java       |    3 +-
 .../prometheus/ThreadScopedLongAdderCounter.java   |   13 +-
 .../stats/prometheus/PrometheusTextFormatTest.java |    2 +-
 .../stats/prometheus/TestPrometheusFormatter.java  |    4 +-
 .../prometheus/TestPrometheusMetricsProvider.java  |   54 +-
 .../org/apache/bookkeeper/api/kv/package-info.java |    2 +-
 .../grpc/resolver/BKRegistrationNameResolver.java  |    8 +-
 .../bookkeeper/clients/StorageClientBuilder.java   |    1 +
 .../clients/admin/StorageAdminClientImpl.java      |    8 +-
 .../apache/bookkeeper/clients/package-info.java    |    2 +-
 .../impl/channel/StorageServerChannelManager.java  |    8 +-
 .../clients/impl/channel/package-info.java         |    2 +-
 .../clients/impl/internal/LocationClientImpl.java  |    1 -
 .../impl/internal/ProtocolInternalUtils.java       |    1 +
 .../bookkeeper/clients/utils/ClientResources.java  |    1 +
 .../apache/bookkeeper/clients/utils/RpcUtils.java  |    1 +
 .../clients/impl/kv/PByteBufSimpleTableImpl.java   |   25 +-
 .../clients/impl/kv/PByteBufTableRangeImpl.java    |   25 +-
 stream/clients/python/bookkeeper/common/timeout.py |    2 +-
 stream/clients/python/setup.py                     |    2 +-
 .../apache/bookkeeper/common/hash/MurmurHash.java  |    1 +
 .../bookkeeper/common/hash/package-info.java       |    2 +-
 .../common/router/AbstractHashRouter.java          |    5 +-
 .../bookkeeper/common/router/HashRouter.java       |    3 +-
 .../common/router/StringUtf8HashRouter.java        |    2 +-
 .../bookkeeper/common/router/package-info.java     |    2 +-
 .../org/apache/bookkeeper/common/util/Bytes.java   |    2 +-
 .../apache/bookkeeper/common/util/IRevisioned.java |    3 +-
 stream/conf/streamstorage_cli_env.sh               |    2 +-
 stream/conf/streamstorage_env.sh                   |    2 +-
 .../annotations/DistributedLogAnnotations.java     |    2 +-
 .../common/annotations/package-info.java           |    2 +-
 .../common/concurrent/AsyncSemaphore.java          |    2 +-
 .../common/config/ConfigurationSubscription.java   |   14 +-
 .../common/functions/VoidFunctions.java            |    1 -
 .../common/rate/MovingAverageRate.java             |    2 +-
 .../common/rate/MovingAverageRateFactory.java      |    2 +-
 .../common/rate/SampledMovingAverageRate.java      |    3 +-
 .../common/stats/BroadCastStatsLogger.java         |   13 +-
 .../common/stats/OpStatsListener.java              |    2 +-
 .../distributedlog/common/stats/package-info.java  |    2 +-
 .../distributedlog/common/util/BitMaskUtils.java   |    2 +-
 .../distributedlog/common/util/MathUtil.java       |    2 +-
 .../apache/distributedlog/common/util/Permit.java  |    2 +-
 .../common/util/ReferenceCounted.java              |    2 +-
 .../apache/distributedlog/io/AsyncCloseable.java   |    2 +-
 .../apache/distributedlog/io/AsyncDeleteable.java  |    2 +-
 .../apache/distributedlog/io/CompressionCodec.java |    2 +-
 .../apache/distributedlog/io/CompressionUtils.java |    2 +-
 .../io/IdentityCompressionCodec.java               |    2 +-
 .../distributedlog/io/LZ4CompressionCodec.java     |    2 +-
 .../common/config/PropertiesWriter.java            |    4 +-
 .../distributedlog/io/TestCompressionCodec.java    |   13 +-
 .../bookkeeper/client/BookKeeperAccessor.java      |    2 +-
 .../org/apache/bookkeeper/client/LedgerReader.java |    5 +-
 .../distributedlog/AppendOnlyStreamReader.java     |   18 +-
 .../distributedlog/AppendOnlyStreamWriter.java     |    6 +-
 .../apache/distributedlog/AsyncNotification.java   |    2 +-
 .../apache/distributedlog/BKAbstractLogWriter.java |    8 +-
 .../apache/distributedlog/BKAsyncLogReader.java    |   70 +-
 .../apache/distributedlog/BKAsyncLogWriter.java    |    6 +-
 .../distributedlog/BKDistributedLogManager.java    |    2 +-
 .../distributedlog/BKDistributedLogNamespace.java  |    2 +-
 .../org/apache/distributedlog/BKLogHandler.java    |    2 +-
 .../apache/distributedlog/BKLogReadHandler.java    |    2 +-
 .../apache/distributedlog/BKLogSegmentWriter.java  |   13 +-
 .../apache/distributedlog/BKLogWriteHandler.java   |   20 +-
 .../org/apache/distributedlog/BKSyncLogReader.java |    2 +-
 .../org/apache/distributedlog/BKSyncLogWriter.java |   12 +-
 .../apache/distributedlog/BKTransmitPacket.java    |    2 +-
 .../apache/distributedlog/BookKeeperClient.java    |    2 +-
 .../distributedlog/BookKeeperClientBuilder.java    |    2 +-
 .../DistributedLogConfiguration.java               |    2 +-
 .../distributedlog/DistributedLogConstants.java    |    2 +-
 .../main/java/org/apache/distributedlog/Entry.java |    2 +-
 .../org/apache/distributedlog/EntryBuffer.java     |    2 +-
 .../org/apache/distributedlog/EntryPosition.java   |    2 +-
 .../org/apache/distributedlog/EnvelopedEntry.java  |    5 +-
 .../distributedlog/EnvelopedEntryReader.java       |    5 +-
 .../distributedlog/EnvelopedEntryWriter.java       |   10 +-
 .../apache/distributedlog/LocalDLMEmulator.java    |    2 +-
 .../apache/distributedlog/LogSegmentMetadata.java  |    2 +-
 .../distributedlog/MaxLogSegmentSequenceNo.java    |    2 +-
 .../java/org/apache/distributedlog/MaxTxId.java    |    2 +-
 .../distributedlog/ReadAheadEntryReader.java       |    5 +-
 .../java/org/apache/distributedlog/ReadUtils.java  |    2 +-
 .../org/apache/distributedlog/WriteLimiter.java    |    2 +-
 .../org/apache/distributedlog/ZooKeeperClient.java |    4 +-
 .../distributedlog/ZooKeeperClientBuilder.java     |    2 +-
 .../distributedlog/acl/AccessControlManager.java   |    2 +-
 .../acl/DefaultAccessControlManager.java           |    2 +-
 .../apache/distributedlog/acl/package-info.java    |    2 +-
 .../distributedlog/admin/DistributedLogAdmin.java  |    2 +-
 .../apache/distributedlog/admin/package-info.java  |    2 +-
 .../api/subscription/SubscriptionStateStore.java   |    2 +-
 .../api/subscription/SubscriptionsStore.java       |    2 +-
 .../apache/distributedlog/auditor/DLAuditor.java   |    2 +-
 .../bk/DynamicQuorumConfigProvider.java            |    2 +-
 .../bk/ImmutableQuorumConfigProvider.java          |    2 +-
 .../apache/distributedlog/bk/LedgerAllocator.java  |    2 +-
 .../bk/LedgerAllocatorDelegator.java               |    2 +-
 .../distributedlog/bk/LedgerAllocatorPool.java     |    2 +-
 .../distributedlog/bk/LedgerAllocatorUtils.java    |    2 +-
 .../org/apache/distributedlog/bk/QuorumConfig.java |    2 +-
 .../distributedlog/bk/QuorumConfigProvider.java    |    2 +-
 .../distributedlog/bk/SimpleLedgerAllocator.java   |   14 +-
 .../org/apache/distributedlog/bk/package-info.java |    2 +-
 .../callback/LogSegmentListener.java               |    2 +-
 .../callback/LogSegmentNamesListener.java          |    2 +-
 .../distributedlog/callback/NamespaceListener.java |    2 +-
 .../distributedlog/callback/package-info.java      |    2 +-
 .../config/DynamicConfigurationFactory.java        |    2 +-
 .../config/DynamicDistributedLogConfiguration.java |    2 +-
 .../apache/distributedlog/config/package-info.java |    2 +-
 .../distributedlog/exceptions/ZKException.java     |    2 +-
 .../distributedlog/exceptions/package-info.java    |    2 +-
 .../feature/AbstractFeatureProvider.java           |    2 +-
 .../feature/ConfigurationFeatureProvider.java      |    2 +-
 .../distributedlog/feature/CoreFeatureKeys.java    |    2 +-
 .../feature/DefaultFeatureProvider.java            |    2 +-
 .../DynamicConfigurationFeatureProvider.java       |    2 +-
 .../distributedlog/feature/package-info.java       |    2 +-
 .../function/GetLastTxIdFunction.java              |    2 +-
 .../distributedlog/function/package-info.java      |    2 +-
 .../distributedlog/impl/BKNamespaceDriver.java     |    2 +-
 .../distributedlog/impl/ZKLogMetadataStore.java    |    2 +-
 .../distributedlog/impl/ZKLogSegmentFilters.java   |    2 +-
 .../impl/ZKLogSegmentMetadataStore.java            |   11 +-
 .../distributedlog/impl/ZKMetadataAccessor.java    |   10 +-
 .../distributedlog/impl/ZKNamespaceWatcher.java    |    2 +-
 .../distributedlog/impl/acl/ZKAccessControl.java   |    2 +-
 .../impl/acl/ZKAccessControlManager.java           |    2 +-
 .../distributedlog/impl/acl/package-info.java      |    2 +-
 .../federated/FederatedZKLogMetadataStore.java     |    2 +-
 .../impl/federated/package-info.java               |    2 +-
 .../impl/logsegment/BKLogSegmentAllocator.java     |    2 +-
 .../impl/logsegment/BKLogSegmentEntryReader.java   |   11 +-
 .../impl/logsegment/BKLogSegmentEntryStore.java    |    2 +-
 .../impl/logsegment/BKLogSegmentEntryWriter.java   |    2 +-
 .../BKLogSegmentRandomAccessEntryReader.java       |    2 +-
 .../distributedlog/impl/logsegment/BKUtils.java    |    2 +-
 .../impl/logsegment/package-info.java              |    2 +-
 .../distributedlog/impl/metadata/BKDLConfig.java   |    2 +-
 .../impl/metadata/ZKLogStreamMetadataStore.java    |    2 +-
 .../impl/metadata/ZkMetadataResolver.java          |    2 +-
 .../distributedlog/impl/metadata/package-info.java |    2 +-
 .../apache/distributedlog/impl/package-info.java   |    2 +-
 .../subscription/ZKSubscriptionStateStore.java     |    2 +-
 .../impl/subscription/ZKSubscriptionsStore.java    |    2 +-
 .../impl/subscription/package-info.java            |    2 +-
 .../injector/AsyncFailureInjector.java             |    2 +-
 .../injector/AsyncRandomFailureInjector.java       |    2 +-
 .../distributedlog/injector/FailureInjector.java   |    2 +-
 .../injector/RandomDelayFailureInjector.java       |    2 +-
 .../distributedlog/injector/package-info.java      |    2 +-
 .../limiter/ChainedRequestLimiter.java             |    2 +-
 .../limiter/ComposableRequestLimiter.java          |    2 +-
 .../distributedlog/limiter/GuavaRateLimiter.java   |    2 +-
 .../apache/distributedlog/limiter/RateLimiter.java |    2 +-
 .../distributedlog/limiter/RequestLimiter.java     |    2 +-
 .../distributedlog/limiter/package-info.java       |    2 +-
 .../distributedlog/lock/DistributedLock.java       |    2 +-
 .../lock/DistributedLockContext.java               |    3 +-
 .../distributedlog/lock/EpochChangedException.java |    2 +-
 .../org/apache/distributedlog/lock/LockAction.java |    2 +-
 .../distributedlog/lock/LockClosedException.java   |    2 +-
 .../apache/distributedlog/lock/LockListener.java   |    2 +-
 .../lock/LockSessionExpiredException.java          |    2 +-
 .../lock/LockStateChangedException.java            |    2 +-
 .../distributedlog/lock/LockTimeoutException.java  |    2 +-
 .../org/apache/distributedlog/lock/LockWaiter.java |    2 +-
 .../distributedlog/lock/NopDistributedLock.java    |    2 +-
 .../apache/distributedlog/lock/SessionLock.java    |    2 +-
 .../distributedlog/lock/SessionLockFactory.java    |    2 +-
 .../distributedlog/lock/ZKDistributedLock.java     |    2 +-
 .../apache/distributedlog/lock/ZKSessionLock.java  |  173 +-
 .../distributedlog/lock/ZKSessionLockFactory.java  |   64 +-
 .../apache/distributedlog/lock/package-info.java   |    2 +-
 .../logsegment/LogSegmentEntryReader.java          |    2 +-
 .../logsegment/LogSegmentEntryStore.java           |    2 +-
 .../logsegment/LogSegmentEntryWriter.java          |    2 +-
 .../logsegment/LogSegmentFilter.java               |    2 +-
 .../logsegment/LogSegmentMetadataCache.java        |    2 +-
 .../logsegment/LogSegmentMetadataStore.java        |    2 +-
 .../LogSegmentRandomAccessEntryReader.java         |    2 +-
 .../logsegment/LogSegmentWriter.java               |    2 +-
 .../logsegment/PerStreamLogSegmentCache.java       |    6 +-
 .../distributedlog/logsegment/RollingPolicy.java   |    2 +-
 .../logsegment/SizeBasedRollingPolicy.java         |    2 +-
 .../logsegment/TimeBasedRollingPolicy.java         |    4 +-
 .../distributedlog/logsegment/package-info.java    |    2 +-
 .../apache/distributedlog/metadata/DLConfig.java   |    2 +-
 .../apache/distributedlog/metadata/DLMetadata.java |   10 +-
 .../DryrunLogSegmentMetadataStoreUpdater.java      |    2 +-
 .../distributedlog/metadata/LogMetadata.java       |    2 +-
 .../metadata/LogMetadataForReader.java             |    3 +-
 .../metadata/LogMetadataForWriter.java             |    2 +-
 .../distributedlog/metadata/LogMetadataStore.java  |    2 +-
 .../metadata/LogSegmentMetadataStoreUpdater.java   |    2 +-
 .../metadata/LogStreamMetadataStore.java           |    2 +-
 .../distributedlog/metadata/MetadataResolver.java  |    2 +-
 .../distributedlog/metadata/MetadataUpdater.java   |    2 +-
 .../distributedlog/metadata/package-info.java      |    2 +-
 .../distributedlog/namespace/NamespaceDriver.java  |    2 +-
 .../namespace/NamespaceDriverManager.java          |    2 +-
 .../distributedlog/namespace/NamespaceWatcher.java |    2 +-
 .../distributedlog/namespace/package-info.java     |    2 +-
 .../org/apache/distributedlog/net/DNSResolver.java |    2 +-
 .../distributedlog/net/DNSResolverForRacks.java    |    2 +-
 .../distributedlog/net/DNSResolverForRows.java     |    2 +-
 .../org/apache/distributedlog/net/NetUtils.java    |    2 +-
 .../apache/distributedlog/net/package-info.java    |    2 +-
 .../org/apache/distributedlog/package-info.java    |    2 +-
 .../selector/FirstDLSNNotLessThanSelector.java     |    2 +-
 .../selector/FirstRecordSelector.java              |    2 +-
 .../selector/FirstTxIdNotLessThanSelector.java     |    2 +-
 .../selector/LastRecordSelector.java               |    2 +-
 .../distributedlog/selector/LogRecordSelector.java |    2 +-
 .../distributedlog/selector/package-info.java      |    2 +-
 .../apache/distributedlog/thrift/package-info.java |    2 +-
 .../distributedlog/tools/DistributedLogTool.java   |    9 +-
 .../java/org/apache/distributedlog/tools/Tool.java |    2 +-
 .../apache/distributedlog/tools/package-info.java  |    2 +-
 .../org/apache/distributedlog/util/Allocator.java  |    2 +-
 .../distributedlog/util/CommandLineUtils.java      |    2 +-
 .../org/apache/distributedlog/util/ConfUtils.java  |    2 +-
 .../org/apache/distributedlog/util/DLUtils.java    |    2 +-
 .../apache/distributedlog/util/FailpointUtils.java |    2 +-
 .../distributedlog/util/RetryPolicyUtils.java      |    2 +-
 .../apache/distributedlog/util/TimeSequencer.java  |    2 +-
 .../java/org/apache/distributedlog/util/Utils.java |    2 +-
 .../apache/distributedlog/util/package-info.java   |    2 +-
 .../org/apache/distributedlog/zk/DefaultZKOp.java  |    2 +-
 .../distributedlog/zk/LimitedPermitManager.java    |    2 +-
 .../java/org/apache/distributedlog/zk/ZKOp.java    |    2 +-
 .../apache/distributedlog/zk/ZKTransaction.java    |    2 +-
 .../apache/distributedlog/zk/ZKVersionedSetOp.java |    2 +-
 .../apache/distributedlog/zk/ZKWatcherManager.java |    2 +-
 .../org/apache/distributedlog/zk/package-info.java |    2 +-
 .../core/src/main/thrift/metadata.thrift           |    2 +-
 .../org/apache/distributedlog/DLMTestUtil.java     |    2 +-
 .../distributedlog/NonBlockingReadsTestUtil.java   |   10 +-
 .../distributedlog/TestAppendOnlyStreamReader.java |    2 +-
 .../distributedlog/TestAppendOnlyStreamWriter.java |    2 +-
 .../apache/distributedlog/TestAsyncBulkWrite.java  |    2 +-
 .../apache/distributedlog/TestAsyncReaderLock.java |    2 +-
 .../distributedlog/TestAsyncReaderWriter.java      |   29 +-
 .../TestBKDistributedLogManager.java               |    3 +-
 .../TestBKDistributedLogNamespace.java             |    2 +-
 .../distributedlog/TestBKLogReadHandler.java       |    2 +-
 .../distributedlog/TestBKLogSegmentWriter.java     |    2 +-
 .../distributedlog/TestBKLogWriteHandler.java      |    2 +-
 .../apache/distributedlog/TestBKSyncLogReader.java |    2 +-
 .../apache/distributedlog/TestCancelledRead.java   |    2 +-
 .../org/apache/distributedlog/TestDLMTestUtil.java |    2 +-
 .../distributedlog/TestDistributedLogBase.java     |    2 +-
 .../TestDistributedLogConfiguration.java           |    2 +-
 .../java/org/apache/distributedlog/TestEntry.java  |   11 +-
 .../apache/distributedlog/TestEntryPosition.java   |    2 +-
 .../distributedlog/TestInterleavedReaders.java     |    2 +-
 .../distributedlog/TestLogSegmentCreation.java     |    2 +-
 .../distributedlog/TestLogSegmentMetadata.java     |    2 +-
 .../apache/distributedlog/TestLogSegmentsZK.java   |    2 +-
 .../distributedlog/TestNonBlockingReads.java       |    2 +-
 .../TestNonBlockingReadsMultiReader.java           |    2 +-
 .../distributedlog/TestReadAheadEntryReader.java   |    2 +-
 .../org/apache/distributedlog/TestReadUtils.java   |    2 +-
 .../java/org/apache/distributedlog/TestReader.java |    2 +-
 .../apache/distributedlog/TestRollLogSegments.java |    2 +-
 .../org/apache/distributedlog/TestSequenceID.java  |    2 +-
 .../org/apache/distributedlog/TestTruncate.java    |    2 +-
 .../java/org/apache/distributedlog/TestTxnId.java  |    2 +-
 .../apache/distributedlog/TestWriteLimiter.java    |    2 +-
 .../apache/distributedlog/TestZooKeeperClient.java |    2 +-
 .../distributedlog/TestZooKeeperClientBuilder.java |    2 +-
 .../distributedlog/ZooKeeperClientUtils.java       |    2 +-
 .../distributedlog/ZooKeeperClusterTestCase.java   |    2 +-
 .../distributedlog/acl/TestZKAccessControl.java    |    2 +-
 .../acl/TestZKAccessControlManager.java            |    2 +-
 .../org/apache/distributedlog/admin/TestDLCK.java  |    2 +-
 .../admin/TestDistributedLogAdmin.java             |    2 +-
 .../distributedlog/bk/TestLedgerAllocator.java     |    2 +-
 .../distributedlog/bk/TestLedgerAllocatorPool.java |    2 +-
 .../distributedlog/config/PropertiesWriter.java    |    4 +-
 .../config/TestDynamicConfigurationFactory.java    |    2 +-
 .../TestDynamicDistributedLogConfiguration.java    |    2 +-
 .../feature/TestConfigurationFeatureProvider.java  |    2 +-
 .../TestDynamicConfigurationFeatureProvider.java   |    2 +-
 .../impl/TestZKLogMetadataStore.java               |    2 +-
 .../impl/TestZKLogSegmentFilters.java              |    2 +-
 .../impl/TestZKLogSegmentMetadataStore.java        |    2 +-
 .../impl/TestZKNamespaceWatcher.java               |    2 +-
 .../federated/TestFederatedZKLogMetadataStore.java |    2 +-
 .../logsegment/TestBKLogSegmentEntryReader.java    |    2 +-
 .../metadata/TestZKLogStreamMetadataStore.java     |    2 +-
 .../TestZKLogStreamMetadataStoreUtils.java         |    2 +-
 .../impl/metadata/TestZkMetadataResolver.java      |    2 +-
 .../distributedlog/limiter/TestRequestLimiter.java |    2 +-
 .../distributedlog/lock/TestDistributedLock.java   |    2 +-
 .../distributedlog/lock/TestZKSessionLock.java     |    2 +-
 .../logsegment/TestPerStreamLogSegmentCache.java   |    2 +-
 .../logsegment/TestRollingPolicy.java              |    2 +-
 .../distributedlog/metadata/TestDLMetadata.java    |    2 +-
 .../distributedlog/metadata/TestLogMetadata.java   |    2 +-
 .../TestLogSegmentMetadataStoreUpdater.java        |    2 +-
 .../namespace/TestNamespaceBuilder.java            |    2 +-
 .../apache/distributedlog/net/TestDNSResolver.java |    2 +-
 .../apache/distributedlog/net/TestNetUtils.java    |    2 +-
 .../selector/TestLogRecordSelectors.java           |    2 +-
 .../tools/TestDistributedLogTool.java              |    2 +-
 .../apache/distributedlog/util/TestConfUtils.java  |    2 +-
 .../apache/distributedlog/util/TestDLUtils.java    |    2 +-
 .../distributedlog/util/TestPermitManager.java     |    2 +-
 .../distributedlog/util/TestTimeSequencer.java     |    2 +-
 .../org/apache/distributedlog/util/TestUtils.java  |    2 +-
 .../distributedlog/zk/TestZKTransaction.java       |    2 +-
 .../distributedlog/zk/TestZKVersionedSetOp.java    |    2 +-
 .../distributedlog/zk/TestZKWatcherManager.java    |    2 +-
 .../main/java/org/apache/distributedlog/DLSN.java  |    2 +-
 .../distributedlog/EnvelopedRecordSetReader.java   |   11 +-
 .../distributedlog/EnvelopedRecordSetWriter.java   |   10 +-
 .../java/org/apache/distributedlog/LogRecord.java  |    9 +-
 .../org/apache/distributedlog/LogRecordSet.java    |    2 +-
 .../apache/distributedlog/LogRecordSetBuffer.java  |    2 +-
 .../apache/distributedlog/LogRecordWithDLSN.java   |    2 +-
 .../org/apache/distributedlog/RecordStream.java    |    2 +-
 .../exceptions/AlreadyClosedException.java         |    2 +-
 .../AlreadyTruncatedTransactionException.java      |    2 +-
 .../exceptions/BKTransmitException.java            |    2 +-
 .../exceptions/ChecksumFailedException.java        |    2 +-
 .../exceptions/DLClientClosedException.java        |    2 +-
 .../distributedlog/exceptions/DLException.java     |    2 +-
 .../exceptions/DLIllegalStateException.java        |    2 +-
 .../exceptions/DLInterruptedException.java         |    2 +-
 .../exceptions/EndOfLogSegmentException.java       |    2 +-
 .../exceptions/EndOfStreamException.java           |    2 +-
 .../distributedlog/exceptions/FlushException.java  |    2 +-
 .../exceptions/IdleReaderException.java            |    2 +-
 .../exceptions/InternalServerException.java        |    2 +-
 .../exceptions/InvalidEnvelopedEntryException.java |    2 +-
 .../exceptions/InvalidStreamNameException.java     |    2 +-
 .../exceptions/LockCancelledException.java         |    2 +-
 .../exceptions/LockingException.java               |    2 +-
 .../exceptions/LogEmptyException.java              |    2 +-
 .../exceptions/LogExistsException.java             |    2 +-
 .../exceptions/LogNotFoundException.java           |    2 +-
 .../exceptions/LogReadException.java               |    2 +-
 .../exceptions/LogRecordTooLongException.java      |    2 +-
 .../exceptions/LogSegmentIsTruncatedException.java |    2 +-
 .../exceptions/LogSegmentNotFoundException.java    |    2 +-
 .../exceptions/MetadataException.java              |    2 +-
 .../exceptions/NotYetImplementedException.java     |    2 +-
 .../exceptions/OverCapacityException.java          |    2 +-
 .../OwnershipAcquireFailedException.java           |    2 +-
 .../exceptions/ReadCancelledException.java         |    2 +-
 .../exceptions/RegionUnavailableException.java     |    2 +-
 .../exceptions/RequestDeniedException.java         |    2 +-
 .../exceptions/RetryableReadException.java         |    2 +-
 .../exceptions/ServiceUnavailableException.java    |    2 +-
 .../distributedlog/exceptions/StatusCode.java      |    2 +-
 .../exceptions/StreamNotReadyException.java        |    2 +-
 .../exceptions/StreamUnavailableException.java     |    2 +-
 .../exceptions/TooManyStreamsException.java        |    2 +-
 .../TransactionIdOutOfOrderException.java          |    2 +-
 .../exceptions/UnexpectedException.java            |    2 +-
 .../UnsupportedMetadataVersionException.java       |    2 +-
 .../exceptions/WriteCancelledException.java        |    2 +-
 .../distributedlog/exceptions/WriteException.java  |    2 +-
 .../distributedlog/exceptions/package-info.java    |    2 +-
 .../org/apache/distributedlog/package-info.java    |    2 +-
 .../java/org/apache/distributedlog/TestDLSN.java   |    2 +-
 .../apache/distributedlog/TestLogRecordSet.java    |    2 +-
 .../stream/protocol/util/ProtoUtils.java           |    1 +
 stream/proto/src/main/proto/cluster.proto          |    2 +-
 stream/proto/src/main/proto/common.proto           |    2 +-
 stream/proto/src/main/proto/kv.proto               |    2 +-
 stream/proto/src/main/proto/kv_rpc.proto           |    2 +-
 stream/proto/src/main/proto/kv_store.proto         |    2 +-
 stream/proto/src/main/proto/storage.proto          |    2 +-
 stream/proto/src/main/proto/stream.proto           |    2 +-
 .../bookkeeper/stream/server/StorageServer.java    |   13 +
 .../stream/server/service/BookieService.java       |    7 +-
 .../org/apache/bookkeeper/statelib/impl/Bytes.java |    2 +-
 .../journal/AbstractStateStoreWithJournal.java     |    5 +-
 .../bookkeeper/statelib/impl/kv/KVUtils.java       |    3 +-
 .../statelib/impl/kv/RocksdbKVAsyncStore.java      |    5 +-
 .../bookkeeper/statelib/impl/mvcc/MVCCRecord.java  |    5 +-
 .../statelib/impl/mvcc/MVCCRecordCoder.java        |    3 +-
 .../statelib/impl/mvcc/MVCCStoreImpl.java          |    3 +-
 stream/statelib/src/main/proto/kv.proto            |    2 +-
 .../kv/TestRocksdbKVAsyncStoreWithCheckpoints.java |    2 -
 .../impl/kv/TestRocksdbKVStoreCheckpoint.java      |    1 +
 .../rocksdb/checkpoint/RocksCheckpointerTest.java  |    1 +
 .../testing/executors/MockExecutorController.java  |    1 -
 .../MockExecutorControllerWithSchedulerTest.java   |    1 -
 .../routing/RoutingHeaderProxyInterceptor.java     |    3 +-
 .../impl/sc/DefaultStorageContainerController.java |    1 -
 stream/tests-common/src/main/proto/rpc.proto       |    2 +-
 .../org/apache/bookkeeper/tls/TestBCNonFips.java   |    2 +-
 .../TestCompatRecoveryNoPassword.groovy            |    4 +-
 tests/docker-images/statestore-image/Dockerfile    |   25 +-
 .../integration/utils/BookKeeperClusterUtils.java  |    3 -
 .../tests/integration/utils/DockerUtils.java       |    2 -
 .../tests/integration/utils/MavenClassLoader.java  |    2 -
 .../tests/integration/utils/ThreadReaper.java      |    1 -
 .../integration/utils/ZooKeeperAwaitStrategy.java  |    2 -
 .../integration/utils/MavenClassLoaderTest.java    |    1 -
 .../tests/integration/TestBookieShellCluster.java  |    1 -
 .../cli/commands/HealthCheckCommandGroup.java      |    1 +
 .../bookieid/SearchReplaceBookieIdCommand.java     |    1 -
 .../ConvertToInterleavedStorageCommandTest.java    |    3 +-
 .../commands/bookie/FlipBookieIdCommandTest.java   |    1 +
 .../cli/commands/bookie/LedgerCommandTest.java     |    1 +
 .../bookie/LocalConsistencyCheckCommandTest.java   |    1 +
 .../commands/bookie/ReadJournalCommandTest.java    |    1 -
 .../cli/commands/bookie/ReadLedgerCommandTest.java |    1 -
 .../cli/commands/bookie/SanityTestCommandTest.java |    1 -
 .../cli/commands/bookies/InfoCommandTest.java      |    2 +
 .../cli/commands/bookies/RecoverCommandTest.java   |    1 -
 .../commands/client/LedgerMetaDataCommandTest.java |   13 +
 .../cli/commands/client/SimpleTestCommandTest.java |   66 +-
 .../cli/commands/cookie/AdminCommandTest.java      |    1 +
 .../cookie/GenerateCookieCommandIndexTest.java     |    1 -
 .../commands/cookie/GenerateCookieCommandTest.java |    1 -
 .../tools/cli/helpers/ClientCommandTest.java       |    1 +
 .../tools/cli/helpers/ClientCommandTestBase.java   |    7 +-
 .../tools/cli/helpers/CommandTestBase.java         |    3 +-
 .../tools/cli/helpers/DiscoveryCommandTest.java    |   26 +-
 .../tools/cli/helpers/MockCommandSupport.java      |    1 -
 .../tools/perf/journal/JournalWriter.java          |    4 +-
 .../bookkeeper/tools/perf/table/IncrementTask.java |    3 +-
 .../bookkeeper/tools/perf/table/WriteTask.java     |    5 +-
 .../stream/cli/commands/table/DelCommand.java      |    3 +-
 1450 files changed, 16215 insertions(+), 9151 deletions(-)
 create mode 100644 .asf.yaml
 create mode 100644 .github/changes-filter.yaml
 create mode 100644 .github/workflows/README.md
 delete mode 100644 .github/workflows/backward-compat-tests.yml
 create mode 100644 .github/workflows/bk-ci.yml
 delete mode 100644 .github/workflows/bookie-tests.yml
 delete mode 100644 .github/workflows/client-tests.yml
 delete mode 100644 .github/workflows/compatibility-check-java11.yml
 delete mode 100644 .github/workflows/compatibility-check-java17.yml
 delete mode 100644 .github/workflows/compatibility-check-java8.yml
 delete mode 100644 .github/workflows/integration-tests.yml
 delete mode 100644 .github/workflows/owasp-dep-check.yml
 delete mode 100644 .github/workflows/pr-validation.yml
 delete mode 100644 .github/workflows/remaining-tests.yml
 delete mode 100644 .github/workflows/replication-tests.yml
 delete mode 100644 .github/workflows/stream-tests.yml
 delete mode 100644 .github/workflows/tls-tests.yml
 delete mode 100644 .github/workflows/windows-build.yml
 create mode 100644 CONTRIBUTING.md
 rename bookkeeper-common/src/main/java/org/apache/bookkeeper/common/collections/{GrowableArrayBlockingQueue.java => GrowableMpScArrayConsumerBlockingQueue.java} (57%)
 create mode 100644 bookkeeper-common/src/main/java/org/apache/bookkeeper/common/util/SingleThreadExecutor.java
 create mode 100644 bookkeeper-common/src/main/java/org/apache/bookkeeper/common/util/SingleThreadSafeScheduledExecutorService.java
 create mode 100644 bookkeeper-common/src/test/java/org/apache/bookkeeper/common/util/TestSingleThreadExecutor.java
 rename bookkeeper-dist/src/main/resources/deps/{netty-4.1.77.Final => netty-4.1.89.Final}/LICENSE.aalto-xml.txt (93%)
 rename bookkeeper-dist/src/main/resources/deps/{netty-4.1.77.Final => netty-4.1.89.Final}/LICENSE.base64.txt (100%)
 rename bookkeeper-dist/src/main/resources/deps/{netty-4.1.77.Final => netty-4.1.89.Final}/LICENSE.bouncycastle.txt (95%)
 rename bookkeeper-dist/src/main/resources/deps/{netty-4.1.77.Final => netty-4.1.89.Final}/LICENSE.caliper.txt (99%)
 rename bookkeeper-dist/src/main/resources/deps/{netty-4.1.77.Final => netty-4.1.89.Final}/LICENSE.commons-lang.txt (99%)
 rename bookkeeper-dist/src/main/resources/deps/{netty-4.1.77.Final => netty-4.1.89.Final}/LICENSE.commons-logging.txt (99%)
 rename bookkeeper-dist/src/main/resources/deps/{netty-4.1.77.Final => netty-4.1.89.Final}/LICENSE.compress-lzf.txt (89%)
 rename bookkeeper-dist/src/main/resources/deps/{netty-4.1.77.Final => netty-4.1.89.Final}/LICENSE.dnsinfo.txt (92%)
 rename bookkeeper-dist/src/main/resources/deps/{netty-4.1.77.Final => netty-4.1.89.Final}/LICENSE.harmony.txt (99%)
 rename bookkeeper-dist/src/main/resources/deps/{netty-4.1.77.Final => netty-4.1.89.Final}/LICENSE.hpack.txt (99%)
 rename bookkeeper-dist/src/main/resources/deps/{netty-4.1.77.Final => netty-4.1.89.Final}/LICENSE.hyper-hpack.txt (100%)
 rename bookkeeper-dist/src/main/resources/deps/{netty-4.1.77.Final => netty-4.1.89.Final}/LICENSE.jboss-marshalling.txt (99%)
 rename bookkeeper-dist/src/main/resources/deps/{netty-4.1.77.Final => netty-4.1.89.Final}/LICENSE.jbzip2.txt (100%)
 rename bookkeeper-dist/src/main/resources/deps/{netty-4.1.77.Final => netty-4.1.89.Final}/LICENSE.jctools.txt (99%)
 rename bookkeeper-dist/src/main/resources/deps/{netty-4.1.77.Final => netty-4.1.89.Final}/LICENSE.jfastlz.txt (100%)
 rename bookkeeper-dist/src/main/resources/deps/{netty-4.1.77.Final => netty-4.1.89.Final}/LICENSE.jsr166y.txt (100%)
 rename bookkeeper-dist/src/main/resources/deps/{netty-4.1.77.Final => netty-4.1.89.Final}/LICENSE.jzlib.txt (100%)
 rename bookkeeper-dist/src/main/resources/deps/{netty-4.1.77.Final => netty-4.1.89.Final}/LICENSE.libdivsufsort.txt (100%)
 rename bookkeeper-dist/src/main/resources/deps/{netty-4.1.77.Final => netty-4.1.89.Final}/LICENSE.log4j.txt (99%)
 rename bookkeeper-dist/src/main/resources/deps/{netty-4.1.77.Final => netty-4.1.89.Final}/LICENSE.lz4.txt (99%)
 rename bookkeeper-dist/src/main/resources/deps/{netty-4.1.77.Final => netty-4.1.89.Final}/LICENSE.lzma-java.txt (99%)
 rename bookkeeper-dist/src/main/resources/deps/{netty-4.1.77.Final => netty-4.1.89.Final}/LICENSE.mvn-wrapper.txt (99%)
 rename bookkeeper-dist/src/main/resources/deps/{netty-4.1.77.Final => netty-4.1.89.Final}/LICENSE.nghttp2-hpack.txt (100%)
 rename bookkeeper-dist/src/main/resources/deps/{netty-4.1.77.Final => netty-4.1.89.Final}/LICENSE.protobuf.txt (100%)
 rename bookkeeper-dist/src/main/resources/deps/{netty-4.1.77.Final => netty-4.1.89.Final}/LICENSE.slf4j.txt (100%)
 rename bookkeeper-dist/src/main/resources/deps/{netty-4.1.77.Final => netty-4.1.89.Final}/LICENSE.snappy.txt (100%)
 rename bookkeeper-dist/src/main/resources/deps/{netty-4.1.77.Final => netty-4.1.89.Final}/LICENSE.webbit.txt (96%)
 rename bookkeeper-dist/src/main/resources/deps/{netty-4.1.77.Final => netty-4.1.89.Final}/NOTICE.harmony.txt (66%)
 copy bookkeeper-server/src/main/java/org/apache/bookkeeper/{client/api/package-info.java => bookie/JournalAliveListener.java} (84%)
 copy bookkeeper-server/src/main/java/org/apache/bookkeeper/client/{BookiesListener.java => BookieAddressResolverDisabled.java} (61%)
 create mode 100644 bookkeeper-server/src/main/java/org/apache/bookkeeper/replication/AuditorBookieCheckTask.java
 create mode 100644 bookkeeper-server/src/main/java/org/apache/bookkeeper/replication/AuditorCheckAllLedgersTask.java
 create mode 100644 bookkeeper-server/src/main/java/org/apache/bookkeeper/replication/AuditorPlacementPolicyCheckTask.java
 create mode 100644 bookkeeper-server/src/main/java/org/apache/bookkeeper/replication/AuditorReplicasCheckTask.java
 create mode 100644 bookkeeper-server/src/main/java/org/apache/bookkeeper/replication/AuditorStats.java
 create mode 100644 bookkeeper-server/src/main/java/org/apache/bookkeeper/replication/AuditorTask.java
 create mode 100644 bookkeeper-server/src/main/java/org/apache/bookkeeper/server/EmbeddedServer.java
 create mode 100644 bookkeeper-server/src/main/java/org/apache/bookkeeper/server/http/service/BookieSanityService.java
 create mode 100644 bookkeeper-server/src/main/java/org/apache/bookkeeper/server/http/service/ClusterInfoService.java
 create mode 100644 bookkeeper-server/src/main/java/org/apache/bookkeeper/server/http/service/ResumeCompactionService.java
 create mode 100644 bookkeeper-server/src/main/java/org/apache/bookkeeper/server/http/service/SuspendCompactionService.java
 rename bookkeeper-server/src/main/java/org/apache/bookkeeper/util/{NativeIO.java => PageCacheUtil.java} (58%)
 create mode 100644 bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieImplTest.java
 create mode 100644 bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/storage/directentrylogger/TestMetadata.java
 create mode 100644 bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/storage/ldb/KeyValueStorageRocksDBTest.java
 copy bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/storage/ldb/{DbReadLedgerIndexEntriesTest.java => LedgersIndexCheckOpTest.java} (70%)
 copy bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/storage/ldb/{DbReadLedgerIndexEntriesTest.java => LedgersIndexRebuildOpTest.java} (70%)
 create mode 100644 bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieAddressResolverDisabledTest.java
 create mode 100644 bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryUseIOThreadTest.java
 create mode 100644 bookkeeper-server/src/test/java/org/apache/bookkeeper/client/api/BookKeeperBuildersOpenLedgerTest.java
 create mode 100644 bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/CleanupLedgerManagerTest.java
 create mode 100644 bookkeeper-server/src/test/java/org/apache/bookkeeper/proto/GetBookieInfoProcessorV3Test.java
 create mode 100644 bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/AuditorBookieCheckTaskTest.java
 create mode 100644 bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/AuditorCheckAllLedgersTaskTest.java
 create mode 100644 bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/AuditorPlacementPolicyCheckTaskTest.java
 create mode 100644 bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/AuditorReplicasCheckTaskTest.java
 rename bookkeeper-server/src/test/java/org/apache/bookkeeper/server/{TestMain.java => TestEmbeddedServer.java} (58%)
 create mode 100644 bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieJournalRollingWithReuseJournalTest.java
 rename .github/workflows/macos-build.yml => bookkeeper-server/src/test/resources/org/powermock/extensions/configuration.properties (57%)
 copy conf/default_rocksdb.conf => bookkeeper-server/src/test/resources/test_entry_location_rocksdb.conf (76%)
 rename conf/{default_rocksdb.conf => default_rocksdb.conf.default} (100%)
 rename conf/{entry_location_rocksdb.conf => entry_location_rocksdb.conf.default} (100%)
 rename conf/{ledger_metadata_rocksdb.conf => ledger_metadata_rocksdb.conf.default} (100%)
 create mode 100644 microbenchmarks/src/main/java/org/apache/bookkeeper/bookie/GroupSortBenchmark.java
 create mode 100644 microbenchmarks/src/main/java/org/apache/bookkeeper/proto/checksum/DigestManagerBenchmark.java
 create mode 100644 site3/website/src/theme/DocVersionBanner/index.js
 delete mode 100644 site3/website/versioned_docs/version-4.14.5/admin/http.md
 rename site3/website/versioned_docs/{version-4.14.5 => version-4.14.7}/admin/autorecovery.md (100%)
 rename site3/website/versioned_docs/{version-4.14.5 => version-4.14.7}/admin/bookies.md (100%)
 rename site3/website/versioned_docs/{version-4.14.5 => version-4.14.7}/admin/decomission.md (100%)
 rename site3/website/versioned_docs/{version-4.14.5 => version-4.14.7}/admin/geo-replication.md (100%)
 copy site3/website/versioned_docs/{version-4.11.1 => version-4.14.7}/admin/http.md (99%)
 rename site3/website/versioned_docs/{version-4.14.5 => version-4.14.7}/admin/metrics.md (100%)
 rename site3/website/versioned_docs/{version-4.14.5 => version-4.14.7}/admin/perf.md (100%)
 rename site3/website/versioned_docs/{version-4.14.5 => version-4.14.7}/admin/placement.md (100%)
 rename site3/website/versioned_docs/{version-4.14.5 => version-4.14.7}/admin/upgrade.md (100%)
 rename site3/website/versioned_docs/{version-4.14.5 => version-4.14.7}/api/distributedlog-api.md (100%)
 rename site3/website/versioned_docs/{version-4.14.5 => version-4.14.7}/api/ledger-adv-api.md (100%)
 rename site3/website/versioned_docs/{version-4.14.5 => version-4.14.7}/api/ledger-api.md (99%)
 rename site3/website/versioned_docs/{version-4.14.5 => version-4.14.7}/api/overview.md (100%)
 rename site3/website/versioned_docs/{version-4.14.5 => version-4.14.7}/deployment/kubernetes.md (100%)
 rename site3/website/versioned_docs/{version-4.14.5 => version-4.14.7}/deployment/manual.md (100%)
 rename site3/website/versioned_docs/{version-4.14.5 => version-4.14.7}/development/codebase.md (100%)
 rename site3/website/versioned_docs/{version-4.14.5 => version-4.14.7}/development/protocol.md (100%)
 rename site3/website/versioned_docs/{version-4.14.5 => version-4.14.7}/getting-started/concepts.md (100%)
 rename site3/website/versioned_docs/{version-4.14.5 => version-4.14.7}/getting-started/installation.md (100%)
 rename site3/website/versioned_docs/{version-4.14.5 => version-4.14.7}/getting-started/run-locally.md (100%)
 rename site3/website/versioned_docs/{version-4.14.5 => version-4.14.7}/overview/overview.md (97%)
 rename site3/website/versioned_docs/{version-4.14.5 => version-4.14.7}/reference/cli.md (100%)
 rename site3/website/versioned_docs/{version-4.14.5 => version-4.14.7}/reference/config.md (100%)
 rename site3/website/versioned_docs/{version-4.14.5 => version-4.14.7}/reference/metrics.md (100%)
 rename site3/website/versioned_docs/{version-4.14.5 => version-4.14.7}/security/overview.md (100%)
 rename site3/website/versioned_docs/{version-4.14.5 => version-4.14.7}/security/sasl.md (100%)
 rename site3/website/versioned_docs/{version-4.14.5 => version-4.14.7}/security/tls.md (100%)
 rename site3/website/versioned_docs/{version-4.14.5 => version-4.14.7}/security/zookeeper.md (100%)
 delete mode 100644 site3/website/versioned_docs/version-4.15.0/admin/http.md
 rename site3/website/versioned_docs/{version-4.15.0 => version-4.15.3}/admin/autorecovery.md (100%)
 rename site3/website/versioned_docs/{version-4.15.0 => version-4.15.3}/admin/bookies.md (100%)
 rename site3/website/versioned_docs/{version-4.15.0 => version-4.15.3}/admin/decomission.md (100%)
 rename site3/website/versioned_docs/{version-4.15.0 => version-4.15.3}/admin/geo-replication.md (100%)
 copy site3/website/versioned_docs/{version-4.11.1 => version-4.15.3}/admin/http.md (99%)
 rename site3/website/versioned_docs/{version-4.15.0 => version-4.15.3}/admin/metrics.md (100%)
 rename site3/website/versioned_docs/{version-4.15.0 => version-4.15.3}/admin/perf.md (100%)
 rename site3/website/versioned_docs/{version-4.15.0 => version-4.15.3}/admin/placement.md (100%)
 rename site3/website/versioned_docs/{version-4.15.0 => version-4.15.3}/admin/upgrade.md (100%)
 rename site3/website/versioned_docs/{version-4.15.0 => version-4.15.3}/api/distributedlog-api.md (100%)
 rename site3/website/versioned_docs/{version-4.15.0 => version-4.15.3}/api/ledger-adv-api.md (100%)
 rename site3/website/versioned_docs/{version-4.15.0 => version-4.15.3}/api/ledger-api.md (100%)
 rename site3/website/versioned_docs/{version-4.15.0 => version-4.15.3}/api/overview.md (100%)
 rename site3/website/versioned_docs/{version-4.15.0 => version-4.15.3}/deployment/kubernetes.md (100%)
 rename site3/website/versioned_docs/{version-4.15.0 => version-4.15.3}/deployment/manual.md (100%)
 rename site3/website/versioned_docs/{version-4.15.0 => version-4.15.3}/development/codebase.md (100%)
 rename site3/website/versioned_docs/{version-4.15.0 => version-4.15.3}/development/protocol.md (100%)
 rename site3/website/versioned_docs/{version-4.15.0 => version-4.15.3}/getting-started/concepts.md (100%)
 rename site3/website/versioned_docs/{version-4.15.0 => version-4.15.3}/getting-started/installation.md (100%)
 rename site3/website/versioned_docs/{version-4.15.0 => version-4.15.3}/getting-started/run-locally.md (100%)
 rename site3/website/versioned_docs/{version-4.15.0 => version-4.15.3}/overview/overview.md (99%)
 rename site3/website/versioned_docs/{version-4.15.0 => version-4.15.3}/reference/cli.md (100%)
 rename site3/website/versioned_docs/{version-4.15.0 => version-4.15.3}/reference/config.md (98%)
 rename site3/website/versioned_docs/{version-4.15.0 => version-4.15.3}/security/overview.md (100%)
 rename site3/website/versioned_docs/{version-4.15.0 => version-4.15.3}/security/sasl.md (100%)
 rename site3/website/versioned_docs/{version-4.15.0 => version-4.15.3}/security/tls.md (100%)
 rename site3/website/versioned_docs/{version-4.15.0 => version-4.15.3}/security/zookeeper.md (100%)
 rename site3/website/versioned_sidebars/{version-4.14.5-sidebars.json => version-4.14.7-sidebars.json} (67%)
 rename site3/website/versioned_sidebars/{version-4.15.0-sidebars.json => version-4.15.3-sidebars.json} (100%)