From commits-return-27738-archive-asf-public=cust-asf.ponee.io@geode.apache.org Tue Jul 31 18:55:33 2018 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id 526FD180662 for ; Tue, 31 Jul 2018 18:55:33 +0200 (CEST) Received: (qmail 39053 invoked by uid 500); 31 Jul 2018 16:55:32 -0000 Mailing-List: contact commits-help@geode.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@geode.apache.org Delivered-To: mailing list commits@geode.apache.org Received: (qmail 39044 invoked by uid 99); 31 Jul 2018 16:55:32 -0000 Received: from ec2-52-202-80-70.compute-1.amazonaws.com (HELO gitbox.apache.org) (52.202.80.70) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 31 Jul 2018 16:55:32 +0000 Received: by gitbox.apache.org (ASF Mail Server at gitbox.apache.org, from userid 33) id D52358047C; Tue, 31 Jul 2018 16:55:31 +0000 (UTC) Date: Tue, 31 Jul 2018 16:55:31 +0000 To: "commits@geode.apache.org" Subject: [geode] branch develop updated: GEODE-5478: Modified updateNoCopiesStatistics to handle never had copies case MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Message-ID: <153305613089.9725.3345301636239701889@gitbox.apache.org> From: boglesby@apache.org X-Git-Host: gitbox.apache.org X-Git-Repo: geode X-Git-Refname: refs/heads/develop X-Git-Reftype: branch X-Git-Oldrev: b56a23e4c60575025cdfee7f8ac01c6fcce4149b X-Git-Newrev: e0288945084f319f3a3d00b1689785693e1e7c4b X-Git-Rev: e0288945084f319f3a3d00b1689785693e1e7c4b X-Git-NotificationType: ref_changed_plus_diff X-Git-Multimail-Version: 1.5.dev Auto-Submitted: auto-generated This is an automated email from the ASF dual-hosted git repository. boglesby pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/geode.git The following commit(s) were added to refs/heads/develop by this push: new e028894 GEODE-5478: Modified updateNoCopiesStatistics to handle never had copies case e028894 is described below commit e0288945084f319f3a3d00b1689785693e1e7c4b Author: Barry Oglesby AuthorDate: Tue Jul 31 09:55:26 2018 -0700 GEODE-5478: Modified updateNoCopiesStatistics to handle never had copies case --- .../org/apache/geode/internal/cache/BucketRedundancyTracker.java | 4 +++- .../apache/geode/internal/cache/BucketRedundancyTrackerTest.java | 7 +++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/BucketRedundancyTracker.java b/geode-core/src/main/java/org/apache/geode/internal/cache/BucketRedundancyTracker.java index f7340a0..a422741 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/BucketRedundancyTracker.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/BucketRedundancyTracker.java @@ -23,6 +23,7 @@ class BucketRedundancyTracker { private boolean noCopiesDecrementOkay = false; // if true decrement allowed; if false increment allowed private boolean lowRedundancyDecrementOkay = false; + private boolean hasEverHadCopies = false; private boolean redundancyEverSatisfied = false; private volatile int currentRedundancy = -1; private final int targetRedundancy; @@ -71,9 +72,10 @@ class BucketRedundancyTracker { } private void updateNoCopiesStatistics(int currentBucketHosts) { - if (currentBucketHosts == 0) { + if (currentBucketHosts == 0 && hasEverHadCopies) { incrementNoCopies(); } else if (currentBucketHosts > 0) { + hasEverHadCopies = true; decrementNoCopies(); } } diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/BucketRedundancyTrackerTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/BucketRedundancyTrackerTest.java index d48d9c1..0d69bb0 100644 --- a/geode-core/src/test/java/org/apache/geode/internal/cache/BucketRedundancyTrackerTest.java +++ b/geode-core/src/test/java/org/apache/geode/internal/cache/BucketRedundancyTrackerTest.java @@ -108,6 +108,13 @@ public class BucketRedundancyTrackerTest { } @Test + public void doesNotIncrementNoCopiesWhenNeverHadAnyCopies() { + bucketRedundancyTracker.updateStatistics(0); + verify(regionRedundancyTracker, never()).incrementNoCopiesBucketCount(); + assertEquals(-1, bucketRedundancyTracker.getCurrentRedundancy()); + } + + @Test public void incrementsBucketCountOnHavingNoCopiesForBucket() { bucketRedundancyTracker.updateStatistics(1); bucketRedundancyTracker.updateStatistics(0);