You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bookkeeper.apache.org by GitBox <gi...@apache.org> on 2022/10/13 07:48:04 UTC

[GitHub] [bookkeeper] nicoloboschi commented on a diff in pull request #3522: Change masterKeyCache to dynamic size

nicoloboschi commented on code in PR #3522:
URL: https://github.com/apache/bookkeeper/pull/3522#discussion_r994278837


##########
bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/BookieImpl.java:
##########
@@ -935,9 +936,10 @@ private void addEntryInternal(LedgerDescriptor handle, ByteBuf entry,
 
         // journal `addEntry` should happen after the entry is added to ledger storage.
         // otherwise the journal entry can potentially be rolled before the ledger is created in ledger storage.
-        if (masterKeyCache.get(ledgerId) == null) {
+        if (masterKeyCache.getIfPresent(ledgerId) == null) {
             // Force the load into masterKey cache
-            byte[] oldValue = masterKeyCache.putIfAbsent(ledgerId, masterKey);
+            byte[] oldValue = masterKeyCache.getIfPresent(ledgerId);
+            masterKeyCache.put(ledgerId, masterKey);
             if (oldValue == null) {

Review Comment:
   >We should avoid duplicately writing masterKey to journal file, even it has no problem.
   I agree with @gaozhangmin .
   
   Also since this touches the write path I suggest you to make this new cache configurable and disabled by default.  
   
    
   
   
   



-- 
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: commits-unsubscribe@bookkeeper.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org