Apache BookKeeper - a scalable, fault tolerant and low latency storage service optimized for append-only workloads

Clone this repo:
  1. 8a8f4d6 [FIX] fix SyncLedgerIterator.hasNext() failing to iterate across ZK ledger ranges (#4731) by zhou zhuohan · 2 days ago master
  2. 8664dd9 Fix read thread blocking in sendResponseAndWait causing READ_ENTRY_REQUEST p99 latency spike (#4730) by Hang Chen · 6 days ago
  3. a7f0ba1 build(deps): bump org.apache.commons:commons-lang3 from 3.17.0 to 3.20.0 (#4725) by Lari Hotari · 7 days ago
  4. 497aa4e Count the connection failure as the condition of quarantine (#4727) by Yong Zhang · 7 days ago
  5. d08fcb7 test: Use mock to eliminate BookieSocketAddressTest dependency on local system configuration (#4711) by JiangHaiting · 8 days ago

Maven Central

Apache BookKeeper

Apache BookKeeper is a scalable, fault-tolerant and low latency storage service optimized for append-only workloads.

It is suitable for being used in following scenarios:

  • WAL (Write-Ahead-Logging), e.g. HDFS NameNode, Pravega.
  • Message Store, e.g. Apache Pulsar.
  • Offset/Cursor Store, e.g. Apache Pulsar.
  • Object/Blob Store, e.g. storing state machine snapshots.

Get Started

  • Checkout the project website.
  • Concepts: Start with the basic concepts of Apache BookKeeper. This will help you to fully understand the other parts of the documentation.
  • Follow the Installation guide to set up BookKeeper.

Documentation

Please visit the Documentation from the project website for more information.

Get In Touch

Report a Bug

For filing bugs, suggesting improvements, or requesting new features, help us out by opening a GitHub issue.

Need Help?

Subscribe or mail the user@bookkeeper.apache.org list - Ask questions, find answers, and also help other users.

Subscribe or mail the dev@bookkeeper.apache.org list - Join development discussions, propose new ideas and connect with contributors.

Join us on Slack - This is the most immediate way to connect with Apache BookKeeper committers and contributors.

Contributing

We feel that a welcoming open community is important and welcome contributions.

Contributing Code

  1. See our installation guide to get your local environment setup.

  2. Take a look at our open issues: GitHub Issues.

  3. Review our coding style and follow our pull requests to learn more about our conventions.

  4. Make your changes according to our contributing guide