This is an automated email from the ASF dual-hosted git repository.
sijie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git
The following commit(s) were added to refs/heads/master by this push:
new 316b719 Wait for LAC update even if ledger fenced
316b719 is described below
commit 316b71923e841c9fdb61159067c4bcf6075d1f21
Author: Ivan Kelly <[email protected]>
AuthorDate: Fri Apr 19 02:32:02 2019 +0200
Wait for LAC update even if ledger fenced
Previous behaviour was to return straight away. However, LAC can
change when the ledger is fenced and there is no guarantee that a
fenced ledger will turn into a closed ledger (fencing client may
crash), which would cause the client tailing with longpoll LAC to go
into a tight loop.
Reviewers: Enrico Olivelli <[email protected]>, Jia Zhai
<[email protected]>, Matteo Merli <[email protected]>, Venkateswararao Jujjuri
(JV) <None>, Sijie Guo <[email protected]>
This closes #2052 from ivankelly/wait-on-fenced
---
.../src/main/java/org/apache/bookkeeper/bookie/FileInfo.java | 3 +--
.../org/apache/bookkeeper/bookie/storage/ldb/TransientLedgerInfo.java | 4 ++--
2 files changed, 3 insertions(+), 4 deletions(-)
diff --git
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileInfo.java
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileInfo.java
index 656674f..f9bcd28 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileInfo.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileInfo.java
@@ -139,8 +139,7 @@ class FileInfo extends
Watchable<LastAddConfirmedUpdateNotification> {
synchronized boolean waitForLastAddConfirmedUpdate(long previousLAC,
Watcher<LastAddConfirmedUpdateNotification> watcher) {
- if ((null != lac && lac > previousLAC)
- || isClosed || ((stateBits & STATE_FENCED_BIT) ==
STATE_FENCED_BIT)) {
+ if ((null != lac && lac > previousLAC) || isClosed) {
if (LOG.isTraceEnabled()) {
LOG.trace("Wait For LAC {} , {}", this.lac, previousLAC);
}
diff --git
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/storage/ldb/TransientLedgerInfo.java
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/storage/ldb/TransientLedgerInfo.java
index 27d63e8..91f3fbb 100644
---
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/storage/ldb/TransientLedgerInfo.java
+++
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/storage/ldb/TransientLedgerInfo.java
@@ -91,7 +91,7 @@ class TransientLedgerInfo extends
Watchable<LastAddConfirmedUpdateNotification>
synchronized boolean waitForLastAddConfirmedUpdate(long previousLAC,
Watcher<LastAddConfirmedUpdateNotification> watcher) throws
IOException {
lastAccessed = System.currentTimeMillis();
- if ((lac != NOT_ASSIGNED_LAC && lac > previousLAC) || isClosed ||
ledgerIndex.get(ledgerId).getFenced()) {
+ if ((lac != NOT_ASSIGNED_LAC && lac > previousLAC) || isClosed) {
return false;
}
@@ -153,4 +153,4 @@ class TransientLedgerInfo extends
Watchable<LastAddConfirmedUpdateNotification>
notifyWatchers(Long.MAX_VALUE);
}
-}
\ No newline at end of file
+}