dlg99 opened a new pull request #2892:
URL: https://github.com/apache/bookkeeper/pull/2892


   Descriptions of the changes in this PR:
   
   Draft.
   
   ### Motivation
   
   TestBKDistributedLogManager is flaky. 
   Sometimes it passes on the CI because of the retries, sometimes it fails.
   It passes all tests locally (or in debugger/IDE) if the cases run one by one.
   Full suite often fails, typically with random cases failing. 
   
   AFAICT, tests fail because of 
   ```
   [DL-io-0] ERROR 
org.apache.bookkeeper.common.allocator.impl.ByteBufAllocatorImpl - Unable to 
allocate memory
   java.lang.OutOfMemoryError: Direct buffer memory
   ```
   As result bookies fail, and then test cases fail with something like 
"BKTransmitException: Failed to write to bookkeeper" or error in assert on 
number of messages read back.
   
   I don't see anything from netty's leak detection yet the direct memory goes 
somewhere, didn't track it down yet.
   
   ### Changes
   
   Currently just a test case with reliable repro of OODME.
   Use 
   ```
   mvn test -f stream/distributedlog/core/pom.xml 
-Dtest=org.apache.distributedlog.TestBKDistributedLogManager#testLoopLogWrites 
-DtestRetryCount=0 -Dio.netty.leakDetection.level=paranoid
   ```
   or gradle equivalent to repro.
   
   > ---
   > 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.
   >
   > ---
   > 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 to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to