Bookkeeper
  1. Bookkeeper
  2. BOOKKEEPER-137

Do not create Ledger index files until absolutely necessary.

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.1.0
    • Component/s: None
    • Labels:
      None

      Description

      This is an optimization to speed up the case where we have many ledgers and are writing to them at random (a benchmark case we currently have). Currently, we create the ledger index file and write the first 1k of it to disk immediately. With a lot of ledgers being randomly written to, this means a lot of random writes on the ledger disk. This fix postpones the creation of the index file and writing of the first 1k until the first flush of the ledger.

      1. BOOKKEEPER-137.diff
        33 kB
        Ivan Kelly
      2. BOOKKEEPER-137.diff
        33 kB
        Ivan Kelly
      3. BOOKKEEPER-137.diff
        33 kB
        Ivan Kelly
      4. BOOKKEEPER-137.diff
        33 kB
        Ivan Kelly
      5. BOOKKEEPER-137.diff
        19 kB
        Ivan Kelly

        Issue Links

          Activity

          Hide
          Hudson added a comment -

          Integrated in bookkeeper-trunk #353 (See https://builds.apache.org/job/bookkeeper-trunk/353/)
          BOOKKEEPER-137: Do not create Ledger index files until absolutely necessary. (ivank)

          ivank :
          Files :

          • /zookeeper/bookkeeper/trunk/CHANGES.txt
          • /zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Bookie.java
          • /zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileInfo.java
          • /zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/JournalChannel.java
          • /zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCache.java
          • /zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerDescriptor.java
          • /zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServer.java
          • /zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/LocalBookKeeper.java
          • /zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieJournalTest.java
          • /zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieLayoutVersionTest.java
          • /zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java
          • /zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BaseTestCase.java
          Show
          Hudson added a comment - Integrated in bookkeeper-trunk #353 (See https://builds.apache.org/job/bookkeeper-trunk/353/ ) BOOKKEEPER-137 : Do not create Ledger index files until absolutely necessary. (ivank) ivank : Files : /zookeeper/bookkeeper/trunk/CHANGES.txt /zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Bookie.java /zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileInfo.java /zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/JournalChannel.java /zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCache.java /zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerDescriptor.java /zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServer.java /zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/LocalBookKeeper.java /zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieJournalTest.java /zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieLayoutVersionTest.java /zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java /zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BaseTestCase.java
          Hide
          Ivan Kelly added a comment -

          Committed as r1242404. Thanks for reviewing Sijie.

          Show
          Ivan Kelly added a comment - Committed as r1242404. Thanks for reviewing Sijie.
          Hide
          jiraposter@reviews.apache.org added a comment -

          -----------------------------------------------------------
          This is an automatically generated e-mail. To reply, visit:
          https://reviews.apache.org/r/3661/#review4966
          -----------------------------------------------------------

          Ship it!

          thanks Ivan for explanation. the new patch is ok for me. +1

          • Sijie

          On 2012-02-08 15:53:28, Ivan Kelly wrote:

          -----------------------------------------------------------

          This is an automatically generated e-mail. To reply, visit:

          https://reviews.apache.org/r/3661/

          -----------------------------------------------------------

          (Updated 2012-02-08 15:53:28)

          Review request for bookkeeper.

          Summary

          -------

          This is an optimization to speed up the case where we have many ledgers and are writing to them at random (a benchmark case we currently have). Currently, we create the ledger index file and write the first 1k of it to disk immediately. With a lot of ledgers being randomly written to, this means a lot of random writes on the ledger disk. This fix postpones the creation of the index file and writing of the first 1k until the first flush of the ledger.

          This patch includes BOOKKEEPER-136, as they both deal in the same area, and I found it difficult to separate them.

          BOOKKEEPER-135 is not required for this patch, and will need modifications after this goes in.

          This addresses bug BOOKKEEPER-137.

          https://issues.apache.org/jira/browse/BOOKKEEPER-137

          Diffs

          -----

          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Bookie.java 8abe87a

          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileInfo.java fa713c8

          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/JournalChannel.java 10ecac7

          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCache.java 771c0ba

          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerDescriptor.java 728d729

          bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServer.java 2228ab4

          bookkeeper-server/src/main/java/org/apache/bookkeeper/util/LocalBookKeeper.java 5706dd8

          bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieJournalTest.java ae63710

          bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieLayoutVersionTest.java c7b07e6

          bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java 8526db5

          bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BaseTestCase.java 9750158

          Diff: https://reviews.apache.org/r/3661/diff

          Testing

          -------

          Thanks,

          Ivan

          Show
          jiraposter@reviews.apache.org added a comment - ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/3661/#review4966 ----------------------------------------------------------- Ship it! thanks Ivan for explanation. the new patch is ok for me. +1 Sijie On 2012-02-08 15:53:28, Ivan Kelly wrote: ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/3661/ ----------------------------------------------------------- (Updated 2012-02-08 15:53:28) Review request for bookkeeper. Summary ------- This is an optimization to speed up the case where we have many ledgers and are writing to them at random (a benchmark case we currently have). Currently, we create the ledger index file and write the first 1k of it to disk immediately. With a lot of ledgers being randomly written to, this means a lot of random writes on the ledger disk. This fix postpones the creation of the index file and writing of the first 1k until the first flush of the ledger. This patch includes BOOKKEEPER-136 , as they both deal in the same area, and I found it difficult to separate them. BOOKKEEPER-135 is not required for this patch, and will need modifications after this goes in. This addresses bug BOOKKEEPER-137 . https://issues.apache.org/jira/browse/BOOKKEEPER-137 Diffs ----- bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Bookie.java 8abe87a bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileInfo.java fa713c8 bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/JournalChannel.java 10ecac7 bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCache.java 771c0ba bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerDescriptor.java 728d729 bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServer.java 2228ab4 bookkeeper-server/src/main/java/org/apache/bookkeeper/util/LocalBookKeeper.java 5706dd8 bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieJournalTest.java ae63710 bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieLayoutVersionTest.java c7b07e6 bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java 8526db5 bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BaseTestCase.java 9750158 Diff: https://reviews.apache.org/r/3661/diff Testing ------- Thanks, Ivan
          Hide
          Ivan Kelly added a comment -

          #readHeader will be called twice. However, the second call will do nothing, as it will see that fc != null, and return immediately.

          Show
          Ivan Kelly added a comment - #readHeader will be called twice. However, the second call will do nothing, as it will see that fc != null, and return immediately.
          Hide
          Sijie Guo added a comment -

          hmm, I can't find the code to avoid readHeader twice.

          909     LedgerDescriptor l = getHandle(ledgerId, false, masterKey);	
          910	if (!l.isMasterKeyPersisted()) {
          

          suppose a ledger is existed before but not in cache. then readHeader still be called twice as below:

          getHandle => createHandle => lh#checkAccess(masterKey) => the initial masterKey in lh is null, lh gets FileInfo#getMasterKey => no master key in FileInfo => FileInfo#checkOpen => FileInfo#readHeader (yes, it read header).

          lh#isMasterKeyPersisted (the initial masterKeyPersisted is false) => it will get FileInfo from LedgerCache => call FileInfo#readHeader (then, it read header again)

          Show
          Sijie Guo added a comment - hmm, I can't find the code to avoid readHeader twice. 909 LedgerDescriptor l = getHandle(ledgerId, false , masterKey); 910 if (!l.isMasterKeyPersisted()) { suppose a ledger is existed before but not in cache. then readHeader still be called twice as below: getHandle => createHandle => lh#checkAccess(masterKey) => the initial masterKey in lh is null, lh gets FileInfo#getMasterKey => no master key in FileInfo => FileInfo#checkOpen => FileInfo#readHeader (yes, it read header). lh#isMasterKeyPersisted (the initial masterKeyPersisted is false) => it will get FileInfo from LedgerCache => call FileInfo#readHeader (then, it read header again)
          Hide
          jiraposter@reviews.apache.org added a comment -

          -----------------------------------------------------------
          This is an automatically generated e-mail. To reply, visit:
          https://reviews.apache.org/r/3661/
          -----------------------------------------------------------

          (Updated 2012-02-08 15:53:28.318711)

          Review request for bookkeeper.

          Changes
          -------

          Fixed compile error

          Summary
          -------

          This is an optimization to speed up the case where we have many ledgers and are writing to them at random (a benchmark case we currently have). Currently, we create the ledger index file and write the first 1k of it to disk immediately. With a lot of ledgers being randomly written to, this means a lot of random writes on the ledger disk. This fix postpones the creation of the index file and writing of the first 1k until the first flush of the ledger.

          This patch includes BOOKKEEPER-136, as they both deal in the same area, and I found it difficult to separate them.

          BOOKKEEPER-135 is not required for this patch, and will need modifications after this goes in.

          This addresses bug BOOKKEEPER-137.
          https://issues.apache.org/jira/browse/BOOKKEEPER-137

          Diffs (updated)


          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Bookie.java 8abe87a
          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileInfo.java fa713c8
          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/JournalChannel.java 10ecac7
          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCache.java 771c0ba
          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerDescriptor.java 728d729
          bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServer.java 2228ab4
          bookkeeper-server/src/main/java/org/apache/bookkeeper/util/LocalBookKeeper.java 5706dd8
          bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieJournalTest.java ae63710
          bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieLayoutVersionTest.java c7b07e6
          bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java 8526db5
          bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BaseTestCase.java 9750158

          Diff: https://reviews.apache.org/r/3661/diff

          Testing
          -------

          Thanks,

          Ivan

          Show
          jiraposter@reviews.apache.org added a comment - ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/3661/ ----------------------------------------------------------- (Updated 2012-02-08 15:53:28.318711) Review request for bookkeeper. Changes ------- Fixed compile error Summary ------- This is an optimization to speed up the case where we have many ledgers and are writing to them at random (a benchmark case we currently have). Currently, we create the ledger index file and write the first 1k of it to disk immediately. With a lot of ledgers being randomly written to, this means a lot of random writes on the ledger disk. This fix postpones the creation of the index file and writing of the first 1k until the first flush of the ledger. This patch includes BOOKKEEPER-136 , as they both deal in the same area, and I found it difficult to separate them. BOOKKEEPER-135 is not required for this patch, and will need modifications after this goes in. This addresses bug BOOKKEEPER-137 . https://issues.apache.org/jira/browse/BOOKKEEPER-137 Diffs (updated) bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Bookie.java 8abe87a bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileInfo.java fa713c8 bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/JournalChannel.java 10ecac7 bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCache.java 771c0ba bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerDescriptor.java 728d729 bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServer.java 2228ab4 bookkeeper-server/src/main/java/org/apache/bookkeeper/util/LocalBookKeeper.java 5706dd8 bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieJournalTest.java ae63710 bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieLayoutVersionTest.java c7b07e6 bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java 8526db5 bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BaseTestCase.java 9750158 Diff: https://reviews.apache.org/r/3661/diff Testing ------- Thanks, Ivan
          Hide
          jiraposter@reviews.apache.org added a comment -

          On 2012-02-08 15:39:47, Sijie Guo wrote:

          > most is good to me. thanks Ivan, except a BookieException is missing in BaseTestCase that I commented as below.

          >

          > and it seems that new patch doesn't fix the readHeader twice problem.

          Ah, will fix the BookieException thing and upload a new patch against trunk.

          The readHeader issue has been fixed. It can still be called twice, but if the file has already been opened, it returns immediately.

          • Ivan

          -----------------------------------------------------------
          This is an automatically generated e-mail. To reply, visit:
          https://reviews.apache.org/r/3661/#review4903
          -----------------------------------------------------------

          On 2012-02-07 18:13:15, Ivan Kelly wrote:

          -----------------------------------------------------------

          This is an automatically generated e-mail. To reply, visit:

          https://reviews.apache.org/r/3661/

          -----------------------------------------------------------

          (Updated 2012-02-07 18:13:15)

          Review request for bookkeeper.

          Summary

          -------

          This is an optimization to speed up the case where we have many ledgers and are writing to them at random (a benchmark case we currently have). Currently, we create the ledger index file and write the first 1k of it to disk immediately. With a lot of ledgers being randomly written to, this means a lot of random writes on the ledger disk. This fix postpones the creation of the index file and writing of the first 1k until the first flush of the ledger.

          This patch includes BOOKKEEPER-136, as they both deal in the same area, and I found it difficult to separate them.

          BOOKKEEPER-135 is not required for this patch, and will need modifications after this goes in.

          This addresses bug BOOKKEEPER-137.

          https://issues.apache.org/jira/browse/BOOKKEEPER-137

          Diffs

          -----

          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Bookie.java 99b797f

          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileInfo.java fa713c8

          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/JournalChannel.java PRE-CREATION

          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCache.java 0fc5206

          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerDescriptor.java 728d729

          bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServer.java 2228ab4

          bookkeeper-server/src/main/java/org/apache/bookkeeper/util/LocalBookKeeper.java 5706dd8

          bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieJournalTest.java PRE-CREATION

          bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieLayoutVersionTest.java c7b07e6

          bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java 8526db5

          bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BaseTestCase.java db1a763

          Diff: https://reviews.apache.org/r/3661/diff

          Testing

          -------

          Thanks,

          Ivan

          Show
          jiraposter@reviews.apache.org added a comment - On 2012-02-08 15:39:47, Sijie Guo wrote: > most is good to me. thanks Ivan, except a BookieException is missing in BaseTestCase that I commented as below. > > and it seems that new patch doesn't fix the readHeader twice problem. Ah, will fix the BookieException thing and upload a new patch against trunk. The readHeader issue has been fixed. It can still be called twice, but if the file has already been opened, it returns immediately. Ivan ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/3661/#review4903 ----------------------------------------------------------- On 2012-02-07 18:13:15, Ivan Kelly wrote: ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/3661/ ----------------------------------------------------------- (Updated 2012-02-07 18:13:15) Review request for bookkeeper. Summary ------- This is an optimization to speed up the case where we have many ledgers and are writing to them at random (a benchmark case we currently have). Currently, we create the ledger index file and write the first 1k of it to disk immediately. With a lot of ledgers being randomly written to, this means a lot of random writes on the ledger disk. This fix postpones the creation of the index file and writing of the first 1k until the first flush of the ledger. This patch includes BOOKKEEPER-136 , as they both deal in the same area, and I found it difficult to separate them. BOOKKEEPER-135 is not required for this patch, and will need modifications after this goes in. This addresses bug BOOKKEEPER-137 . https://issues.apache.org/jira/browse/BOOKKEEPER-137 Diffs ----- bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Bookie.java 99b797f bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileInfo.java fa713c8 bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/JournalChannel.java PRE-CREATION bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCache.java 0fc5206 bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerDescriptor.java 728d729 bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServer.java 2228ab4 bookkeeper-server/src/main/java/org/apache/bookkeeper/util/LocalBookKeeper.java 5706dd8 bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieJournalTest.java PRE-CREATION bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieLayoutVersionTest.java c7b07e6 bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java 8526db5 bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BaseTestCase.java db1a763 Diff: https://reviews.apache.org/r/3661/diff Testing ------- Thanks, Ivan
          Hide
          jiraposter@reviews.apache.org added a comment -

          -----------------------------------------------------------
          This is an automatically generated e-mail. To reply, visit:
          https://reviews.apache.org/r/3661/#review4903
          -----------------------------------------------------------

          most is good to me. thanks Ivan, except a BookieException is missing in BaseTestCase that I commented as below.

          and it seems that new patch doesn't fix the readHeader twice problem.

          bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BaseTestCase.java
          <https://reviews.apache.org/r/3661/#comment10799>

          this patch applied to trunk would compile fail. due to in BOOKKEEPER-156, start bookie action has been put in startBookie function. so it need to add BookieException also in startBookie.

          • Sijie

          On 2012-02-07 18:13:15, Ivan Kelly wrote:

          -----------------------------------------------------------

          This is an automatically generated e-mail. To reply, visit:

          https://reviews.apache.org/r/3661/

          -----------------------------------------------------------

          (Updated 2012-02-07 18:13:15)

          Review request for bookkeeper.

          Summary

          -------

          This is an optimization to speed up the case where we have many ledgers and are writing to them at random (a benchmark case we currently have). Currently, we create the ledger index file and write the first 1k of it to disk immediately. With a lot of ledgers being randomly written to, this means a lot of random writes on the ledger disk. This fix postpones the creation of the index file and writing of the first 1k until the first flush of the ledger.

          This patch includes BOOKKEEPER-136, as they both deal in the same area, and I found it difficult to separate them.

          BOOKKEEPER-135 is not required for this patch, and will need modifications after this goes in.

          This addresses bug BOOKKEEPER-137.

          https://issues.apache.org/jira/browse/BOOKKEEPER-137

          Diffs

          -----

          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Bookie.java 99b797f

          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileInfo.java fa713c8

          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/JournalChannel.java PRE-CREATION

          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCache.java 0fc5206

          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerDescriptor.java 728d729

          bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServer.java 2228ab4

          bookkeeper-server/src/main/java/org/apache/bookkeeper/util/LocalBookKeeper.java 5706dd8

          bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieJournalTest.java PRE-CREATION

          bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieLayoutVersionTest.java c7b07e6

          bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java 8526db5

          bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BaseTestCase.java db1a763

          Diff: https://reviews.apache.org/r/3661/diff

          Testing

          -------

          Thanks,

          Ivan

          Show
          jiraposter@reviews.apache.org added a comment - ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/3661/#review4903 ----------------------------------------------------------- most is good to me. thanks Ivan, except a BookieException is missing in BaseTestCase that I commented as below. and it seems that new patch doesn't fix the readHeader twice problem. bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BaseTestCase.java < https://reviews.apache.org/r/3661/#comment10799 > this patch applied to trunk would compile fail. due to in BOOKKEEPER-156 , start bookie action has been put in startBookie function. so it need to add BookieException also in startBookie. Sijie On 2012-02-07 18:13:15, Ivan Kelly wrote: ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/3661/ ----------------------------------------------------------- (Updated 2012-02-07 18:13:15) Review request for bookkeeper. Summary ------- This is an optimization to speed up the case where we have many ledgers and are writing to them at random (a benchmark case we currently have). Currently, we create the ledger index file and write the first 1k of it to disk immediately. With a lot of ledgers being randomly written to, this means a lot of random writes on the ledger disk. This fix postpones the creation of the index file and writing of the first 1k until the first flush of the ledger. This patch includes BOOKKEEPER-136 , as they both deal in the same area, and I found it difficult to separate them. BOOKKEEPER-135 is not required for this patch, and will need modifications after this goes in. This addresses bug BOOKKEEPER-137 . https://issues.apache.org/jira/browse/BOOKKEEPER-137 Diffs ----- bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Bookie.java 99b797f bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileInfo.java fa713c8 bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/JournalChannel.java PRE-CREATION bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCache.java 0fc5206 bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerDescriptor.java 728d729 bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServer.java 2228ab4 bookkeeper-server/src/main/java/org/apache/bookkeeper/util/LocalBookKeeper.java 5706dd8 bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieJournalTest.java PRE-CREATION bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieLayoutVersionTest.java c7b07e6 bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java 8526db5 bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BaseTestCase.java db1a763 Diff: https://reviews.apache.org/r/3661/diff Testing ------- Thanks, Ivan
          Hide
          jiraposter@reviews.apache.org added a comment -

          -----------------------------------------------------------
          This is an automatically generated e-mail. To reply, visit:
          https://reviews.apache.org/r/3661/
          -----------------------------------------------------------

          (Updated 2012-02-07 18:13:15.812700)

          Review request for bookkeeper.

          Changes
          -------

          New diff, addresses Sijie's comments. Diffed against trunk with BOOKKEEPER-165 applied.

          Summary
          -------

          This is an optimization to speed up the case where we have many ledgers and are writing to them at random (a benchmark case we currently have). Currently, we create the ledger index file and write the first 1k of it to disk immediately. With a lot of ledgers being randomly written to, this means a lot of random writes on the ledger disk. This fix postpones the creation of the index file and writing of the first 1k until the first flush of the ledger.

          This patch includes BOOKKEEPER-136, as they both deal in the same area, and I found it difficult to separate them.

          BOOKKEEPER-135 is not required for this patch, and will need modifications after this goes in.

          This addresses bug BOOKKEEPER-137.
          https://issues.apache.org/jira/browse/BOOKKEEPER-137

          Diffs (updated)


          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Bookie.java 99b797f
          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileInfo.java fa713c8
          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/JournalChannel.java PRE-CREATION
          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCache.java 0fc5206
          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerDescriptor.java 728d729
          bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServer.java 2228ab4
          bookkeeper-server/src/main/java/org/apache/bookkeeper/util/LocalBookKeeper.java 5706dd8
          bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieJournalTest.java PRE-CREATION
          bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieLayoutVersionTest.java c7b07e6
          bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java 8526db5
          bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BaseTestCase.java db1a763

          Diff: https://reviews.apache.org/r/3661/diff

          Testing
          -------

          Thanks,

          Ivan

          Show
          jiraposter@reviews.apache.org added a comment - ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/3661/ ----------------------------------------------------------- (Updated 2012-02-07 18:13:15.812700) Review request for bookkeeper. Changes ------- New diff, addresses Sijie's comments. Diffed against trunk with BOOKKEEPER-165 applied. Summary ------- This is an optimization to speed up the case where we have many ledgers and are writing to them at random (a benchmark case we currently have). Currently, we create the ledger index file and write the first 1k of it to disk immediately. With a lot of ledgers being randomly written to, this means a lot of random writes on the ledger disk. This fix postpones the creation of the index file and writing of the first 1k until the first flush of the ledger. This patch includes BOOKKEEPER-136 , as they both deal in the same area, and I found it difficult to separate them. BOOKKEEPER-135 is not required for this patch, and will need modifications after this goes in. This addresses bug BOOKKEEPER-137 . https://issues.apache.org/jira/browse/BOOKKEEPER-137 Diffs (updated) bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Bookie.java 99b797f bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileInfo.java fa713c8 bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/JournalChannel.java PRE-CREATION bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCache.java 0fc5206 bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerDescriptor.java 728d729 bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServer.java 2228ab4 bookkeeper-server/src/main/java/org/apache/bookkeeper/util/LocalBookKeeper.java 5706dd8 bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieJournalTest.java PRE-CREATION bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieLayoutVersionTest.java c7b07e6 bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java 8526db5 bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BaseTestCase.java db1a763 Diff: https://reviews.apache.org/r/3661/diff Testing ------- Thanks, Ivan
          Hide
          Ivan Kelly added a comment -

          New patch, addresses Sijie's comments, now only depends on BOOKKEEPER-165

          Show
          Ivan Kelly added a comment - New patch, addresses Sijie's comments, now only depends on BOOKKEEPER-165
          Hide
          Ivan Kelly added a comment -

          Ah yes, you're right, it calls it through #checkOpen. This should be simple to resolve.

          Show
          Ivan Kelly added a comment - Ah yes, you're right, it calls it through #checkOpen. This should be simple to resolve.
          Hide
          Sijie Guo added a comment -

          Im not clear on this point. checkAccess doesn't call #readHeader at all.

          #checkAccess => #getMasterKey => #readHeader

          Show
          Sijie Guo added a comment - Im not clear on this point. checkAccess doesn't call #readHeader at all. #checkAccess => #getMasterKey => #readHeader
          Hide
          Ivan Kelly added a comment -

          suppose the code running in journalLayoutVersion=1 directory. the first time is OK, since there would be no meta entries. but the code would add meta entries then. the next time bookie restarts, journalLayoutVersion is still 1, it would throw IOException.

          so do we need to upgrade the layout version when we run new code in old data directories?

          This is true, I need to add upgrade logic. I may separate this out into another JIRA.

          if a ledger existed before, getHandle would checkAccess of masterKey, which would call FileInfo#readHeader. Then isMasterKeyPersisted would call FileInfo#readHeader again, which is not necessary.

          I think it would be easy to avoid readHeader twice.

          Im not clear on this point. checkAccess doesn't call #readHeader at all.

          Show
          Ivan Kelly added a comment - suppose the code running in journalLayoutVersion=1 directory. the first time is OK, since there would be no meta entries. but the code would add meta entries then. the next time bookie restarts, journalLayoutVersion is still 1, it would throw IOException. so do we need to upgrade the layout version when we run new code in old data directories? This is true, I need to add upgrade logic. I may separate this out into another JIRA. if a ledger existed before, getHandle would checkAccess of masterKey, which would call FileInfo#readHeader. Then isMasterKeyPersisted would call FileInfo#readHeader again, which is not necessary. I think it would be easy to avoid readHeader twice. Im not clear on this point. checkAccess doesn't call #readHeader at all.
          Hide
          jiraposter@reviews.apache.org added a comment -

          -----------------------------------------------------------
          This is an automatically generated e-mail. To reply, visit:
          https://reviews.apache.org/r/3661/#review4819
          -----------------------------------------------------------

          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Bookie.java
          <https://reviews.apache.org/r/3661/#comment10582>

          suppose the code running in journalLayoutVersion=1 directory. the first time is OK, since there would be no meta entries. but the code would add meta entries then. the next time bookie restarts, journalLayoutVersion is still 1, it would throw IOException.

          so do we need to upgrade the layout version when we run new code in old data directories?

          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Bookie.java
          <https://reviews.apache.org/r/3661/#comment10583>

          if a ledger existed before, getHandle would checkAccess of masterKey, which would call FileInfo#readHeader. Then isMasterKeyPersisted would call FileInfo#readHeader again, which is not necessary.

          I think it would be easy to avoid readHeader twice.

          • Sijie

          On 2012-01-27 14:54:04, Ivan Kelly wrote:

          -----------------------------------------------------------

          This is an automatically generated e-mail. To reply, visit:

          https://reviews.apache.org/r/3661/

          -----------------------------------------------------------

          (Updated 2012-01-27 14:54:04)

          Review request for bookkeeper.

          Summary

          -------

          This is an optimization to speed up the case where we have many ledgers and are writing to them at random (a benchmark case we currently have). Currently, we create the ledger index file and write the first 1k of it to disk immediately. With a lot of ledgers being randomly written to, this means a lot of random writes on the ledger disk. This fix postpones the creation of the index file and writing of the first 1k until the first flush of the ledger.

          This patch includes BOOKKEEPER-136, as they both deal in the same area, and I found it difficult to separate them.

          BOOKKEEPER-135 is not required for this patch, and will need modifications after this goes in.

          This addresses bug BOOKKEEPER-137.

          https://issues.apache.org/jira/browse/BOOKKEEPER-137

          Diffs

          -----

          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Bookie.java cb3bb26

          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileInfo.java fa713c8

          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCache.java d2f959b

          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerDescriptor.java 728d729

          bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServer.java beab5e8

          bookkeeper-server/src/main/java/org/apache/bookkeeper/util/LocalBookKeeper.java 5706dd8

          bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieLayoutVersionTest.java c7b07e6

          bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java 8526db5

          bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BaseTestCase.java 7403604

          Diff: https://reviews.apache.org/r/3661/diff

          Testing

          -------

          Thanks,

          Ivan

          Show
          jiraposter@reviews.apache.org added a comment - ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/3661/#review4819 ----------------------------------------------------------- bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Bookie.java < https://reviews.apache.org/r/3661/#comment10582 > suppose the code running in journalLayoutVersion=1 directory. the first time is OK, since there would be no meta entries. but the code would add meta entries then. the next time bookie restarts, journalLayoutVersion is still 1, it would throw IOException. so do we need to upgrade the layout version when we run new code in old data directories? bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Bookie.java < https://reviews.apache.org/r/3661/#comment10583 > if a ledger existed before, getHandle would checkAccess of masterKey, which would call FileInfo#readHeader. Then isMasterKeyPersisted would call FileInfo#readHeader again, which is not necessary. I think it would be easy to avoid readHeader twice. Sijie On 2012-01-27 14:54:04, Ivan Kelly wrote: ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/3661/ ----------------------------------------------------------- (Updated 2012-01-27 14:54:04) Review request for bookkeeper. Summary ------- This is an optimization to speed up the case where we have many ledgers and are writing to them at random (a benchmark case we currently have). Currently, we create the ledger index file and write the first 1k of it to disk immediately. With a lot of ledgers being randomly written to, this means a lot of random writes on the ledger disk. This fix postpones the creation of the index file and writing of the first 1k until the first flush of the ledger. This patch includes BOOKKEEPER-136 , as they both deal in the same area, and I found it difficult to separate them. BOOKKEEPER-135 is not required for this patch, and will need modifications after this goes in. This addresses bug BOOKKEEPER-137 . https://issues.apache.org/jira/browse/BOOKKEEPER-137 Diffs ----- bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Bookie.java cb3bb26 bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileInfo.java fa713c8 bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCache.java d2f959b bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerDescriptor.java 728d729 bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServer.java beab5e8 bookkeeper-server/src/main/java/org/apache/bookkeeper/util/LocalBookKeeper.java 5706dd8 bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieLayoutVersionTest.java c7b07e6 bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java 8526db5 bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BaseTestCase.java 7403604 Diff: https://reviews.apache.org/r/3661/diff Testing ------- Thanks, Ivan
          Hide
          jiraposter@reviews.apache.org added a comment -

          -----------------------------------------------------------
          This is an automatically generated e-mail. To reply, visit:
          https://reviews.apache.org/r/3661/
          -----------------------------------------------------------

          (Updated 2012-01-27 14:54:04.113114)

          Review request for bookkeeper.

          Changes
          -------

          There was one compile error fix I hadn't committed.

          Summary
          -------

          This is an optimization to speed up the case where we have many ledgers and are writing to them at random (a benchmark case we currently have). Currently, we create the ledger index file and write the first 1k of it to disk immediately. With a lot of ledgers being randomly written to, this means a lot of random writes on the ledger disk. This fix postpones the creation of the index file and writing of the first 1k until the first flush of the ledger.

          This patch includes BOOKKEEPER-136, as they both deal in the same area, and I found it difficult to separate them.

          BOOKKEEPER-135 is not required for this patch, and will need modifications after this goes in.

          This addresses bug BOOKKEEPER-137.
          https://issues.apache.org/jira/browse/BOOKKEEPER-137

          Diffs (updated)


          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Bookie.java cb3bb26
          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileInfo.java fa713c8
          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCache.java d2f959b
          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerDescriptor.java 728d729
          bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServer.java beab5e8
          bookkeeper-server/src/main/java/org/apache/bookkeeper/util/LocalBookKeeper.java 5706dd8
          bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieLayoutVersionTest.java c7b07e6
          bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java 8526db5
          bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BaseTestCase.java 7403604

          Diff: https://reviews.apache.org/r/3661/diff

          Testing
          -------

          Thanks,

          Ivan

          Show
          jiraposter@reviews.apache.org added a comment - ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/3661/ ----------------------------------------------------------- (Updated 2012-01-27 14:54:04.113114) Review request for bookkeeper. Changes ------- There was one compile error fix I hadn't committed. Summary ------- This is an optimization to speed up the case where we have many ledgers and are writing to them at random (a benchmark case we currently have). Currently, we create the ledger index file and write the first 1k of it to disk immediately. With a lot of ledgers being randomly written to, this means a lot of random writes on the ledger disk. This fix postpones the creation of the index file and writing of the first 1k until the first flush of the ledger. This patch includes BOOKKEEPER-136 , as they both deal in the same area, and I found it difficult to separate them. BOOKKEEPER-135 is not required for this patch, and will need modifications after this goes in. This addresses bug BOOKKEEPER-137 . https://issues.apache.org/jira/browse/BOOKKEEPER-137 Diffs (updated) bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Bookie.java cb3bb26 bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileInfo.java fa713c8 bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCache.java d2f959b bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerDescriptor.java 728d729 bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServer.java beab5e8 bookkeeper-server/src/main/java/org/apache/bookkeeper/util/LocalBookKeeper.java 5706dd8 bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieLayoutVersionTest.java c7b07e6 bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java 8526db5 bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BaseTestCase.java 7403604 Diff: https://reviews.apache.org/r/3661/diff Testing ------- Thanks, Ivan
          Hide
          jiraposter@reviews.apache.org added a comment -

          -----------------------------------------------------------
          This is an automatically generated e-mail. To reply, visit:
          https://reviews.apache.org/r/3661/
          -----------------------------------------------------------

          Review request for bookkeeper.

          Summary
          -------

          This is an optimization to speed up the case where we have many ledgers and are writing to them at random (a benchmark case we currently have). Currently, we create the ledger index file and write the first 1k of it to disk immediately. With a lot of ledgers being randomly written to, this means a lot of random writes on the ledger disk. This fix postpones the creation of the index file and writing of the first 1k until the first flush of the ledger.

          This patch includes BOOKKEEPER-136, as they both deal in the same area, and I found it difficult to separate them.

          BOOKKEEPER-135 is not required for this patch, and will need modifications after this goes in.

          This addresses bug BOOKKEEPER-137.
          https://issues.apache.org/jira/browse/BOOKKEEPER-137

          Diffs


          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Bookie.java cb3bb26
          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileInfo.java fa713c8
          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCache.java d2f959b
          bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerDescriptor.java 728d729
          bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServer.java beab5e8
          bookkeeper-server/src/main/java/org/apache/bookkeeper/util/LocalBookKeeper.java 5706dd8
          bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieLayoutVersionTest.java c7b07e6
          bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java 8526db5
          bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BaseTestCase.java 7403604

          Diff: https://reviews.apache.org/r/3661/diff

          Testing
          -------

          Thanks,

          Ivan

          Show
          jiraposter@reviews.apache.org added a comment - ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/3661/ ----------------------------------------------------------- Review request for bookkeeper. Summary ------- This is an optimization to speed up the case where we have many ledgers and are writing to them at random (a benchmark case we currently have). Currently, we create the ledger index file and write the first 1k of it to disk immediately. With a lot of ledgers being randomly written to, this means a lot of random writes on the ledger disk. This fix postpones the creation of the index file and writing of the first 1k until the first flush of the ledger. This patch includes BOOKKEEPER-136 , as they both deal in the same area, and I found it difficult to separate them. BOOKKEEPER-135 is not required for this patch, and will need modifications after this goes in. This addresses bug BOOKKEEPER-137 . https://issues.apache.org/jira/browse/BOOKKEEPER-137 Diffs bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Bookie.java cb3bb26 bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileInfo.java fa713c8 bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCache.java d2f959b bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerDescriptor.java 728d729 bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServer.java beab5e8 bookkeeper-server/src/main/java/org/apache/bookkeeper/util/LocalBookKeeper.java 5706dd8 bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieLayoutVersionTest.java c7b07e6 bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java 8526db5 bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BaseTestCase.java 7403604 Diff: https://reviews.apache.org/r/3661/diff Testing ------- Thanks, Ivan
          Hide
          Ivan Kelly added a comment -

          This patch includes BOOKKEEPER-136, as they both deal in the same area, and I found it difficult to separate them.

          BOOKKEEPER-135 is not required for this patch, and will need modifications after this goes in.

          Show
          Ivan Kelly added a comment - This patch includes BOOKKEEPER-136 , as they both deal in the same area, and I found it difficult to separate them. BOOKKEEPER-135 is not required for this patch, and will need modifications after this goes in.
          Hide
          Ivan Kelly added a comment -

          This patch is ready to go, but is blocked by BOOKKEEPER-135 & BOOKKEEPER-136

          Show
          Ivan Kelly added a comment - This patch is ready to go, but is blocked by BOOKKEEPER-135 & BOOKKEEPER-136

            People

            • Assignee:
              Ivan Kelly
              Reporter:
              Ivan Kelly
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development