[
https://issues.apache.org/jira/browse/BOOKKEEPER-137?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13202590#comment-13202590
]
[email protected] commented on BOOKKEEPER-137:
----------------------------------------------------------
-----------------------------------------------------------
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
> Do not create Ledger index files until absolutely necessary.
> ------------------------------------------------------------
>
> Key: BOOKKEEPER-137
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-137
> Project: Bookkeeper
> Issue Type: Bug
> Reporter: Ivan Kelly
> Assignee: Ivan Kelly
> Fix For: 4.1.0
>
> Attachments: BOOKKEEPER-137.diff, BOOKKEEPER-137.diff,
> BOOKKEEPER-137.diff, BOOKKEEPER-137.diff
>
>
> 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 message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira