<!DOCTYPE html>
<html>
  <head>
    <title>Apache BookKeeper&trade; - BookKeeper Proposals</title>

<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="stylesheet" href="/css/normalize.css">
<link rel="stylesheet" href="/css/tippy.css">
<link rel="stylesheet" href="/css/style.css">

<link rel="shortcut icon" href="/img/favicon.ico">

<script src="/js/tippy.min.js"></script>

<script type="text/javascript">
  var shiftWindow = function() { scrollBy(0, -25); };
  window.addEventListener("hashchange", shiftWindow);
  window.addEventListener("pageshow", shiftWindow);
  function load() { if (window.location.hash) shiftWindow(); }
</script>
  </head>
  <body class="body">
    <main class="main">
      
<nav class="navbar bk-topnav">
  <div class="navbar-brand">
    <a class="navbar-item bk-brand" href="/">
      Apache BookKeeper&trade;
    </a>

    <div class="navbar-burger burger" data-target="bkNav">
      <span></span>
      <span></span>
      <span></span>
    </div>
  </div>

  <div id="bkNav" class="navbar-menu">
    <div class="navbar-start">
      <div class="navbar-item has-dropdown is-hoverable">
        <a class="navbar-link">Documentation</a>
        <div class="navbar-dropdown is-boxed">
          <a class="navbar-item" href="/docs/latest/overview/overview">
            Version 4.15.0-SNAPSHOT
            <span class="tag is-warning">Development</span>
          </a>
          <a class="navbar-item" href="/docs/latest/api/javadoc">
            <span class="icon bk-javadoc-icon">
              <img src="/img/java-icon.svg">
            </span>
            Javadoc
          </a>
          <hr class="dropdown-divider">
          
          <a class="navbar-item" href="/docs/4.14.0/overview/overview">
            Release 4.14.0
            
          </a>
          
          <a class="navbar-item" href="/docs/4.13.0/overview/overview">
            Release 4.13.0
            
          </a>
          
          <a class="navbar-item" href="/docs/4.12.1/overview/overview">
            Release 4.12.1
            
          </a>
          
          <a class="navbar-item" href="/docs/4.12.0/overview/overview">
            Release 4.12.0
            
          </a>
          
          <a class="navbar-item" href="/docs/4.11.1/overview/overview">
            Release 4.11.1
            
              <span class="tag is-success">Stable</span>
            
          </a>
          
          <a class="navbar-item" href="/docs/4.11.0/overview/overview">
            Release 4.11.0
            
          </a>
          
          <a class="navbar-item" href="/docs/4.10.0/overview/overview">
            Release 4.10.0
            
          </a>
          
          
          <a class="navbar-item" href="/archives/docs/r4.9.2">
            Release 4.9.2
            
              <span class="tag is-warning">EOL</span>
            
          </a>
          
          <a class="navbar-item" href="/archives/docs/r4.9.1">
            Release 4.9.1
            
              <span class="tag is-warning">EOL</span>
            
          </a>
          
          <a class="navbar-item" href="/archives/docs/r4.9.0">
            Release 4.9.0
            
              <span class="tag is-warning">EOL</span>
            
          </a>
          
          <a class="navbar-item" href="/archives/docs/r4.8.2">
            Release 4.8.2
            
              <span class="tag is-warning">EOL</span>
            
          </a>
          
          <a class="navbar-item" href="/archives/docs/r4.8.1">
            Release 4.8.1
            
              <span class="tag is-warning">EOL</span>
            
          </a>
          
          <a class="navbar-item" href="/archives/docs/r4.8.0">
            Release 4.8.0
            
              <span class="tag is-warning">EOL</span>
            
          </a>
          
          <a class="navbar-item" href="/archives/docs/r4.7.3">
            Release 4.7.3
            
              <span class="tag is-warning">EOL</span>
            
          </a>
          
          <a class="navbar-item" href="/archives/docs/r4.7.2">
            Release 4.7.2
            
              <span class="tag is-warning">EOL</span>
            
          </a>
          
          <a class="navbar-item" href="/archives/docs/r4.7.1">
            Release 4.7.1
            
              <span class="tag is-warning">EOL</span>
            
          </a>
          
          <a class="navbar-item" href="/archives/docs/r4.7.0">
            Release 4.7.0
            
              <span class="tag is-warning">EOL</span>
            
          </a>
          
          <a class="navbar-item" href="/archives/docs/r4.6.2">
            Release 4.6.2
            
              <span class="tag is-warning">EOL</span>
            
          </a>
          
          <a class="navbar-item" href="/archives/docs/r4.6.1">
            Release 4.6.1
            
              <span class="tag is-warning">EOL</span>
            
          </a>
          
          <a class="navbar-item" href="/archives/docs/r4.6.0">
            Release 4.6.0
            
              <span class="tag is-warning">EOL</span>
            
          </a>
          
          <a class="navbar-item" href="/archives/docs/r4.5.1">
            Release 4.5.1
            
              <span class="tag is-warning">EOL</span>
            
          </a>
          
          <a class="navbar-item" href="/archives/docs/r4.5.0">
            Release 4.5.0
            
              <span class="tag is-warning">EOL</span>
            
          </a>
          
          <a class="navbar-item" href="/archives/docs/r4.4.0">
            Release 4.4.0
            
              <span class="tag is-warning">EOL</span>
            
          </a>
          
          <a class="navbar-item" href="/archives/docs/r4.3.2">
            Release 4.3.2
            
              <span class="tag is-warning">EOL</span>
            
          </a>
          
          <a class="navbar-item" href="/archives/docs/r4.3.1">
            Release 4.3.1
            
              <span class="tag is-warning">EOL</span>
            
          </a>
          
          <a class="navbar-item" href="/archives/docs/r4.3.0">
            Release 4.3.0
            
              <span class="tag is-warning">EOL</span>
            
          </a>
          
          <a class="navbar-item" href="/archives/docs/r4.2.4">
            Release 4.2.4
            
              <span class="tag is-warning">EOL</span>
            
          </a>
          
          <a class="navbar-item" href="/archives/docs/r4.2.3">
            Release 4.2.3
            
              <span class="tag is-warning">EOL</span>
            
          </a>
          
          <a class="navbar-item" href="/archives/docs/r4.2.2">
            Release 4.2.2
            
              <span class="tag is-warning">EOL</span>
            
          </a>
          
          <a class="navbar-item" href="/archives/docs/r4.2.1">
            Release 4.2.1
            
              <span class="tag is-warning">EOL</span>
            
          </a>
          
          <a class="navbar-item" href="/archives/docs/r4.2.0">
            Release 4.2.0
            
              <span class="tag is-warning">EOL</span>
            
          </a>
          
          <a class="navbar-item" href="/archives/docs/r4.1.0">
            Release 4.1.0
            
              <span class="tag is-warning">EOL</span>
            
          </a>
          
          <a class="navbar-item" href="/archives/docs/r4.0.0">
            Release 4.0.0
            
              <span class="tag is-warning">EOL</span>
            
          </a>
          
        </div>
      </div>

      <div class="navbar-item has-dropdown is-hoverable">
        <a class="navbar-link">Community</a>
        <div class="navbar-dropdown is-boxed">
          <a class="navbar-item" href="/community/mailing-lists">Mailing lists</a>
          <a class="navbar-item" href="/community/slack">Slack</a>
          <a class="navbar-item" href="https://github.com/apache/bookkeeper/issues">Github Issues</a>
          <a class="navbar-item" href="/community/releases">Release Management</a>
          <a class="navbar-item" href="/community/meeting">Community Meetings</a>
          <hr class="dropdown-divider">
          <a class="navbar-item" href="/community/contributing">Contribution Guide</a>
          <a class="navbar-item" href="/community/coding_guide">Coding Guide</a>
          <a class="navbar-item" href="/community/testing">Testing Guide</a>
          <a class="navbar-item" href="/community/issue-report">Issue Report Guide</a>
          <a class="navbar-item" href="/community/release_guide">Release Guide</a>
          <hr class="dropdown-divider">
          <a class="navbar-item" href="/community/presentations">Presentations</a>
          <a class="navbar-item" href="/community/bookkeeper_proposals">BookKeeper Proposals</a>
        </div>
      </div>

      <div class="navbar-item has-dropdown is-hoverable">
        <a class="navbar-link">Project</a>
        <div class="navbar-dropdown is-boxed">
          <a class="navbar-item" href="/project/who">Who are we?</a>
          <a class="navbar-item" href="/project/bylaws">Bylaws</a>
          <a class="navbar-item" href="http://www.apache.org/licenses/">License</a>
          <hr class="dropdown-divider">
          <a class="navbar-item" href="/project/privacy">Privacy policy</a>
          <a class="navbar-item" href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
          <a class="navbar-item" href="http://www.apache.org/foundation/thanks.html">Thanks</a>
        </div>
      </div>
    </div>

    <div class="navbar-end">
      <div class="navbar-item">
        <div class="field is-grouped">
          <p class="control">
            <a class="button bk-twitter" href="https://twitter.com/asfbookkeeper">
              <span class="icon">
                <i class="fa fa-twitter"></i>
              </span>
              <span>Twitter</span>
            </a>
          </p>
          <p class="control">
            <a class="button" href="https://github.com/apache/bookkeeper">
              <span class="icon">
                <i class="fa fa-github"></i>
              </span>
              <span>GitHub</span>
            </a>
          </p>
          <p class="control">
            <a class="button is-primary" href="/releases">
              <span class="icon">
                <i class="fa fa-download"></i>
              </span>
              <span>Download</span>
            </a>
          </p>
        </div>
      </div>
    </div>
  </div>
