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)