From e339aa8f1453627d12a2e31206593a96c235d675 Mon Sep 17 00:00:00 2001 From: Sijie Guo Date: Wed, 22 Mar 2017 23:47:59 -0400 Subject: [PATCH] Fix Findbugs Errors --- .../bookkeeper/bookie/CheckpointSourceList.java | 17 ++++++++++++++++- .../org/apache/bookkeeper/bookie/FileInfo.java | 7 ++++--- .../apache/bookkeeper/client/LedgerHandle.java | 2 +- .../bookkeeper/client/ReadOnlyLedgerHandle.java | 10 ++++++---- .../bookkeeper/conf/ServerConfiguration.java | 3 --- .../apache/bookkeeper/proto/BookieServer.java | 3 ++- .../proto/PerChannelBookieClient.java | 1 - .../bookkeeper/util/OrderedSafeExecutor.java | 1 - 8 files changed, 29 insertions(+), 15 deletions(-) diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/CheckpointSourceList.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/CheckpointSourceList.java index 3715ed28b5e..ca42297477b 100644 --- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/CheckpointSourceList.java +++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/CheckpointSourceList.java @@ -22,6 +22,7 @@ import java.io.IOException; import java.util.List; +import com.google.common.base.Objects; import com.google.common.collect.Lists; public class CheckpointSourceList implements CheckpointSource { @@ -68,6 +69,20 @@ private void checkpointComplete(boolean compact) throws IOException { } } + @Override + public int hashCode() { + return Objects.hashCode(source, checkpoints); + } + + @Override + public boolean equals(Object o) { + if (!(o instanceof CheckpointList)) { + return false; + } + Checkpoint other = (Checkpoint) o; + return 0 == compareTo(other); + } + @Override public int compareTo(Checkpoint o) { if (o == Checkpoint.MAX) { @@ -94,4 +109,4 @@ public int compareTo(Checkpoint o) { } -} \ No newline at end of file +} 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 307b46b5093..adf148ce77a 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 @@ -115,9 +115,9 @@ public long getSizeSinceLastwrite() { } public ByteBuffer getExplicitLac() { - LOG.debug("fileInfo:GetLac: {}", explicitLac); ByteBuffer retLac = null; synchronized(this) { + LOG.debug("fileInfo:GetLac: {}", explicitLac); if (explicitLac != null) { retLac = ByteBuffer.allocate(explicitLac.capacity()); explicitLac.rewind();//copy from the beginning @@ -137,12 +137,13 @@ public void setExplicitLac(ByteBuffer lac) { explicitLac.put(lac); explicitLac.rewind(); - long ledgerId = explicitLac.getLong(); + // skip the ledger id + explicitLac.getLong(); long explicitLacValue = explicitLac.getLong(); setLastAddConfirmed(explicitLacValue); explicitLac.rewind(); + LOG.debug("fileInfo:SetLac: {}", explicitLac); } - LOG.debug("fileInfo:SetLac: {}", explicitLac); } synchronized public void readHeader() throws IOException { diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerHandle.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerHandle.java index 290caa9248c..b68bb1100a6 100644 --- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerHandle.java +++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerHandle.java @@ -245,7 +245,7 @@ DigestManager getDigestManager() { * @param delta * @return the length of the ledger after the addition */ - long addToLength(long delta) { + synchronized long addToLength(long delta) { this.length += delta; return this.length; } diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/ReadOnlyLedgerHandle.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/ReadOnlyLedgerHandle.java index 1834eff6c54..ae17c7fc701 100644 --- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/ReadOnlyLedgerHandle.java +++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/ReadOnlyLedgerHandle.java @@ -54,11 +54,13 @@ public void safeRun() { ReadOnlyLedgerHandle.this.metadata.getVersion().compare(this.m.getVersion()); if (Version.Occurred.BEFORE == occurred) { LOG.info("Updated ledger metadata for ledger {} to {}.", ledgerId, this.m); - if (this.m.isClosed()) { - ReadOnlyLedgerHandle.this.lastAddConfirmed = this.m.getLastEntryId(); - ReadOnlyLedgerHandle.this.length = this.m.getLength(); + synchronized (ReadOnlyLedgerHandle.this) { + if (this.m.isClosed()) { + ReadOnlyLedgerHandle.this.lastAddConfirmed = this.m.getLastEntryId(); + ReadOnlyLedgerHandle.this.length = this.m.getLength(); + } + ReadOnlyLedgerHandle.this.metadata = this.m; } - ReadOnlyLedgerHandle.this.metadata = this.m; } } diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/conf/ServerConfiguration.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/conf/ServerConfiguration.java index 986f9edf199..2f8bb9a46c7 100644 --- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/conf/ServerConfiguration.java +++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/conf/ServerConfiguration.java @@ -628,9 +628,6 @@ public ServerConfiguration setJournalDirsName(String[] journalDirs) { */ public File[] getJournalDirs() { String[] journalDirNames = getJournalDirNames(); - if (null == journalDirNames) { - return null; - } File[] journalDirs = new File[journalDirNames.length]; for(int i=0 ;i op) { void writeLac(final long ledgerId, final byte[] masterKey, final long lac, ChannelBuffer toSend, WriteLacCallback cb, Object ctx) { final long txnId = getTxnId(); - final int entrySize = toSend.readableBytes(); final CompletionKey completionKey = new CompletionKey(txnId, OperationType.WRITE_LAC); // writeLac is mostly like addEntry hence uses addEntryTimeout completionObjects.put(completionKey, diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/OrderedSafeExecutor.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/OrderedSafeExecutor.java index 64e524db0e8..7b4499f46bc 100644 --- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/OrderedSafeExecutor.java +++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/OrderedSafeExecutor.java @@ -183,7 +183,6 @@ private OrderedSafeExecutor(String baseName, int numThreads, ThreadFactory threa .setNameFormat(name + "-orderedsafeexecutor-" + i + "-%d") .setThreadFactory(threadFactory) .build()); - threads[i].setMaximumPoolSize(1); // Save thread ids final int idx = i;