Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[improve][docs] Improve docs for persistence policies parameters E, Qw and Qa. #18003

Merged
merged 4 commits into from
Oct 13, 2022

Conversation

lhotari
Copy link
Member

@lhotari lhotari commented Oct 11, 2022

Motivation

Important details are missing for documenting ensemble (E) size, write quorum (Qw) size and ack quorum (Qa) size.
For example, it is not well known that there's a rule that E == Qw to use sticky reads or that the max number of bookie failures is Qa-1. Some might realize this only in production when they lose a bookie and cannot recover.

Modifications

  • improve documentation for persistence policies parameters

Documentation

  • doc
  • doc-required
  • doc-not-needed
  • doc-complete

Matching PR in forked repository

PR in forked repository:

@lhotari lhotari added this to the 2.12.0 milestone Oct 11, 2022
@lhotari lhotari self-assigned this Oct 11, 2022
@lhotari lhotari requested review from eolivelli and dlg99 October 11, 2022 12:09
@lhotari lhotari changed the title [improve][docs] Improve docs for Bookkeeper E, Qw and Qa. [improve][docs] Improve docs for persistence policies parameters E, Qw and Qa. Oct 11, 2022
Copy link
Contributor

@eolivelli eolivelli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lgtm

Very useful

@github-actions github-actions bot added the doc Your PR contains doc changes, no matter whether the changes are in markdown or code files. label Oct 11, 2022
Copy link
Member

@michaeljmarshall michaeljmarshall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are good documentation improvements. I have previously read through the source code to verify this understanding.

I have two comments. The first is about the double negative in the documentation. The second is that sticky reads are also a bookkeeper client feature that likely could be documented on the bookkeeper website.

For example, here is the BK Javadoc for the config: https://github.com/apache/bookkeeper/blob/master/bookkeeper-server/src/main/java/org/apache/bookkeeper/conf/ClientConfiguration.java#L1181-L1198

It's completely off topic for this PR, but I think we could make some form of sticky reads work when E != Qw. Basically, we could make it use a subset of the bookies when doing reads. It wouldn't be completely sticky, but it would take better advantage of the read ahead cache.

conf/broker.conf Outdated Show resolved Hide resolved
Copy link
Member

@michaeljmarshall michaeljmarshall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@lhotari lhotari force-pushed the lh-improve-persistence-params-docs branch from e8be179 to cb1070b Compare October 12, 2022 17:52
@lhotari lhotari force-pushed the lh-improve-persistence-params-docs branch from cb1070b to bd74506 Compare October 12, 2022 17:55
@codecov-commenter
Copy link

codecov-commenter commented Oct 12, 2022

Codecov Report

❗ No coverage uploaded for pull request base (master@92b4708). Click here to learn what that means.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff            @@
##             master   #18003   +/-   ##
=========================================
  Coverage          ?   45.72%           
  Complexity        ?    17516           
=========================================
  Files             ?     1573           
  Lines             ?   128211           
  Branches          ?    14098           
=========================================
  Hits              ?    58626           
  Misses            ?    63496           
  Partials          ?     6089           
Flag Coverage Δ
unittests 45.72% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

@lhotari lhotari merged commit 3857540 into apache:master Oct 13, 2022
@lhotari lhotari deleted the lh-improve-persistence-params-docs branch October 13, 2022 06:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
doc Your PR contains doc changes, no matter whether the changes are in markdown or code files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants