You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Dick Cavender (Jira)" <ji...@apache.org> on 2019/09/26 18:05:09 UTC
[jira] [Closed] (GEODE-6518) if the region's data policy is empty,
create jdbc-mapping will failed with NPE
[ https://issues.apache.org/jira/browse/GEODE-6518?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dick Cavender closed GEODE-6518.
--------------------------------
> if the region's data policy is empty, create jdbc-mapping will failed with NPE
> ------------------------------------------------------------------------------
>
> Key: GEODE-6518
> URL: https://issues.apache.org/jira/browse/GEODE-6518
> Project: Geode
> Issue Type: Bug
> Components: extensions, jdbc
> Reporter: Xiaojian Zhou
> Priority: Major
> Fix For: 1.10.0
>
> Time Spent: 4h 20m
> Remaining Estimate: 0h
>
> {noformat}
> We never had a test case to create a region on one member with data, and on another member as accessor (i.e. data policy is empty). Then create a jdbc-mapping. This is a valid use case.
> Apply the following diff, it will modify the test case to test above scenario.
> diff --git a/geode-connectors/src/distributedTest/java/org/apache/geode/connectors/jdbc/internal/cli/CreateMappingCommandDUnitTest.java b/geode-connectors/src/distributedTest/java/org/apache/geode/connectors/jdbc/internal/cli/CreateMappingCommandDUnitTest.java
> index 06043f1657..ccb79b56c6 100644
> --- a/geode-connectors/src/distributedTest/java/org/apache/geode/connectors/jdbc/internal/cli/CreateMappingCommandDUnitTest.java
> +++ b/geode-connectors/src/distributedTest/java/org/apache/geode/connectors/jdbc/internal/cli/CreateMappingCommandDUnitTest.java
> @@ -119,7 +119,7 @@ public class CreateMappingCommandDUnitTest {
> server1 = startupRule.startServerVM(1, locator.getPort());
> server2 = startupRule.startServerVM(2, TEST_GROUP1, locator.getPort());
> server3 = startupRule.startServerVM(3, TEST_GROUP2, locator.getPort());
> - server4 = startupRule.startServerVM(4, TEST_GROUP1 + "," + TEST_GROUP2, locator.getPort());
> + server4 = startupRule.startServerVM(4, "Gester", locator.getPort());
> gfsh.connectAndVerify(locator);
> setupDatabase();
> @@ -196,10 +196,10 @@ public class CreateMappingCommandDUnitTest {
> .statusIsSuccess();
> }
> - private void setupGroupPartition(String regionName, String groupNames) {
> + private void setupGroupPartition(String regionName, String groupNames, boolean isAccessor) {
> gfsh.executeAndAssertThat(
> - "create region --name=" + regionName + " --type=PARTITION --groups=" + groupNames)
> - .statusIsSuccess();
> + "create region --name=" + regionName + (isAccessor ? " --type=PARTITION_PROXY"
> + : " --type=PARTITION") + " --groups=" + groupNames).statusIsSuccess();
> }
> private void setupAsyncEventQueue(String regionName) {
> @@ -346,7 +346,7 @@ public class CreateMappingCommandDUnitTest {
> @Test
> public void createMappingPartitionedUpdatesServiceAndClusterConfigForServerGroup() {
> String regionName = GROUP2_REGION;
> - setupGroupPartition(regionName, TEST_GROUP2);
> + setupGroupPartition(regionName, TEST_GROUP2, false);
> CommandStringBuilder csb = new CommandStringBuilder(CREATE_MAPPING);
> csb.addOption(REGION_NAME, regionName);
> csb.addOption(DATA_SOURCE_NAME, "connection");
> @@ -424,7 +424,8 @@ public class CreateMappingCommandDUnitTest {
> @Test
> public void createMappingPartitionedUpdatesServiceAndClusterConfigForMultiServerGroup() {
> String regionName = "/" + GROUP1_GROUP2_REGION;
> - setupGroupPartition(regionName, TEST_GROUP1 + "," + TEST_GROUP2);
> + setupGroupPartition(regionName, TEST_GROUP1, false);
> + setupGroupPartition(regionName, TEST_GROUP2, true);
> CommandStringBuilder csb = new CommandStringBuilder(CREATE_MAPPING);
> csb.addOption(REGION_NAME, regionName);
> csb.addOption(DATA_SOURCE_NAME, "connection");
> {noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)