</nav>


      <div class="bk-community-container">
  <div class="columns">
    <div class="column is-12">
      <header class="docs-title">
        <nav class="level">
          <div class="level-left">
            <div class="level-item">
              <h1 class="title">BookKeeper Proposals</h1>
            </div>
          </div>
          
        </nav>

        
      </header>

      <hr />

      <div class="content is-medium">
        <section class="bk-community-content">
          <p>This page describes a proposed <em>BookKeeper Proposal (BP)</em> process for proposing a major change to BookKeeper.</p>

<h2 id="process">Process</h2>

<h3 id="what-is-considered-a-major-change-that-needs-a-bp">What is considered a “major change” that needs a BP?</h3>

<p>Any of the following should be considered a major change:</p>

<ul>
  <li>Any major new feature, subsystem, or piece of functionality</li>
  <li>Any change that impacts the public interfaces of the project</li>
  <li>Any change that impacts developer workflow of the project</li>
</ul>

<p>All the following are public interfaces that people build around:</p>

<ul>
  <li>Binary log format</li>
  <li>The network protocol and api behavior</li>
  <li>Configuration, especially client configuration</li>
  <li>Monitoring/Stats provider</li>
  <li>Command line tools and arguments</li>
</ul>

<h3 id="what-should-be-included-in-a-bp">What should be included in a BP?</h3>

