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 BFEB8200C88 for ; Thu, 27 Apr 2017 19:24:36 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id BE909160B9E; Thu, 27 Apr 2017 17:24:36 +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 E21E1160BCA for ; Thu, 27 Apr 2017 19:24:34 +0200 (CEST) Received: (qmail 95198 invoked by uid 500); 27 Apr 2017 17:24:33 -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 94120 invoked by uid 99); 27 Apr 2017 17:24:31 -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, 27 Apr 2017 17:24:31 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 9179ADFDAC; Thu, 27 Apr 2017 17:24:31 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: zhouxj@apache.org To: commits@geode.apache.org Date: Thu, 27 Apr 2017 17:24:51 -0000 Message-Id: <52b97a7102f64ee79afb1ec3a62a92c3@git.apache.org> In-Reply-To: <31665bfb68eb45fc8fe7c9ccc722fe3d@git.apache.org> References: <31665bfb68eb45fc8fe7c9ccc722fe3d@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [21/26] geode git commit: GEODE-2752: FixedPRSinglehopDUnitTest.test_FPAmetadataFetch fails on Jenkins archived-at: Thu, 27 Apr 2017 17:24:36 -0000 GEODE-2752: FixedPRSinglehopDUnitTest.test_FPAmetadataFetch fails on Jenkins Modified the test to verify metadata after performing all put() operations. I did this with Hitesh & did not put it on RB but it did go through precheckin testing and only affects tests. Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/f2f24112 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/f2f24112 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/f2f24112 Branch: refs/heads/feature/GEM-1299 Commit: f2f2411291ea621b862e42c348ee9692d4bd1a2b Parents: ed617de Author: Bruce Schuchardt Authored: Tue Apr 25 09:04:07 2017 -0700 Committer: zhouxh Committed: Wed Apr 26 23:28:49 2017 -0700 ---------------------------------------------------------------------- .../cache/FixedPRSinglehopDUnitTest.java | 99 ++++++++++++++------ .../PartitionedRegionSingleHopDUnitTest.java | 22 +---- 2 files changed, 71 insertions(+), 50 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/geode/blob/f2f24112/geode-core/src/test/java/org/apache/geode/internal/cache/FixedPRSinglehopDUnitTest.java ---------------------------------------------------------------------- diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/FixedPRSinglehopDUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/FixedPRSinglehopDUnitTest.java index 87b1e6e..7e798c8 100644 --- a/geode-core/src/test/java/org/apache/geode/internal/cache/FixedPRSinglehopDUnitTest.java +++ b/geode-core/src/test/java/org/apache/geode/internal/cache/FixedPRSinglehopDUnitTest.java @@ -19,6 +19,7 @@ import static org.junit.Assert.*; import java.io.File; import java.io.IOException; +import java.net.InetAddress; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -26,6 +27,8 @@ import java.util.Map; import java.util.Properties; import java.util.concurrent.TimeUnit; +import org.apache.geode.distributed.DistributedMember; +import org.apache.geode.distributed.internal.ServerLocation; import org.awaitility.Awaitility; import org.junit.Test; import org.junit.experimental.categories.Category; @@ -250,7 +253,7 @@ public class FixedPRSinglehopDUnitTest extends JUnit4CacheTestCase { totalBucketOnServer += server4.invoke(getBucketCount); verifyMetadata(totalBucketOnServer, 2); - updateIntoSinglePR(); + updateIntoSinglePR(true /* assert no refresh */); } /** @@ -258,10 +261,11 @@ public class FixedPRSinglehopDUnitTest extends JUnit4CacheTestCase { * partition comes late, we should fetch that when there is a network hop because of that * partitioned region. This test will create 3 servers with partition. Do some operations on them. * Validate that the metadata are fetched and then later up one more partition and do some - * operations on them. It should fetch new fpa. + * operations on them. It should fetch new fpa. Verify that the correct servers are known to the + * client metadata service at the end. */ @Test - public void test_FPAmetadataFetch() { + public void testMetadataInClientWithFixedPartitions() throws Exception { final Host host = Host.getHost(0); VM server1 = host.getVM(0); @@ -331,23 +335,31 @@ public class FixedPRSinglehopDUnitTest extends JUnit4CacheTestCase { && (server4.invoke(FixedPRSinglehopDUnitTest::primaryBucketsOnServer) == 6)); getFromPartitionedRegions(); + server1.invoke(FixedPRSinglehopDUnitTest::printView); server2.invoke(FixedPRSinglehopDUnitTest::printView); server4.invoke(FixedPRSinglehopDUnitTest::printView); - totalBucketOnServer = 0; - totalBucketOnServer += - (Integer) server1.invoke(FixedPRSinglehopDUnitTest::primaryBucketsOnServer); - totalBucketOnServer += - (Integer) server2.invoke(FixedPRSinglehopDUnitTest::primaryBucketsOnServer); - totalBucketOnServer += - (Integer) server4.invoke(FixedPRSinglehopDUnitTest::primaryBucketsOnServer); - updateIntoSinglePR(); + updateIntoSinglePR(false); + + ClientMetadataService cms = ((GemFireCacheImpl) cache).getClientMetadataService(); + ClientPartitionAdvisor advisor = cms.getClientPartitionAdvisor("/" + PR_NAME); + int[] expected = new int[] {port1, port1, port1, port4, port4, port4, port2, port2, port2, + port4, port4, port4}; + for (int i = 0; i < expected.length; i++) { + ServerLocation primary = advisor.advisePrimaryServerLocation(i); + assertNotNull("bucket " + i + " had no primary server", primary); + assertEquals("bucket " + i + " was incorrect", expected[i], primary.getPort()); + } } finally { server3.invoke(FixedPRSinglehopDUnitTest::stopLocator); } } + public int getServerPort() { + return GemFireCacheImpl.getInstance().getCacheServers().get(0).getPort(); + } + public static int createServer(boolean isAccessor, List fpaList) { FixedPRSinglehopDUnitTest test = new FixedPRSinglehopDUnitTest(); @@ -717,44 +729,69 @@ public class FixedPRSinglehopDUnitTest extends JUnit4CacheTestCase { } } - public static void updateIntoSinglePR() { + public static void updateIntoSinglePR(boolean assertNoMetadataRefreshes) { ClientMetadataService cms = ((GemFireCacheImpl) cache).getClientMetadataService(); cms.satisfyRefreshMetadata_TEST_ONLY(false); + region.put(q1dateJan1, "update0"); - assertEquals(false, cms.isRefreshMetadataTestOnly()); + if (assertNoMetadataRefreshes) { + assertFalse(cms.isRefreshMetadataTestOnly()); + } region.put(q1dateFeb1, "update00"); - assertEquals(false, cms.isRefreshMetadataTestOnly()); + if (assertNoMetadataRefreshes) { + assertFalse(cms.isRefreshMetadataTestOnly()); + } region.put(q1dateMar1, "update000"); - assertEquals(false, cms.isRefreshMetadataTestOnly()); + if (assertNoMetadataRefreshes) { + assertFalse(cms.isRefreshMetadataTestOnly()); + } region.put(q2dateApr1, "update1"); - assertEquals(false, cms.isRefreshMetadataTestOnly()); + if (assertNoMetadataRefreshes) { + assertFalse(cms.isRefreshMetadataTestOnly()); + } region.put(q2dateMay1, "update11"); - assertEquals(false, cms.isRefreshMetadataTestOnly()); + if (assertNoMetadataRefreshes) { + assertFalse(cms.isRefreshMetadataTestOnly()); + } region.put(q2dateJun1, "update111"); - assertEquals(false, cms.isRefreshMetadataTestOnly()); + if (assertNoMetadataRefreshes) { + assertFalse(cms.isRefreshMetadataTestOnly()); + } region.put(q3dateJuly1, "update2"); - assertEquals(false, cms.isRefreshMetadataTestOnly()); + if (assertNoMetadataRefreshes) { + assertFalse(cms.isRefreshMetadataTestOnly()); + } region.put(q3dateAug1, "update22"); - assertEquals(false, cms.isRefreshMetadataTestOnly()); + if (assertNoMetadataRefreshes) { + assertFalse(cms.isRefreshMetadataTestOnly()); + } region.put(q3dateSep1, "update2222"); - assertEquals(false, cms.isRefreshMetadataTestOnly()); + if (assertNoMetadataRefreshes) { + assertFalse(cms.isRefreshMetadataTestOnly()); + } region.put(q4dateOct1, "update3"); - assertEquals(false, cms.isRefreshMetadataTestOnly()); + if (assertNoMetadataRefreshes) { + assertFalse(cms.isRefreshMetadataTestOnly()); + } region.put(q4dateNov1, "update33"); - assertEquals(false, cms.isRefreshMetadataTestOnly()); + if (assertNoMetadataRefreshes) { + assertFalse(cms.isRefreshMetadataTestOnly()); + } region.put(q4dateDec1, "update3333"); - assertEquals(false, cms.isRefreshMetadataTestOnly()); + if (assertNoMetadataRefreshes) { + assertFalse(cms.isRefreshMetadataTestOnly()); + } } @@ -817,9 +854,9 @@ public class FixedPRSinglehopDUnitTest extends JUnit4CacheTestCase { public static void printView() { PartitionedRegion pr = (PartitionedRegion) region; if (pr.cache != null) { - ((GemFireCacheImpl) cache).getLogger().info("Primary Bucket view of server0 " + ((GemFireCacheImpl) cache).getLogger().info("Primary Bucket view of server " + pr.getDataStore().getLocalPrimaryBucketsListTestOnly()); - ((GemFireCacheImpl) cache).getLogger().info("Secondary Bucket view of server0 " + ((GemFireCacheImpl) cache).getLogger().info("Secondary Bucket view of server " + pr.getDataStore().getLocalNonPrimaryBucketsListTestOnly()); } } @@ -860,10 +897,10 @@ public class FixedPRSinglehopDUnitTest extends JUnit4CacheTestCase { } } - public static void clearMetadata() { - ClientMetadataService cms = ((GemFireCacheImpl) cache).getClientMetadataService(); - cms.getClientPartitionAttributesMap().clear(); - cms.getClientPRMetadata_TEST_ONLY().clear(); - } + // public static void clearMetadata() { + // ClientMetadataService cms = ((GemFireCacheImpl) cache).getClientMetadataService(); + // cms.getClientPartitionAttributesMap().clear(); + // cms.getClientPRMetadata_TEST_ONLY().clear(); + // } } http://git-wip-us.apache.org/repos/asf/geode/blob/f2f24112/geode-core/src/test/java/org/apache/geode/internal/cache/PartitionedRegionSingleHopDUnitTest.java ---------------------------------------------------------------------- diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/PartitionedRegionSingleHopDUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/PartitionedRegionSingleHopDUnitTest.java index ff82d4b..f53885f 100755 --- a/geode-core/src/test/java/org/apache/geode/internal/cache/PartitionedRegionSingleHopDUnitTest.java +++ b/geode-core/src/test/java/org/apache/geode/internal/cache/PartitionedRegionSingleHopDUnitTest.java @@ -1868,15 +1868,6 @@ public class PartitionedRegionSingleHopDUnitTest extends JUnit4CacheTestCase { region.put(new Integer(3), "create3"); } - public static void getDataFromSinglePR() { - for (int i = 0; i < 10; i++) { - region.get(new Integer(0)); - region.get(new Integer(1)); - region.get(new Integer(2)); - region.get(new Integer(3)); - } - } - public static void updateIntoSinglePR() { ClientMetadataService cms = ((GemFireCacheImpl) cache).getClientMetadataService(); @@ -1918,26 +1909,19 @@ public class PartitionedRegionSingleHopDUnitTest extends JUnit4CacheTestCase { assertTrue(cms.getClientPartitionAttributesMap().isEmpty()); } - public static void verifyNonEmptyMetadata() { - ClientMetadataService cms = ((GemFireCacheImpl) cache).getClientMetadataService(); - assertTrue(!cms.getClientPRMetadata_TEST_ONLY().isEmpty()); - assertTrue(!cms.getClientPartitionAttributesMap().isEmpty()); - } - public static void printMetadata() { if (cache != null) { ClientMetadataService cms = ((GemFireCacheImpl) cache).getClientMetadataService(); - ((GemFireCacheImpl) cache).getLogger() - .info("Metadata is " + cms.getClientPRMetadata_TEST_ONLY()); + cache.getLogger().info("Metadata is " + cms.getClientPRMetadata_TEST_ONLY()); } } public static void printView() { PartitionedRegion pr = (PartitionedRegion) region; if (pr.cache != null) { - ((GemFireCacheImpl) cache).getLogger().info("Primary Bucket view of server0 " + cache.getLogger().info("Primary Bucket view of server " + pr.getDataStore().getLocalPrimaryBucketsListTestOnly()); - ((GemFireCacheImpl) cache).getLogger().info("Secondary Bucket view of server0 " + cache.getLogger().info("Secondary Bucket view of server " + pr.getDataStore().getLocalNonPrimaryBucketsListTestOnly()); } }