You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@bookkeeper.apache.org by GitBox <gi...@apache.org> on 2018/08/23 21:18:12 UTC

[GitHub] athanatos opened a new pull request #1624: ISSUE #1623: ReadOnlyLedgerHandle: don't schedule monitorPendingAddOp…

athanatos opened a new pull request #1624: ISSUE #1623: ReadOnlyLedgerHandle: don't schedule monitorPendingAddOp…
URL: https://github.com/apache/bookkeeper/pull/1624
 
 
   …s();
   
   The LedgerHandle constructor schedules an addEntryQuorumTimeout check
   with the bk client scheduler. However, the only place this callback is
   canceled is in the closeAsync (the one which returns a future, not to be
   confused with asyncClose) method. asyncClose and close() both leak this
   callback. Moreover, ReadOnlyLedgerHandle invokes the LedgerHandle
   constructor and so also creates this callback, but it overrides close()
   and asyncClose() without passing them through.
   
   ReadOnlyLedgerHandle already overrides
   initializeExplicitLacFlushPolicy() to avoid write specific state.  This
   patch generalizes that hack to initializeWriteHandleState() and the
   cleanup to tearDownWriteHandleState().  tearDownWriteHandleState() is
   moved into doAsyncClose(), which appears to be called for closes in
   general.
   
   (@rev cguttapalem@)
   (@bug W-5362724@)
   Signed-off-by: Samuel Just <sj...@salesforce.com>
   
   Descriptions of the changes in this PR:
   
   
   
   ### Motivation
   
   (Explain: why you're making that change, what is the problem you're trying to solve)
   
   ### Changes
   
   (Describe: what changes you have made)
   
   Master Issue: #<master-issue-number>
   
   > ---
   > In order to uphold a high standard for quality for code contributions, Apache BookKeeper runs various precommit
   > checks for pull requests. A pull request can only be merged when it passes precommit checks. However running all
   > the precommit checks can take a long time, some trivial changes don't need to run all the precommit checks. You
   > can check following list to skip the tests that don't need to run for your pull request. Leave them unchecked if
   > you are not sure, committers will help you:
   >
   > - [ ] [skip bookkeeper-server bookie tests]: skip testing `org.apache.bookkeeper.bookie` in bookkeeper-server module.
   > - [ ] [skip bookkeeper-server client tests]: skip testing `org.apache.bookkeeper.client` in bookkeeper-server module.
   > - [ ] [skip bookkeeper-server replication tests]: skip testing `org.apache.bookkeeper.replication` in bookkeeper-server module.
   > - [ ] [skip bookkeeper-server tls tests]: skip testing `org.apache.bookkeeper.tls` in bookkeeper-server module.
   > - [ ] [skip bookkeeper-server remaining tests]: skip testing all other tests in bookkeeper-server module.
   > - [ ] [skip integration tests]: skip docker based integration tests. if you make java code changes, you shouldn't skip integration tests.
   > - [ ] [skip build java8]: skip build on java8. *ONLY* skip this when *ONLY* changing files under documentation under `site`.
   > - [ ] [skip build java9]: skip build on java9. *ONLY* skip this when *ONLY* changing files under documentation under `site`.
   > ---
   
   > ---
   > Be sure to do all of the following to help us incorporate your contribution
   > quickly and easily:
   >
   > If this PR is a BookKeeper Proposal (BP):
   >
   > - [ ] Make sure the PR title is formatted like:
   >     `<BP-#>: Description of bookkeeper proposal`
   >     `e.g. BP-1: 64 bits ledger is support`
   > - [ ] Attach the master issue link in the description of this PR.
   > - [ ] Attach the google doc link if the BP is written in Google Doc.
   >
   > Otherwise:
   > 
   > - [ ] Make sure the PR title is formatted like:
   >     `<Issue #>: Description of pull request`
   >     `e.g. Issue 123: Description ...`
   > - [ ] Make sure tests pass via `mvn clean apache-rat:check install spotbugs:check`.
   > - [ ] Replace `<Issue #>` in the title with the actual Issue number.
   > 
   > ---
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services