Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id E524F200C5C for ; Thu, 20 Apr 2017 19:55:22 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id E3CEA160B9F; Thu, 20 Apr 2017 17:55:22 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 0FB3A160B90 for ; Thu, 20 Apr 2017 19:55:21 +0200 (CEST) Received: (qmail 62385 invoked by uid 500); 20 Apr 2017 17:55:21 -0000 Mailing-List: contact commits-help@bookkeeper.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: bookkeeper-dev@bookkeeper.apache.org Delivered-To: mailing list commits@bookkeeper.apache.org Received: (qmail 62376 invoked by uid 99); 20 Apr 2017 17:55:21 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 20 Apr 2017 17:55:21 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 2B3E8F4A24; Thu, 20 Apr 2017 17:55:21 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: sijie@apache.org To: commits@bookkeeper.apache.org Message-Id: <6a9c80641f894355883a16884fcb614e@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: bookkeeper git commit: BOOKKEEPER-1038: Fix findbugs warnings and upgrade to 3.0.4 Date: Thu, 20 Apr 2017 17:55:21 +0000 (UTC) archived-at: Thu, 20 Apr 2017 17:55:23 -0000 Repository: bookkeeper Updated Branches: refs/heads/master de59bd2ad -> 83d5d9e2a BOOKKEEPER-1038: Fix findbugs warnings and upgrade to 3.0.4 - upgrade to findbugs 3.0.4 - fix DLS_DEAD_LOCAL_STORE At BookieInfoReader.java (introduce a constant) - fix EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC At PerChannelBookieClient.java (introduce a V3CompletionKey) Author: eolivelli Reviewers: Sijie Guo Closes #131 from eolivelli/BOOKKEEPER-1038-findbugs Project: http://git-wip-us.apache.org/repos/asf/bookkeeper/repo Commit: http://git-wip-us.apache.org/repos/asf/bookkeeper/commit/83d5d9e2 Tree: http://git-wip-us.apache.org/repos/asf/bookkeeper/tree/83d5d9e2 Diff: http://git-wip-us.apache.org/repos/asf/bookkeeper/diff/83d5d9e2 Branch: refs/heads/master Commit: 83d5d9e2a51c8c135bfc97d3831beccebe11a69a Parents: de59bd2 Author: eolivelli Authored: Thu Apr 20 10:55:16 2017 -0700 Committer: Sijie Guo Committed: Thu Apr 20 10:55:16 2017 -0700 ---------------------------------------------------------------------- .../bookkeeper/client/BookieInfoReader.java | 8 ++-- .../proto/PerChannelBookieClient.java | 42 ++++++++++++-------- pom.xml | 2 +- 3 files changed, 31 insertions(+), 21 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/bookkeeper/blob/83d5d9e2/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookieInfoReader.java ---------------------------------------------------------------------- diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookieInfoReader.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookieInfoReader.java index 7ef1b76..7708140 100644 --- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookieInfoReader.java +++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookieInfoReader.java @@ -40,6 +40,10 @@ import org.slf4j.LoggerFactory; public class BookieInfoReader { private static final Logger LOG = LoggerFactory.getLogger(BookieInfoReader.class); + private static final long GET_BOOKIE_INFO_REQUEST_FLAGS + = BookkeeperProtocol.GetBookieInfoRequest.Flags.TOTAL_DISK_CAPACITY_VALUE | + BookkeeperProtocol.GetBookieInfoRequest.Flags.FREE_DISK_SPACE_VALUE; + private final ScheduledExecutorService scheduler; private final BookKeeper bk; private final ClientConfiguration conf; @@ -163,13 +167,11 @@ public class BookieInfoReader { } BookieClient bkc = bk.getBookieClient(); - final long requested = BookkeeperProtocol.GetBookieInfoRequest.Flags.TOTAL_DISK_CAPACITY_VALUE | - BookkeeperProtocol.GetBookieInfoRequest.Flags.FREE_DISK_SPACE_VALUE; totalSent.set(0); completedCnt.set(0); LOG.debug("Getting bookie info for: {}", joinedBookies); for (BookieSocketAddress b : joinedBookies) { - bkc.getBookieInfo(b, requested, + bkc.getBookieInfo(b, GET_BOOKIE_INFO_REQUEST_FLAGS, new GetBookieInfoCallback() { void processReadInfoComplete(int rc, BookieInfo bInfo, Object ctx) { BookieSocketAddress b = (BookieSocketAddress) ctx; http://git-wip-us.apache.org/repos/asf/bookkeeper/blob/83d5d9e2/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/PerChannelBookieClient.java ---------------------------------------------------------------------- diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/PerChannelBookieClient.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/PerChannelBookieClient.java index be169b6..7db620d 100644 --- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/PerChannelBookieClient.java +++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/PerChannelBookieClient.java @@ -404,7 +404,7 @@ public class PerChannelBookieClient extends SimpleChannelHandler implements Chan void writeLac(final long ledgerId, final byte[] masterKey, final long lac, ChannelBuffer toSend, WriteLacCallback cb, Object ctx) { final long txnId = getTxnId(); - final CompletionKey completionKey = new CompletionKey(txnId, OperationType.WRITE_LAC); + final CompletionKey completionKey = new V3CompletionKey(txnId, OperationType.WRITE_LAC); // writeLac is mostly like addEntry hence uses addEntryTimeout completionObjects.put(completionKey, new WriteLacCompletion(writeLacOpLogger, cb, ctx, lac, scheduleTimeout(completionKey, addEntryTimeout))); @@ -486,7 +486,7 @@ public class PerChannelBookieClient extends SimpleChannelHandler implements Chan } else { final long txnId = getTxnId(); - completion = new CompletionKey(txnId, OperationType.ADD_ENTRY); + completion = new V3CompletionKey(txnId, OperationType.ADD_ENTRY); // Build the request and calculate the total size to be included in the packet. BKPacketHeader.Builder headerBuilder = BKPacketHeader.newBuilder() .setVersion(ProtocolVersion.VERSION_THREE) @@ -558,7 +558,7 @@ public class PerChannelBookieClient extends SimpleChannelHandler implements Chan BookieProtocol.FLAG_DO_FENCING, masterKey); } else { final long txnId = getTxnId(); - completion = new CompletionKey(txnId, OperationType.READ_ENTRY); + completion = new V3CompletionKey(txnId, OperationType.READ_ENTRY); // Build the request and calculate the total size to be included in the packet. BKPacketHeader.Builder headerBuilder = BKPacketHeader.newBuilder() @@ -627,7 +627,7 @@ public class PerChannelBookieClient extends SimpleChannelHandler implements Chan completion = new V2CompletionKey(ledgerId, (long) 0, OperationType.READ_LAC); } else { final long txnId = getTxnId(); - completion = new CompletionKey(txnId, OperationType.READ_LAC); + completion = new V3CompletionKey(txnId, OperationType.READ_LAC); // Build the request and calculate the total size to be included in the packet. BKPacketHeader.Builder headerBuilder = BKPacketHeader.newBuilder() @@ -685,7 +685,7 @@ public class PerChannelBookieClient extends SimpleChannelHandler implements Chan completion = new V2CompletionKey(ledgerId, entryId, OperationType.READ_ENTRY); } else { final long txnId = getTxnId(); - completion = new CompletionKey(txnId, OperationType.READ_ENTRY); + completion = new V3CompletionKey(txnId, OperationType.READ_ENTRY); // Build the request and calculate the total size to be included in the packet. BKPacketHeader.Builder headerBuilder = BKPacketHeader.newBuilder() @@ -741,7 +741,7 @@ public class PerChannelBookieClient extends SimpleChannelHandler implements Chan public void getBookieInfo(final long requested, GetBookieInfoCallback cb, Object ctx) { final long txnId = getTxnId(); - final CompletionKey completionKey = new CompletionKey(txnId, OperationType.GET_BOOKIE_INFO); + final CompletionKey completionKey = new V3CompletionKey(txnId, OperationType.GET_BOOKIE_INFO); completionObjects.put(completionKey, new GetBookieInfoCompletion(this, getBookieInfoOpLogger, cb, ctx, scheduleTimeout(completionKey, getBookieInfoTimeout))); @@ -1594,7 +1594,7 @@ public class PerChannelBookieClient extends SimpleChannelHandler implements Chan // visable for testing CompletionKey newCompletionKey(long txnId, OperationType operationType) { - return new CompletionKey(txnId, operationType); + return new V3CompletionKey(txnId, operationType); } Timeout scheduleTimeout(CompletionKey key, long timeout) { @@ -1605,23 +1605,18 @@ public class PerChannelBookieClient extends SimpleChannelHandler implements Chan } } - class CompletionKey implements TimerTask { - final long txnId; - final OperationType operationType; - final long requestAt; + class V3CompletionKey extends CompletionKey { - CompletionKey(long txnId, OperationType operationType) { - this.txnId = txnId; - this.operationType = operationType; - this.requestAt = MathUtils.nowInNano(); + public V3CompletionKey(long txnId, OperationType operationType) { + super(txnId, operationType); } @Override public boolean equals(Object obj) { - if (!(obj instanceof CompletionKey)) { + if (!(obj instanceof V3CompletionKey)) { return false; } - CompletionKey that = (CompletionKey) obj; + V3CompletionKey that = (V3CompletionKey) obj; return this.txnId == that.txnId && this.operationType == that.operationType; } @@ -1635,6 +1630,19 @@ public class PerChannelBookieClient extends SimpleChannelHandler implements Chan return String.format("TxnId(%d), OperationType(%s)", txnId, operationType); } + } + + abstract class CompletionKey implements TimerTask { + final long txnId; + final OperationType operationType; + final long requestAt; + + CompletionKey(long txnId, OperationType operationType) { + this.txnId = txnId; + this.operationType = operationType; + this.requestAt = MathUtils.nowInNano(); + } + private long elapsedTime() { return MathUtils.elapsedNanos(requestAt); } http://git-wip-us.apache.org/repos/asf/bookkeeper/blob/83d5d9e2/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index 10e0f67..d3387ce 100644 --- a/pom.xml +++ b/pom.xml @@ -52,7 +52,7 @@ org.codehaus.mojo findbugs-maven-plugin - 3.0.3 + 3.0.4 maven-compiler-plugin