You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by bs...@apache.org on 2017/04/25 16:22:37 UTC
[1/2] geode git commit: GEODE-1228:
ClientAuthzObjectModDUnitTest.testAllOpsObjectModWithFailover
Repository: geode
Updated Branches:
refs/heads/develop b7b02e04b -> 53f5c9601
GEODE-1228: ClientAuthzObjectModDUnitTest.testAllOpsObjectModWithFailover
This test was getting periodic BindExceptions starting a cache server with
ports from AvailablePortHelper. I've modified it to use wildcard binds
in the servers and have the clients use the DUnit locator to find the
servers.
Project: http://git-wip-us.apache.org/repos/asf/geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/53f5c960
Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/53f5c960
Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/53f5c960
Branch: refs/heads/develop
Commit: 53f5c960149150d65f776a46f92cd4f97cc27803
Parents: 23658cb
Author: Bruce Schuchardt <bs...@pivotal.io>
Authored: Tue Apr 25 09:06:48 2017 -0700
Committer: Bruce Schuchardt <bs...@pivotal.io>
Committed: Tue Apr 25 09:09:11 2017 -0700
----------------------------------------------------------------------
.../org/apache/geode/cache30/ClientServerTestCase.java | 9 +++++++--
.../geode/security/ClientAuthorizationTestCase.java | 6 +++---
.../java/org/apache/geode/security/SecurityTestUtils.java | 8 ++++++++
.../geode/security/ClientAuthzObjectModDUnitTest.java | 10 +++++-----
4 files changed, 23 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/geode/blob/53f5c960/geode-core/src/test/java/org/apache/geode/cache30/ClientServerTestCase.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/cache30/ClientServerTestCase.java b/geode-core/src/test/java/org/apache/geode/cache30/ClientServerTestCase.java
index b972522..4f61880 100644
--- a/geode-core/src/test/java/org/apache/geode/cache30/ClientServerTestCase.java
+++ b/geode-core/src/test/java/org/apache/geode/cache30/ClientServerTestCase.java
@@ -188,12 +188,17 @@ public abstract class ClientServerTestCase extends JUnit4CacheTestCase {
connectionsPerServer, serverGroup, poolName, pf, -1, -1, false, -2, -1);
}
+ /**
+ * this method creates a client connection pool and configures it. If the ports array is not empty
+ * it is used to configure the client pool. Otherwise the pool is configured to use the dunit
+ * locator.
+ */
public static Pool configureConnectionPoolWithNameAndFactory(AttributesFactory factory,
String host, int[] ports, boolean establish, int redundancy, int connectionsPerServer,
String serverGroup, String poolName, PoolFactory pf, int pingInterval, int idleTimeout,
boolean threadLocalCnxs, int lifetimeTimeout, int statisticInterval) {
- if (AUTO_LOAD_BALANCE) {
+ if (AUTO_LOAD_BALANCE || ports.length == 0) {
pf.addLocator(host, DistributedTestUtils.getDUnitLocatorPort());
} else {
for (int z = 0; z < ports.length; z++) {
@@ -202,7 +207,7 @@ public abstract class ClientServerTestCase extends JUnit4CacheTestCase {
}
// TODO - probably should pass in minConnections rather than connecions per server
- if (connectionsPerServer != -1) {
+ if (connectionsPerServer != -1 && ports != null) {
pf.setMinConnections(connectionsPerServer * ports.length);
}
if (threadLocalCnxs) {
http://git-wip-us.apache.org/repos/asf/geode/blob/53f5c960/geode-core/src/test/java/org/apache/geode/security/ClientAuthorizationTestCase.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/security/ClientAuthorizationTestCase.java b/geode-core/src/test/java/org/apache/geode/security/ClientAuthorizationTestCase.java
index 6e4c3be..b76c4fd 100644
--- a/geode-core/src/test/java/org/apache/geode/security/ClientAuthorizationTestCase.java
+++ b/geode-core/src/test/java/org/apache/geode/security/ClientAuthorizationTestCase.java
@@ -767,12 +767,12 @@ public abstract class ClientAuthorizationTestCase extends JUnit4DistributedTestC
boolean setupDynamicRegionFactory = (opFlags & OpFlags.ENABLE_DRF) > 0;
if (useThisVM) {
- SecurityTestUtils.createCacheClientWithDynamicRegion(authInit, clientProps, javaProps,
- new int[] {port1, port2}, 0, setupDynamicRegionFactory, NO_EXCEPTION);
+ SecurityTestUtils.createCacheClientWithDynamicRegion(authInit, clientProps, javaProps, 0,
+ setupDynamicRegionFactory, NO_EXCEPTION);
} else {
clientVM.invoke("SecurityTestUtils.createCacheClientWithDynamicRegion",
() -> SecurityTestUtils.createCacheClientWithDynamicRegion(authInit, clientProps,
- javaProps, new int[] {port1, port2}, 0, setupDynamicRegionFactory, NO_EXCEPTION));
+ javaProps, 0, setupDynamicRegionFactory, NO_EXCEPTION));
}
}
http://git-wip-us.apache.org/repos/asf/geode/blob/53f5c960/geode-core/src/test/java/org/apache/geode/security/SecurityTestUtils.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/security/SecurityTestUtils.java b/geode-core/src/test/java/org/apache/geode/security/SecurityTestUtils.java
index d420163..f6febb3 100644
--- a/geode-core/src/test/java/org/apache/geode/security/SecurityTestUtils.java
+++ b/geode-core/src/test/java/org/apache/geode/security/SecurityTestUtils.java
@@ -320,6 +320,14 @@ public final class SecurityTestUtils {
setupDynamicRegionFactory, false, expectedResult);
}
+ /** create a client cache using the dunit locator to find servers */
+ protected static void createCacheClientWithDynamicRegion(final String authInitModule,
+ final Properties authProps, final Properties javaProps, final int numConnections,
+ final boolean setupDynamicRegionFactory, final int expectedResult) {
+ createCacheClient(authInitModule, authProps, javaProps, new int[0], numConnections,
+ setupDynamicRegionFactory, false, expectedResult);
+ }
+
// 4
protected static void createCacheClient(final String authInitModule, final Properties authProps,
final Properties javaProps, final int[] ports, final int numConnections,
http://git-wip-us.apache.org/repos/asf/geode/blob/53f5c960/geode-cq/src/test/java/org/apache/geode/security/ClientAuthzObjectModDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-cq/src/test/java/org/apache/geode/security/ClientAuthzObjectModDUnitTest.java b/geode-cq/src/test/java/org/apache/geode/security/ClientAuthzObjectModDUnitTest.java
old mode 100644
new mode 100755
index 3be6dde..dd50467
--- a/geode-cq/src/test/java/org/apache/geode/security/ClientAuthzObjectModDUnitTest.java
+++ b/geode-cq/src/test/java/org/apache/geode/security/ClientAuthzObjectModDUnitTest.java
@@ -98,7 +98,7 @@ public class ClientAuthzObjectModDUnitTest extends ClientAuthorizationTestCase {
// Get ports for the servers
int[] portsList = AvailablePortHelper.getRandomAvailableTCPPorts(2);
- int port1 = portsList[0];
+ int port1 = 0; // portsList[0];
int port2 = portsList[1];
// Perform all the ops on the clients
@@ -113,14 +113,14 @@ public class ClientAuthzObjectModDUnitTest extends ClientAuthorizationTestCase {
// End of current operation block; execute all the operations on the servers with failover
if (opBlock.size() > 0) {
// Start the first server and execute the operation block
- server1.invoke("createCacheServer",
- () -> createCacheServer(getLocatorPort(), port1, serverProps, javaProps));
+ port1 = server1.invoke("createCacheServer",
+ () -> createCacheServer(getLocatorPort(), 0, serverProps, javaProps));
server2.invoke("closeCache", () -> closeCache());
executeOpBlock(opBlock, port1, port2, authInit, extraProps, null, tgen, rnd);
if (!currentOp.equals(OperationWithAction.OPBLOCK_NO_FAILOVER)) {
// Failover to the second server and run the block again
- server2.invoke("createCacheServer",
- () -> createCacheServer(getLocatorPort(), port2, serverProps, javaProps));
+ port2 = server2.invoke("createCacheServer",
+ () -> createCacheServer(getLocatorPort(), 0, serverProps, javaProps));
server1.invoke("closeCache", () -> closeCache());
executeOpBlock(opBlock, port1, port2, authInit, extraProps, null, tgen, rnd);
}
[2/2] geode git commit: GEODE-2752:
FixedPRSinglehopDUnitTest.test_FPAmetadataFetch fails on Jenkins
Posted by bs...@apache.org.
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/23658cbc
Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/23658cbc
Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/23658cbc
Branch: refs/heads/develop
Commit: 23658cbc9e549ebfe96ab61c1dbc46ae2b117f4b
Parents: b7b02e0
Author: Bruce Schuchardt <bs...@pivotal.io>
Authored: Tue Apr 25 09:04:07 2017 -0700
Committer: Bruce Schuchardt <bs...@pivotal.io>
Committed: Tue Apr 25 09:09:11 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/23658cbc/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<FixedPartitionAttributes> 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/23658cbc/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());
}
}