<p>A BP should contain the following sections:</p>

<ul>
  <li><em>Motivation</em>: describe the problem to be solved</li>
  <li><em>Proposed Change</em>: describe the new thing you want to do. This may be fairly extensive and have large subsections of its own. Or it may be a few sentences, depending on the scope of the change.</li>
  <li><em>New or Changed Public Interfaces</em>: impact to any of the “compatibility commitments” described above. We want to call these out in particular so everyone thinks about them.</li>
  <li><em>Migration Plan and Compatibility</em>: if this feature requires additional support for a no-downtime upgrade describe how that will work</li>
  <li><em>Rejected Alternatives</em>: What are the other alternatives you considered and why are they worse? The goal of this section is to help people understand why this is the best solution now, and also to prevent churn in the future when old alternatives are reconsidered.</li>
</ul>

<h3 id="who-should-initiate-the-bp">Who should initiate the BP?</h3>

<p>Anyone can initiate a BP but you shouldn’t do it unless you have an intention of getting the work done to implement it (otherwise it is silly).</p>

<h3 id="how-to-make-a-bp">How to make a BP?</h3>

<p>Here is the process for making a BP:</p>

<ol>
  <li>Create an issue <code class="highlighter-rouge">BP-&lt;number&gt;: [capation of bookkeeper proposal]</code>. E.g. <code class="highlighter-rouge">BP-1: 64 bits ledger id support</code>.
    <ul>
      <li>Take the next available BP number from this page.</li>
      <li>Write a brief description about what BP is for in this issue. This issue will be the master issue for tracking the status of this BP and its implementations.
All the implementations of this BP should be listed and linked to this master issues.</li>
    </ul>
  </li>
  <li>Write the proposal for this BP. There are two ways to write a bookkeeper proposal. You can choose to write a BP using markdown, or write a BP
using Google Doc.
    <ul>
      <li>Markdown
        <ul>
          <li>Make a copy of the <a href="https://github.com/apache/bookkeeper/tree/master/site/bps/BP-template.md">BP-Template</a>. Name the BP file as <code class="highlighter-rouge">BP-&lt;number&gt;-[caption-of-proposal].md</code>.
            <div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>  <span class="nv">$ </span><span class="nb">cp </span>site/bps/BP-template.md site/bps/BP-xyz-capation-of-proposal.md
</code></pre></div>            </div>
          </li>
          <li>Fill the sections listed in the BP template.
            <ul>
              <li>issue: replace <code class="highlighter-rouge">&lt;issue-number&gt;</code> with the issue number.</li>
              <li>state: “Under Discussion”</li>
              <li>release: leave the release to <code class="highlighter-rouge">N/A</code>. you can only mark a release after a BP is implemented.</li>
            </ul>
          </li>
        </ul>
      </li>
      <li>Google Doc
        <ul>
          <li>Make a copy of the <a href="https://docs.google.com/document/d/1DsmH54LoohgwqnEjESPQNtIYxxcOy2rwonZ_TJCwws0">BP-Template</a>. Name the BP file as <code class="highlighter-rouge">BP-&lt;number&gt;-[caption-of-proposal]</code>.</li>
          <li>Fill the sections listed in the BP template.</li>
        </ul>
      </li>
    </ul>
  </li>
  <li>Send a PR for this BP. Following the instructions in the pull request template.
    <ul>
      <li>add <code class="highlighter-rouge">BP</code> label to this PR</li>
      <li>attach the google doc link in the PR description if the BP is written in google doc</li>
      <li>don’t associate this PR with any release or milestone</li>
      <li>edit <code class="highlighter-rouge">site/community/bookkeeper_proposals.md</code>:
        <ul>
          <li>bump the next bp number</li>
          <li>add this BP to <code class="highlighter-rouge">Inprogress</code> section</li>
        </ul>
      </li>
    </ul>
  </li>
  <li>You can tag committers on this RP for reviewers, or start a <code class="highlighter-rouge">[DISCUSS]</code> thread on Apache mailing list. If you are sending an email, please make sure that the subject
of the thread is of the format <code class="highlighter-rouge">[DISCUSS] BP-&lt;number&gt;: capation of bookkeeper proposal</code>.</li>
  <li>Once the BP is finalized, reviewed and approved by committers, the BP is accepted. The criteria for acceptance is <a href="http://bookkeeper.apache.org/bylaws.html">lazy majority</a>.
    <ol>
      <li>Committers merge the PR after a BP is accepted. The development for this BP moves forward with implementations. The BP should be updated if there is anything changed during implementing it.</li>
      <li>After all the implementations for a given BP are completed, a new PR should be sent for changing the state of a BP:
        <ul>
          <li>state: “Adopted”</li>
          <li>release: set to the release that includes this BP.</li>
          <li>moving the BP from <code class="highlighter-rouge">Inprogress</code> to <code class="highlighter-rouge">Adopted</code>.</li>
        </ul>
      </li>
      <li>The final PR for changing BP state will be used as the criteria for marking a BP as completed.</li>
    </ol>
  </li>
  <li>If a BP is failed or rejected:
    <ol>
      <li>Update the PR to change the state of a BP
        <ul>
          <li>state: “Discarded”</li>
          <li>add a paragraph at the first paragraph of this BP for describing the reasons.</li>
          <li>moving the BP from <code class="highlighter-rouge">Inprogress</code> to <code class="highlighter-rouge">Discarded</code>.</li>
        </ul>
      </li>
      <li>Once the PR is updated, committers can merge this proposal PR and close the master issue of this BP.</li>
    </ol>
  </li>
</ol>

<h2 id="all-proposals">All Proposals</h2>

<p>This section lists all the <em>bookkeeper proposals</em> made to BookKeeper.</p>

<p><em>Next Proposal Number: 43</em></p>

<h3 id="inprogress">Inprogress</h3>

<table>
  <thead>
    <tr>
      <th style="text-align: left">Proposal</th>
      <th style="text-align: left">State</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="text-align: left"><a href="https://cwiki.apache.org/confluence/display/BOOKKEEPER/BP-4+-+BookKeeper+Lifecycle+Management">BP-4 - BookKeeper Lifecycle Management</a></td>
      <td style="text-align: left">Draft</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="https://cwiki.apache.org/confluence/display/BOOKKEEPER/BP-8+-+Queue+based+auto+rereplicator">BP-8 - Queue based auto rereplicator</a></td>
      <td style="text-align: left">Draft</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="https://cwiki.apache.org/confluence/display/BOOKKEEPER/BP-12+-+Improve+documentation">BP-12 - Improve documentation</a></td>
      <td style="text-align: left">Accepted</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="https://cwiki.apache.org/confluence/display/BOOKKEEPER/BP-14+Relax+durability">BP-14 Relax durability</a></td>
      <td style="text-align: left">Accepted</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="https://cwiki.apache.org/confluence/display/BOOKKEEPER/BP-16%3A+Thin+Client+-+Remove+direct+metadata+storage+access+from+clients">BP-16: Thin Client - Remove direct metadata storage access from clients</a></td>
      <td style="text-align: left">Draft</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="https://cwiki.apache.org/confluence/display/BOOKKEEPER/BP-18%3A+LedgerType%2C+Flags+and+StorageHints">BP-18: LedgerType, Flags and StorageHints</a></td>
      <td style="text-align: left">Accepted</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="../../bps/BP-26-move-distributedlog-core-library">BP-26: Move distributedlog library as part of bookkeeper</a></td>
      <td style="text-align: left">Accepted</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="../../bps/BP-27-new-bookkeeper-cli">BP-27: New BookKeeper CLI</a></td>
      <td style="text-align: left">Accepted</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="../../bps/BP-28-etcd-as-metadata-store">BP-28: use etcd as metadata store</a></td>
      <td style="text-align: left">Accepted</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="../../bps/BP-29-metadata-store-api-module">BP-29: Metadata API module</a></td>
      <td style="text-align: left">Accepted</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="https://docs.google.com/document/d/155xAwWv5IdOitHh1NVMEwCMGgB28M3FyMiQSxEpjE-Y/edit#heading=h.56rbh52koe3f">BP-30: BookKeeper Table Service</a></td>
      <td style="text-align: left">Accepted</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="../../bps/BP-31-durability">BP-31: BookKeeper Durability Anchor</a></td>
      <td style="text-align: left">Accepted</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="../../bps/BP-32-advisory-write-close">BP-32: Advisory (optimistic) write close</a></td>
      <td style="text-align: left">Accepted</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="../../bps/BP-33-building-official-docker-imags">BP-33: Move releasing docker images out of main repo</a></td>
      <td style="text-align: left">Draft</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="../../bps/BP-34-cluster-metadata-checker">BP-34: Cluster Metadata Checker</a></td>
      <td style="text-align: left">Accepted</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="../../bps/BP-35-128-bits-support">BP-35: 128 bits support</a></td>
      <td style="text-align: left">Accepted</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="../../bps/BP-36-stats-documentation-annotation">BP-36: Stats documentation annotation</a></td>
      <td style="text-align: left">Accepted</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="../../bps/BP-37-conf-documentation">BP-37: Improve configuration management for better documentation</a></td>
      <td style="text-align: left">Accepted</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="../../bps/BP-41-bookieid">BP-41: Separate BookieId from Separate BookieId from Bookie Network Address</a></td>
      <td style="text-align: left">Accepted</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="../../bps/BP-42-new-api-list-ledgers">BP-42: New Client API - list ledgers</a></td>
      <td style="text-align: left">Accepted</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="../../bps/BP-43-gradle-migration">BP-43: Migration to gradle</a></td>
      <td style="text-align: left">Draft</td>
    </tr>
  </tbody>
</table>

<h3 id="adopted">Adopted</h3>

<table>
  <thead>
    <tr>
      <th style="text-align: left">Proposal</th>
      <th style="text-align: left">Release</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="text-align: left"><a href="https://cwiki.apache.org/confluence/display/BOOKKEEPER/BP-1+-+64+bits+ledger+id+support">BP-1 - 64 bits ledger id support</a></td>
      <td style="text-align: left">4.5.0</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="https://cwiki.apache.org/confluence/display/BOOKKEEPER/BP-2+-+Resource+aware+data+placement">BP-2 - Resource aware data placement</a></td>
      <td style="text-align: left">4.5.0</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="https://cwiki.apache.org/confluence/display/BOOKKEEPER/BP-3+-+Security+support">BP-3 - Security support</a></td>
      <td style="text-align: left">4.5.0</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="https://cwiki.apache.org/confluence/display/BOOKKEEPER/BP-5+Allow+reads+outside+the+LAC+Protocol">BP-5 - Allow reads outside the LAC Protocol</a></td>
      <td style="text-align: left">4.5.0</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="https://cwiki.apache.org/confluence/display/BOOKKEEPER/BP-6+-+Use+separate+log+for+compaction">BP-6 - Use separate log for compaction</a></td>
      <td style="text-align: left">4.6.0</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="https://cwiki.apache.org/confluence/display/BOOKKEEPER/BP-9+-+Github+issues+for+Issue+Tracking">BP-9 - Github issues for Issue Tracking</a></td>
      <td style="text-align: left">4.5.0</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="https://cwiki.apache.org/confluence/display/BOOKKEEPER/BP-10+-+Official+Bookkeeper+Docker+Image">BP-10 - Official Bookkeeper Docker Image</a></td>
      <td style="text-align: left">4.5.0</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=71012301">BP-11 - Move website/documentation to Jekyll based site</a></td>
      <td style="text-align: left">4.5.0</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="https://cwiki.apache.org/confluence/display/BOOKKEEPER/BP-13+-+Time+Based+Release+Plan">BP-13 - Time Based Release Plan</a></td>
      <td style="text-align: left">4.6.0</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="https://cwiki.apache.org/confluence/display/BOOKKEEPER/BP-15+New+CreateLedger+API">BP-15 - New CreateLedger API</a></td>
      <td style="text-align: left">4.6.0</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="https://cwiki.apache.org/confluence/display/BOOKKEEPER/BP-17%3A+Define+BookKeeper+public+http+endpoints">BP-17 - Define BookKeeper public http endpoints</a></td>
      <td style="text-align: left">4.6.0</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="../../bps/BP-20-github-workflow-for-bookkeeper-proposals">BP-20: Github workflow for bookkeeper proposals</a></td>
      <td style="text-align: left">4.7.0</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="../../bps/BP-25-MovingChecksumToProto">BP-25: Move checksum to proto</a></td>
      <td style="text-align: left">4.7.0</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="../../bps/BP-38-bookie-endpoint-discovery">BP-38: Publish Bookie Service Info on Metadata Service</a></td>
      <td style="text-align: left">4.11.0</td>
    </tr>
  </tbody>
</table>

<h3 id="discarded">Discarded</h3>

<table>
  <thead>
    <tr>
      <th style="text-align: left">Proposal</th>
      <th style="text-align: left">Reason</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="text-align: left"><a href="https://cwiki.apache.org/confluence/display/BOOKKEEPER/BP-7+-+Explicit+LAC+on+addEntry">BP-7 - Explicit LAC on addEntry</a></td>
      <td style="text-align: left">Not A Problem</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="../../bps/BP-21-new-api-close-inconsistencies">BP-21: New API close inconsistencies</a></td>
      <td style="text-align: left">Not A Problem</td>
    </tr>
    <tr>
      <td style="text-align: left"><a href="../../bps/BP-22-separate-closing-ledgers-from-opening-ledgers">BP-22: Separate closing ledgers from opening ledgers</a></td>
      <td style="text-align: left">Not A Problem</td>
    </tr>
  </tbody>
</table>

        </section>

        
      </div>
    </div>
  </div>
</div>
    </main>

    <footer class="footer">
  <div class="container">
    <div class="content has-text-centered">
      <p>
        Copyright &copy; 2016 - 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br /> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
      </p>
      <p>
        Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
      </p>
    </div>
  </div>
</footer>

  </body>

  <script src="/js/app.js"></script>

  
  <!--
    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at
      http://www.apache.org/licenses/LICENSE-2.0
    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.
-->
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-104419626-1', 'auto');
  ga('send', 'pageview');

</script>

  
</html>
