[ https://issues.apache.org/jira/browse/BOOKKEEPER-531?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13547029#comment-13547029 ]
Ivan Kelly commented on BOOKKEEPER-531: --------------------------------------- The change looks good. Work is submitted to the OrderedSafeExecutor based on the topic rather than based on the CacheSegment. This could mean two threads accessing the CacheSegment at a time (in reality probably not as OrderedSafeExecutor uses the same hashing I think). It would be better to ensure explicitly that each CacheSegment is only used by one executor. "cfg.getMaximumCacheSize() / numCacheWorkers" exists in a number of places, even though you calculate it straight away on construction. > Cache thread should wait until old entries are collected > -------------------------------------------------------- > > Key: BOOKKEEPER-531 > URL: https://issues.apache.org/jira/browse/BOOKKEEPER-531 > Project: Bookkeeper > Issue Type: Bug > Components: hedwig-server > Reporter: Sijie Guo > Assignee: Sijie Guo > Fix For: 4.2.0 > > Attachments: BOOKKEEPER-531.patch, BOOKKEEPER-531.patch > > > Ivan commented this issue in BOOKKEEPER-461, but seems that the last patch I > attached doesn't address this comment. > https://issues.apache.org/jira/browse/BOOKKEEPER-461?focusedCommentId=13503945&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13503945 > so when publish speed is larger than deliver/consume speed, it might > overwhelm readAhead cache and putting lots of collectOldEntries operations in > request queue, finally it OOM. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira