[ https://issues.apache.org/jira/browse/BOOKKEEPER-924?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15571129#comment-15571129 ]
ASF GitHub Bot commented on BOOKKEEPER-924: ------------------------------------------- Github user asfgit closed the pull request at: https://github.com/apache/bookkeeper/pull/60 > addEntry() is susceptible to spurious wakeups > --------------------------------------------- > > Key: BOOKKEEPER-924 > URL: https://issues.apache.org/jira/browse/BOOKKEEPER-924 > Project: Bookkeeper > Issue Type: Bug > Affects Versions: 4.3.2 > Reporter: Venkateswararao Jujjuri (JV) > Assignee: Matteo Merli > Priority: Critical > Fix For: 4.5.0 > > > LedgerHandle sync interface heavily depends on SyncCounter to convert async > interfaces > into sync interfaces. > Usaylly > SyncCounter.inc() > asyncCall() > SyncCOunter.block(0) > The block code is. > synchronized void block(int limit) throws InterruptedException { > while (i > limit) { > int prev = i; > wait(); > if (i == prev) { > break; > } > } > } > Since 'i' is going to be same as 'prev' on spurious wakeup, and wait() can > return on spurious wakeups. -- This message was sent by Atlassian JIRA (v6.3.4#6332)