<!DOCTYPE html>
<html>
  <head>
    <title>Apache BookKeeper&trade; - Issue Report</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.14.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.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">Issue Report</h1>
            </div>
          </div>
          
        </nav>

        
      </header>

      <hr />

      <div class="content is-medium">
        <section class="bk-community-content">
          <p>To report an issue, you will need to create a <strong><a href="https://github.com/apache/bookkeeper/issues/new">New Issue</a></strong>.
Be aware that resolving your issue may require <strong>your participation</strong>. Please be willing and prepared to aid the developers in finding the actual cause of the issue so that they can develop a comprehensive solution.</p>

<h2 id="before-creating-a-new-issue">Before creating a new Issue:</h2>

<ul>
  <li>Search for the issue you want to report, it may already have been reported.</li>
  <li>If you find a similar issue, add any new information you might have as a comment on the existing issue. If it’s different enough, you might decide it needs to be reported in a new issue.</li>
  <li>If an issue you recently reported was closed, and you don’t agree with the reasoning for it being closed, you will need to reopen it to let us re-investigate the issue.</li>
  <li>Do not reopen the tickets that are in a previously completed milestone. Instead, open a new issue.</li>
</ul>

<h2 id="creating-a-issue">Creating a Issue:</h2>

<p>Here is an very useful artical <a href="http://www.chiark.greenend.org.uk/%7Esgtatham/bugs.html">How to report bugs effectively</a></p>

<h3 id="provide-useful-and-required-information">Provide useful and required information</h3>

<h4 id="if-it-is-a-question">If it is a question</h4>

<ul>
  <li>Please check our <a href="http://bookkeeper.apache.org/docs/latest/">documentation</a> first.</li>
  <li>If you could not find an answer there, please consider asking your question in our community mailing list at <a href="mailto:dev@bookkeeper.apache.org">dev@bookkeeper.apache.org</a>, or reach out us on our <a href="../slack">Slack channel</a>.  It would benefit other members of our community.</li>
</ul>

<h4 id="if-it-is-a-feature-request">If it is a <strong>FEATURE REQUEST</strong></h4>

<ul>
  <li>Please describe the feature you are requesting.</li>
  <li>Indicate the importance of this issue to you (<em>blocker</em>, <em>must-have</em>, <em>should-have</em>, <em>nice-to-have</em>). Are you currently using any workarounds to address this issue?</li>
  <li>Provide any additional detail on your proposed use case for this feature.</li>
  <li>If it is a <a href="http://bookkeeper.apache.org/community/bookkeeper_proposals/">BookKeeper Proposal</a>, please label this issue as <code class="highlighter-rouge">BP</code>.</li>
</ul>

<h4 id="if-it-is-a-bug-report">If it is a <strong>BUG REPORT</strong></h4>

<p>Please describe the issue you observed:</p>

<ul>
  <li>What did you do?</li>
  <li>What did you expect to see?</li>
  <li>What did you see instead?</li>
</ul>

<h3 id="use-labels">Use Labels</h3>

<p>Issue labels help to find issue reports and recognize the status of where an issue is in the lifecycle. An issue typically has the following 2 types of labels:</p>

<ol>
  <li><strong>type</strong> identifying its type.</li>
  <li><strong>area</strong> identifying the areas it belongs to.</li>
</ol>

<h4 id="type">Type</h4>

<ul>
  <li><strong>type/bug</strong>: The issue describes a product defect.</li>
  <li><strong>type/feature</strong>: The issue describes a new feature, which requires extensive design and testing.</li>
  <li><strong>type/question</strong>: The issue contains a user or contributor question requiring a response.</li>
  <li><strong>type/task</strong>: The issue describes a new task, which requires extensive design and testing.</li>
</ul>

<h4 id="area">Area</h4>

<ul>
  <li><strong>area/bookie</strong>: Code changes related to bookie storage.</li>
  <li><strong>area/build</strong>: Code changes related to project build.</li>
  <li><strong>area/client</strong>: Code changes related to clients.</li>
  <li><strong>area/docker</strong>: Code changes related to docker builds.</li>
  <li><strong>area/documentation</strong>: Code changes related to documentation (including website changes).</li>
  <li><strong>area/metadata</strong>: Code changes related to metadata management.</li>
  <li><strong>area/protocol</strong>: Protocol changes.</li>
  <li><strong>area/release</strong>: Release related tasks.</li>
  <li><strong>area/security</strong>: Security related changes.</li>
  <li><strong>area/tests</strong>: Tests related changes.</li>
</ul>

<h4 id="priority">Priority</h4>

<p>At most of the time, it is hard to find a right <code class="highlighter-rouge">priority</code> for issues. Currently we only have one label <code class="highlighter-rouge">priority/blocker</code> for marking an issue as a blocker
for a given release. Please only mark this issue as <em>blocker</em> only when it is a real blocker for a given release. If you have no idea about this, just leave
it as empty.</p>

<h4 id="status">Status</h4>

<p>If an issue is assigned to a contributor, that means there is already a contributor working on it. If an issue is unassigned, you can pick this up by assigning
it to yourself (for committers), or comment on the issue saying you would like to give it a try.</p>

<p>If an issue is not an issue anymore, close it and mark it as <code class="highlighter-rouge">status/wontfix</code>.</p>

<p>All the issues marked as <code class="highlighter-rouge">status/help-needed</code> are good candidates for new contributors to start with.</p>

<h4 id="bookkeeper-proposal">BookKeeper Proposal</h4>

<p>If an issue is a <code class="highlighter-rouge">BookKeeper Proposal</code>, label it as <code class="highlighter-rouge">BP</code>.</p>

<h4 id="milestone-and-release">Milestone and Release</h4>

<p>If you want some features merge into a given milestone or release, please associate the issue with a given milestone or release.</p>

<p>If you have no idea, just leave them empty. The committers will manage them for you.</p>

<p>Thank you for contributing to Apache BookKeeper!</p>

        </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>
