[jira] [Commented] (GEODE-3539) Add more test coverage for p2p commands

2017-11-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16260325#comment-16260325
 ] 

ASF GitHub Bot commented on GEODE-3539:
---

jinmeiliao commented on a change in pull request #1070: GEODE-3539: Add test 
coverage to 'alter disk-store'.
URL: https://github.com/apache/geode/pull/1070#discussion_r152189334
 
 

 ##
 File path: 
geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/AlterDiskStoreDUnitTest.java
 ##
 @@ -0,0 +1,170 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license
+ * agreements. See the NOTICE file distributed with this work for additional 
information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache 
License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the 
License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software 
distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
KIND, either express
+ * or implied. See the License for the specific language governing permissions 
and limitations under
+ * the License.
+ */
+
+package org.apache.geode.management.internal.cli.commands;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.Serializable;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import org.apache.geode.cache.Cache;
+import org.apache.geode.cache.DataPolicy;
+import org.apache.geode.cache.EvictionAction;
+import org.apache.geode.cache.EvictionAttributes;
+import org.apache.geode.cache.Region;
+import org.apache.geode.cache.RegionFactory;
+import org.apache.geode.cache.Scope;
+import org.apache.geode.management.internal.cli.i18n.CliStrings;
+import org.apache.geode.management.internal.cli.util.CommandStringBuilder;
+import org.apache.geode.test.dunit.rules.LocatorServerStartupRule;
+import org.apache.geode.test.dunit.rules.MemberVM;
+import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.rules.GfshCommandRule;
+import org.apache.geode.test.junit.rules.GfshCommandRule.PortType;
+
+@Category(DistributedTest.class)
+public class AlterDiskStoreDUnitTest implements Serializable {
+  private static final String regionName = "region1";
+  private static final String diskStoreName = "disk-store1";
+  private static final String diskDirName = "diskStoreDir";
+  private static final String aKey = "key1";
+
+  private static MemberVM locator;
+  private static MemberVM server1;
+
+  @Rule
+  public LocatorServerStartupRule startupRule = new 
LocatorServerStartupRule().withTempWorkingDir();
 
 Review comment:
   withTempWorkingDir will cause VM to bounce after tests, do we really need it 
to be in tempWorkignDir. A regular rule will have a workingDir setup as well.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Add more test coverage for p2p commands
> ---
>
> Key: GEODE-3539
> URL: https://issues.apache.org/jira/browse/GEODE-3539
> Project: Geode
>  Issue Type: Improvement
>  Components: gfsh
>Reporter: Jinmei Liao
>
> Add more command tests that would eventually get rid of the legacy tests.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GEODE-3539) Add more test coverage for p2p commands

2017-11-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16260326#comment-16260326
 ] 

ASF GitHub Bot commented on GEODE-3539:
---

jinmeiliao commented on a change in pull request #1070: GEODE-3539: Add test 
coverage to 'alter disk-store'.
URL: https://github.com/apache/geode/pull/1070#discussion_r152188911
 
 

 ##
 File path: 
geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/AlterDiskStoreIntegrationTest.java
 ##
 @@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license
+ * agreements. See the NOTICE file distributed with this work for additional 
information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache 
License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the 
License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software 
distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
KIND, either express
+ * or implied. See the License for the specific language governing permissions 
and limitations under
+ * the License.
+ */
+
+package org.apache.geode.management.internal.cli.commands;
+
+import java.io.IOException;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import org.apache.geode.cache.RegionShortcut;
+import org.apache.geode.management.internal.cli.i18n.CliStrings;
+import org.apache.geode.management.internal.cli.util.CommandStringBuilder;
+import org.apache.geode.test.junit.categories.IntegrationTest;
+import org.apache.geode.test.junit.rules.GfshCommandRule;
+import org.apache.geode.test.junit.rules.GfshCommandRule.PortType;
+import org.apache.geode.test.junit.rules.ServerStarterRule;
+
+@Category(IntegrationTest.class)
+public class AlterDiskStoreIntegrationTest {
+  private static final String regionName = "region1";
+  private static final String memberName = "server";
+  private static final String diskStoreName = "disk-store1";
+
+  @Rule
+  public ServerStarterRule server =
 
 Review comment:
   this is an offline command, we don't really need a running locator/server to 
test it.
   
   Use GfshParserRule to test this validation.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Add more test coverage for p2p commands
> ---
>
> Key: GEODE-3539
> URL: https://issues.apache.org/jira/browse/GEODE-3539
> Project: Geode
>  Issue Type: Improvement
>  Components: gfsh
>Reporter: Jinmei Liao
>
> Add more command tests that would eventually get rid of the legacy tests.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GEODE-3788) alter async event queue attributes

2017-11-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3788?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16260267#comment-16260267
 ] 

ASF GitHub Bot commented on GEODE-3788:
---

jinmeiliao commented on issue #1082: GEODE-3788: GfshParserRule enhancement
URL: https://github.com/apache/geode/pull/1082#issuecomment-345920200
 
 
   precheckin green


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> alter async event queue attributes
> --
>
> Key: GEODE-3788
> URL: https://issues.apache.org/jira/browse/GEODE-3788
> Project: Geode
>  Issue Type: Sub-task
>  Components: gfsh
>Reporter: Swapnil Bawaskar
>
> We should add a new {{alter async-event-queue}} gfsh command that will allow 
> users to change the following attributes on the AsyncEventQueue:
> - batch size
> - batch time interval
> - maximum queue memory
> Attributes changed with this command should only be reflected in cluster 
> configuration. We will require users to do a rolling re-start of the servers 
> for the new settings to take effect.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GEODE-3788) alter async event queue attributes

2017-11-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3788?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16260266#comment-16260266
 ] 

ASF GitHub Bot commented on GEODE-3788:
---

jinmeiliao opened a new pull request #1083: GEODE-3788: add utility methods to 
get the async event queues in the …
URL: https://github.com/apache/geode/pull/1083
 
 
   …running cluster
   
   Thank you for submitting a contribution to Apache Geode.
   
   In order to streamline the review of the contribution we ask you
   to ensure the following steps have been taken:
   
   ### For all changes:
   - [ ] Is there a JIRA ticket associated with this PR? Is it referenced in 
the commit message?
   
   - [ ] Has your PR been rebased against the latest commit within the target 
branch (typically `develop`)?
   
   - [ ] Is your initial contribution a single, squashed commit?
   
   - [ ] Does `gradlew build` run cleanly?
   
   - [ ] Have you written or updated unit tests to verify your changes?
   
   - [ ] If adding new dependencies to the code, are these dependencies 
licensed in a way that is compatible for inclusion under [ASF 
2.0](http://www.apache.org/legal/resolved.html#category-a)?
   
   ### Note:
   Please ensure that once the PR is submitted, you check travis-ci for build 
issues and
   submit an update to your PR as soon as possible. If you need help, please 
send an
   email to d...@geode.apache.org.
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> alter async event queue attributes
> --
>
> Key: GEODE-3788
> URL: https://issues.apache.org/jira/browse/GEODE-3788
> Project: Geode
>  Issue Type: Sub-task
>  Components: gfsh
>Reporter: Swapnil Bawaskar
>
> We should add a new {{alter async-event-queue}} gfsh command that will allow 
> users to change the following attributes on the AsyncEventQueue:
> - batch size
> - batch time interval
> - maximum queue memory
> Attributes changed with this command should only be reflected in cluster 
> configuration. We will require users to do a rolling re-start of the servers 
> for the new settings to take effect.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GEODE-3788) alter async event queue attributes

2017-11-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3788?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16260262#comment-16260262
 ] 

ASF GitHub Bot commented on GEODE-3788:
---

jinmeiliao closed pull request #1081: GEODE-3788: add utility methods to get 
the async event queues in the …
URL: https://github.com/apache/geode/pull/1081
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git 
a/geode-core/src/main/java/org/apache/geode/management/ManagementService.java 
b/geode-core/src/main/java/org/apache/geode/management/ManagementService.java
index 887b04abed..9f3f5478ee 100755
--- 
a/geode-core/src/main/java/org/apache/geode/management/ManagementService.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/ManagementService.java
@@ -216,6 +216,11 @@ public abstract DistributedLockServiceMXBean 
getDistributedLockServiceMXBean(
*/
   public abstract Set queryMBeanNames(DistributedMember member);
 
+  /**
+   * Returns the ids of the async event queues on this member
+   */
+  public abstract Set getAsyncEventQueueIds(DistributedMember member);
+
   /**
* Returns an instance of an MBean. This is a reference to the MBean 
instance and not a
* {@link ObjectInstance}.
diff --git 
a/geode-core/src/main/java/org/apache/geode/management/internal/SystemManagementService.java
 
b/geode-core/src/main/java/org/apache/geode/management/internal/SystemManagementService.java
index 60615db12c..d067fc1a91 100755
--- 
a/geode-core/src/main/java/org/apache/geode/management/internal/SystemManagementService.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/internal/SystemManagementService.java
@@ -18,6 +18,7 @@
 import java.util.List;
 import java.util.Set;
 import java.util.concurrent.CopyOnWriteArrayList;
+import java.util.stream.Collectors;
 
 import javax.management.Notification;
 import javax.management.ObjectName;
@@ -357,6 +358,13 @@ public MemberMXBean getMemberMXBean() {
 }
   }
 
+  @Override
+  public Set getAsyncEventQueueIds(DistributedMember member) {
+Set mBeanNames = this.queryMBeanNames(member);
+return mBeanNames.stream().filter(x -> 
"AsyncEventQueue".equals(x.getKeyProperty("service")))
+.map(x -> x.getKeyProperty("queue")).collect(Collectors.toSet());
+  }
+
   @Override
   public ObjectName registerMBean(Object object, ObjectName objectName) {
 verifyManagementService();
diff --git 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/CliUtil.java
 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/CliUtil.java
index 02eb8b81a6..686bbc5f83 100755
--- 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/CliUtil.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/CliUtil.java
@@ -60,6 +60,7 @@
 import org.apache.geode.management.ManagementService;
 import org.apache.geode.management.cli.Result;
 import org.apache.geode.management.internal.MBeanJMXAdapter;
+import org.apache.geode.management.internal.SystemManagementService;
 import org.apache.geode.management.internal.cli.exceptions.UserErrorException;
 import org.apache.geode.management.internal.cli.i18n.CliStrings;
 import org.apache.geode.management.internal.cli.result.ResultBuilder;
@@ -406,6 +407,16 @@ public static Result getFunctionResult(ResultCollector rc, String commandN
 return result;
   }
 
+  public static Set 
getMembersWithAsyncEventQueue(InternalCache cache,
+  String queueId) {
+SystemManagementService managementService =
+(SystemManagementService) 
ManagementService.getExistingManagementService(cache);
+Set members = findMembers(null, null);
+return members.stream()
+.filter(m -> 
managementService.getAsyncEventQueueIds(m).contains(queueId))
+.collect(Collectors.toSet());
+  }
+
   static class CustomFileFilter implements FileFilter {
 private String extensionWithDot;
 
diff --git 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/GfshCommand.java
 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/GfshCommand.java
index 134a15300c..6a30378b3d 100644
--- 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/GfshCommand.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/GfshCommand.java
@@ -183,4 +183,8 @@ default ManagementService getManagementService() {
   default Set findAnyMembersForRegion(InternalCache cache, 
String regionPath) {
 return CliUtil.getRegionAssociatedMembers(regionPath, cache, false);
   }
+
+  default Set findMembersWithAsyncEventQueue(String 
queueId) {
+return CliUtil.getMembersWithAsyncEventQueue(getCache(), queueId);
+  }
 }

[jira] [Commented] (GEODE-3788) alter async event queue attributes

2017-11-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3788?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16260261#comment-16260261
 ] 

ASF GitHub Bot commented on GEODE-3788:
---

jinmeiliao opened a new pull request #1081: GEODE-3788: add utility methods to 
get the async event queues in the …
URL: https://github.com/apache/geode/pull/1081
 
 
   Utility methods added while doing the async-event-queue work. It's not 
needed by the "alter asyn-event-queue" command, but it would be useful for 
later.
   
   Thank you for submitting a contribution to Apache Geode.
   
   In order to streamline the review of the contribution we ask you
   to ensure the following steps have been taken:
   
   ### For all changes:
   - [ ] Is there a JIRA ticket associated with this PR? Is it referenced in 
the commit message?
   
   - [ ] Has your PR been rebased against the latest commit within the target 
branch (typically `develop`)?
   
   - [ ] Is your initial contribution a single, squashed commit?
   
   - [ ] Does `gradlew build` run cleanly?
   
   - [ ] Have you written or updated unit tests to verify your changes?
   
   - [ ] If adding new dependencies to the code, are these dependencies 
licensed in a way that is compatible for inclusion under [ASF 
2.0](http://www.apache.org/legal/resolved.html#category-a)?
   
   ### Note:
   Please ensure that once the PR is submitted, you check travis-ci for build 
issues and
   submit an update to your PR as soon as possible. If you need help, please 
send an
   email to d...@geode.apache.org.
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> alter async event queue attributes
> --
>
> Key: GEODE-3788
> URL: https://issues.apache.org/jira/browse/GEODE-3788
> Project: Geode
>  Issue Type: Sub-task
>  Components: gfsh
>Reporter: Swapnil Bawaskar
>
> We should add a new {{alter async-event-queue}} gfsh command that will allow 
> users to change the following attributes on the AsyncEventQueue:
> - batch size
> - batch time interval
> - maximum queue memory
> Attributes changed with this command should only be reflected in cluster 
> configuration. We will require users to do a rolling re-start of the servers 
> for the new settings to take effect.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GEODE-3788) alter async event queue attributes

2017-11-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3788?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16260260#comment-16260260
 ] 

ASF GitHub Bot commented on GEODE-3788:
---

jinmeiliao closed pull request #1081: GEODE-3788: add utility methods to get 
the async event queues in the …
URL: https://github.com/apache/geode/pull/1081
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git 
a/geode-core/src/main/java/org/apache/geode/management/ManagementService.java 
b/geode-core/src/main/java/org/apache/geode/management/ManagementService.java
index 887b04abed..9f3f5478ee 100755
--- 
a/geode-core/src/main/java/org/apache/geode/management/ManagementService.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/ManagementService.java
@@ -216,6 +216,11 @@ public abstract DistributedLockServiceMXBean 
getDistributedLockServiceMXBean(
*/
   public abstract Set queryMBeanNames(DistributedMember member);
 
+  /**
+   * Returns the ids of the async event queues on this member
+   */
+  public abstract Set getAsyncEventQueueIds(DistributedMember member);
+
   /**
* Returns an instance of an MBean. This is a reference to the MBean 
instance and not a
* {@link ObjectInstance}.
diff --git 
a/geode-core/src/main/java/org/apache/geode/management/internal/SystemManagementService.java
 
b/geode-core/src/main/java/org/apache/geode/management/internal/SystemManagementService.java
index 60615db12c..d067fc1a91 100755
--- 
a/geode-core/src/main/java/org/apache/geode/management/internal/SystemManagementService.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/internal/SystemManagementService.java
@@ -18,6 +18,7 @@
 import java.util.List;
 import java.util.Set;
 import java.util.concurrent.CopyOnWriteArrayList;
+import java.util.stream.Collectors;
 
 import javax.management.Notification;
 import javax.management.ObjectName;
@@ -357,6 +358,13 @@ public MemberMXBean getMemberMXBean() {
 }
   }
 
+  @Override
+  public Set getAsyncEventQueueIds(DistributedMember member) {
+Set mBeanNames = this.queryMBeanNames(member);
+return mBeanNames.stream().filter(x -> 
"AsyncEventQueue".equals(x.getKeyProperty("service")))
+.map(x -> x.getKeyProperty("queue")).collect(Collectors.toSet());
+  }
+
   @Override
   public ObjectName registerMBean(Object object, ObjectName objectName) {
 verifyManagementService();
diff --git 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/CliUtil.java
 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/CliUtil.java
index 02eb8b81a6..686bbc5f83 100755
--- 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/CliUtil.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/CliUtil.java
@@ -60,6 +60,7 @@
 import org.apache.geode.management.ManagementService;
 import org.apache.geode.management.cli.Result;
 import org.apache.geode.management.internal.MBeanJMXAdapter;
+import org.apache.geode.management.internal.SystemManagementService;
 import org.apache.geode.management.internal.cli.exceptions.UserErrorException;
 import org.apache.geode.management.internal.cli.i18n.CliStrings;
 import org.apache.geode.management.internal.cli.result.ResultBuilder;
@@ -406,6 +407,16 @@ public static Result getFunctionResult(ResultCollector rc, String commandN
 return result;
   }
 
+  public static Set 
getMembersWithAsyncEventQueue(InternalCache cache,
+  String queueId) {
+SystemManagementService managementService =
+(SystemManagementService) 
ManagementService.getExistingManagementService(cache);
+Set members = findMembers(null, null);
+return members.stream()
+.filter(m -> 
managementService.getAsyncEventQueueIds(m).contains(queueId))
+.collect(Collectors.toSet());
+  }
+
   static class CustomFileFilter implements FileFilter {
 private String extensionWithDot;
 
diff --git 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/GfshCommand.java
 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/GfshCommand.java
index 134a15300c..6a30378b3d 100644
--- 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/GfshCommand.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/GfshCommand.java
@@ -183,4 +183,8 @@ default ManagementService getManagementService() {
   default Set findAnyMembersForRegion(InternalCache cache, 
String regionPath) {
 return CliUtil.getRegionAssociatedMembers(regionPath, cache, false);
   }
+
+  default Set findMembersWithAsyncEventQueue(String 
queueId) {
+return CliUtil.getMembersWithAsyncEventQueue(getCache(), queueId);
+  }
 }

[jira] [Commented] (GEODE-3788) alter async event queue attributes

2017-11-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3788?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16260183#comment-16260183
 ] 

ASF GitHub Bot commented on GEODE-3788:
---

jinmeiliao opened a new pull request #1082: GEODE-3788: GfshParserRule 
enhancement
URL: https://github.com/apache/geode/pull/1082
 
 
   * Enhance the rule to invoke executor to better mimic a true gfsh execution.
   Thank you for submitting a contribution to Apache Geode.
   
   In order to streamline the review of the contribution we ask you
   to ensure the following steps have been taken:
   
   ### For all changes:
   - [ ] Is there a JIRA ticket associated with this PR? Is it referenced in 
the commit message?
   
   - [ ] Has your PR been rebased against the latest commit within the target 
branch (typically `develop`)?
   
   - [ ] Is your initial contribution a single, squashed commit?
   
   - [ ] Does `gradlew build` run cleanly?
   
   - [ ] Have you written or updated unit tests to verify your changes?
   
   - [ ] If adding new dependencies to the code, are these dependencies 
licensed in a way that is compatible for inclusion under [ASF 
2.0](http://www.apache.org/legal/resolved.html#category-a)?
   
   ### Note:
   Please ensure that once the PR is submitted, you check travis-ci for build 
issues and
   submit an update to your PR as soon as possible. If you need help, please 
send an
   email to d...@geode.apache.org.
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> alter async event queue attributes
> --
>
> Key: GEODE-3788
> URL: https://issues.apache.org/jira/browse/GEODE-3788
> Project: Geode
>  Issue Type: Sub-task
>  Components: gfsh
>Reporter: Swapnil Bawaskar
>
> We should add a new {{alter async-event-queue}} gfsh command that will allow 
> users to change the following attributes on the AsyncEventQueue:
> - batch size
> - batch time interval
> - maximum queue memory
> Attributes changed with this command should only be reflected in cluster 
> configuration. We will require users to do a rolling re-start of the servers 
> for the new settings to take effect.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GEODE-3962) Use Peer to Peer communication to request cluster configuration

2017-11-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3962?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16260172#comment-16260172
 ] 

ASF GitHub Bot commented on GEODE-3962:
---

jinmeiliao commented on issue #1059: GEODE-3962: use function call to get 
cluster configuration from a locator
URL: https://github.com/apache/geode/pull/1059#issuecomment-345895034
 
 
   precheckin green


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Use Peer to Peer communication to request cluster configuration
> ---
>
> Key: GEODE-3962
> URL: https://issues.apache.org/jira/browse/GEODE-3962
> Project: Geode
>  Issue Type: Bug
>  Components: management
>Reporter: Jinmei Liao
> Fix For: 1.4.0
>
>
> We should not use a TCPClient to request the CC from the locator when a 
> server is starting up.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (GEODE-4001) Default value for batch-time-interval of async event queue mismatch between docs and implementation

2017-11-20 Thread Jinmei Liao (JIRA)
Jinmei Liao created GEODE-4001:
--

 Summary: Default value for batch-time-interval of async event 
queue mismatch between docs and implementation
 Key: GEODE-4001
 URL: https://issues.apache.org/jira/browse/GEODE-4001
 Project: Geode
  Issue Type: Bug
  Components: client queues
Reporter: Jinmei Liao


The document says the the batch-time-interval of the "create async-event-queue" 
is 5ms, but testing shows the value of this attribute of the created async 
event queue is 1000.

Found these in the code, not sure which one should be good:

In GatewaySender.java:

  /**
   * The default batch time interval in milliseconds
   */
  public static final int DEFAULT_BATCH_TIME_INTERVAL = 1000;

In AsyncEventQueue.java:
  /**
   * Represents the maximum time interval that can elapse before a batch is 
sent from
   * AsyncEventQueue. Default batchTimeInterval is 5 ms.
   *
   * @return int
   */
  public int getBatchTimeInterval();



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GEODE-3967) if put hits concurrent modification exception should still notify serial gateway sender

2017-11-20 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3967?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16260154#comment-16260154
 ] 

ASF subversion and git services commented on GEODE-3967:


Commit fa343e1138f7468e1d63cc58621cd7cdd9b1bae1 in geode's branch 
refs/heads/feature/GEM-883 from zhouxh
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=fa343e1 ]

GEODE-3967: notifyTimestampsToGateways should inherit isConcurrencyConflict


> if put hits concurrent modification exception should still notify serial 
> gateway sender
> ---
>
> Key: GEODE-3967
> URL: https://issues.apache.org/jira/browse/GEODE-3967
> Project: Geode
>  Issue Type: Bug
>  Components: wan
>Reporter: xiaojian zhou
>Assignee: xiaojian zhou
>
> In serial gateway sender, the event arrives at secondary will be put into 
> unprocessedMap and wait for event from primary queue to distribute over, then 
> remove it from the unprocessedMap.
> If the put at primary member (member with primary queue) failed with CME, the 
> event in unprocessedMap will never be removed. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GEODE-3969) Protobuf protocol requests includes a CallbackArgs field

2017-11-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3969?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16260005#comment-16260005
 ] 

ASF GitHub Bot commented on GEODE-3969:
---

WireBaron commented on issue #1047: GEODE-3969: Remove CallbackArgs from 
protobuf requests
URL: https://github.com/apache/geode/pull/1047#issuecomment-345863114
 
 
   Good catch, thanks Galen.  I apparently didn't have that file checked in 
when I did my last commit.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Protobuf protocol requests includes a CallbackArgs field
> 
>
> Key: GEODE-3969
> URL: https://issues.apache.org/jira/browse/GEODE-3969
> Project: Geode
>  Issue Type: Bug
>  Components: client/server
>Reporter: Brian Rowe
>
> We eventually want to support allowing clients to pass arguments to cache 
> listeners in their requests, but this functionality is not going to be 
> present in v1.  Having this field is therefore misleading and it should be 
> removed.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Resolved] (GEODE-3995) Rename server_api.proto

2017-11-20 Thread Brian Rowe (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3995?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Brian Rowe resolved GEODE-3995.
---
   Resolution: Fixed
Fix Version/s: 1.4.0

> Rename server_api.proto
> ---
>
> Key: GEODE-3995
> URL: https://issues.apache.org/jira/browse/GEODE-3995
> Project: Geode
>  Issue Type: Task
>  Components: client/server
>Reporter: Brian Rowe
> Fix For: 1.4.0
>
>
> The server_api.proto file contains the message definitions for locator 
> messages, making the name rather misleading (these are actually the only 
> messages the cache server can't handle).



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GEODE-3995) Rename server_api.proto

2017-11-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3995?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16259986#comment-16259986
 ] 

ASF GitHub Bot commented on GEODE-3995:
---

galen-pivotal closed pull request #1074: GEODE-3995: Moving server_api.proto to 
locator_api.proto.
URL: https://github.com/apache/geode/pull/1074
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git 
a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetAvailableServersOperationHandler.java
 
b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetAvailableServersOperationHandler.java
index 41343a8c57..c97b73bae3 100644
--- 
a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetAvailableServersOperationHandler.java
+++ 
b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetAvailableServersOperationHandler.java
@@ -28,16 +28,16 @@
 import org.apache.geode.internal.protocol.operations.OperationHandler;
 import org.apache.geode.internal.protocol.protobuf.v1.BasicTypes;
 import org.apache.geode.internal.protocol.protobuf.v1.ClientProtocol;
-import org.apache.geode.internal.protocol.protobuf.v1.ServerAPI;
+import org.apache.geode.internal.protocol.protobuf.v1.LocatorAPI;
 import org.apache.geode.internal.protocol.serialization.SerializationService;
 
 @Experimental
 public class GetAvailableServersOperationHandler implements
-OperationHandler {
+OperationHandler {
 
   @Override
-  public Result process(
-  SerializationService serializationService, 
ServerAPI.GetAvailableServersRequest request,
+  public Result process(
+  SerializationService serializationService, 
LocatorAPI.GetAvailableServersRequest request,
   MessageExecutionContext messageExecutionContext) throws 
InvalidExecutionContextException {
 
 InternalLocator internalLocator = (InternalLocator) 
messageExecutionContext.getLocator();
@@ -50,8 +50,8 @@
 Collection servers = (Collection) 
serversFromSnapshot
 .stream().map(serverLocation -> 
getServerProtobufMessage((ServerLocation) serverLocation))
 .collect(Collectors.toList());
-ServerAPI.GetAvailableServersResponse.Builder builder =
-
ServerAPI.GetAvailableServersResponse.newBuilder().addAllServers(servers);
+LocatorAPI.GetAvailableServersResponse.Builder builder =
+
LocatorAPI.GetAvailableServersResponse.newBuilder().addAllServers(servers);
 return Success.of(builder.build());
   }
 
diff --git 
a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/utilities/ProtobufRequestUtilities.java
 
b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/utilities/ProtobufRequestUtilities.java
index d44fa0dd7a..e1f7e6aafb 100644
--- 
a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/utilities/ProtobufRequestUtilities.java
+++ 
b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/utilities/ProtobufRequestUtilities.java
@@ -19,8 +19,8 @@
 import org.apache.geode.annotations.Experimental;
 import org.apache.geode.internal.protocol.protobuf.v1.BasicTypes;
 import org.apache.geode.internal.protocol.protobuf.v1.ClientProtocol;
+import org.apache.geode.internal.protocol.protobuf.v1.LocatorAPI;
 import org.apache.geode.internal.protocol.protobuf.v1.RegionAPI;
-import org.apache.geode.internal.protocol.protobuf.v1.ServerAPI;
 
 /**
  * This class contains helper functions for generating ClientProtocol.Request 
objects
@@ -110,9 +110,9 @@
 return 
ClientProtocol.Request.newBuilder().setPutAllRequest(putAllRequestBuilder).build();
   }
 
-  public static ServerAPI.GetAvailableServersRequest 
createGetAvailableServersRequest() {
-ServerAPI.GetAvailableServersRequest.Builder builder =
-ServerAPI.GetAvailableServersRequest.newBuilder();
+  public static LocatorAPI.GetAvailableServersRequest 
createGetAvailableServersRequest() {
+LocatorAPI.GetAvailableServersRequest.Builder builder =
+LocatorAPI.GetAvailableServersRequest.newBuilder();
 return builder.build();
   }
 }
diff --git a/geode-protobuf/src/main/proto/v1/clientProtocol.proto 
b/geode-protobuf/src/main/proto/v1/clientProtocol.proto
index 95a0fdc9c2..93be175324 100644
--- 

[jira] [Commented] (GEODE-3969) Protobuf protocol requests includes a CallbackArgs field

2017-11-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3969?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16259982#comment-16259982
 ] 

ASF GitHub Bot commented on GEODE-3969:
---

galen-pivotal commented on issue #1047: GEODE-3969: Remove CallbackArgs from 
protobuf requests
URL: https://github.com/apache/geode/pull/1047#issuecomment-345859074
 
 
   @WireBaron It doesn't look like you've pushed the changes where field 
numbers start at 10.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Protobuf protocol requests includes a CallbackArgs field
> 
>
> Key: GEODE-3969
> URL: https://issues.apache.org/jira/browse/GEODE-3969
> Project: Geode
>  Issue Type: Bug
>  Components: client/server
>Reporter: Brian Rowe
>
> We eventually want to support allowing clients to pass arguments to cache 
> listeners in their requests, but this functionality is not going to be 
> present in v1.  Having this field is therefore misleading and it should be 
> removed.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GEODE-3995) Rename server_api.proto

2017-11-20 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3995?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16259987#comment-16259987
 ] 

ASF subversion and git services commented on GEODE-3995:


Commit 4b3db8bc5ea5589864235becf5a3c21bf91a9f74 in geode's branch 
refs/heads/develop from [~WireBaron]
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=4b3db8b ]

GEODE-3995: Moving server_api.proto to locator_api.proto. (#1074)

LGTM, merging.

> Rename server_api.proto
> ---
>
> Key: GEODE-3995
> URL: https://issues.apache.org/jira/browse/GEODE-3995
> Project: Geode
>  Issue Type: Task
>  Components: client/server
>Reporter: Brian Rowe
>
> The server_api.proto file contains the message definitions for locator 
> messages, making the name rather misleading (these are actually the only 
> messages the cache server can't handle).



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GEODE-3995) Rename server_api.proto

2017-11-20 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3995?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16259973#comment-16259973
 ] 

ASF subversion and git services commented on GEODE-3995:


Commit 862c4d245943ae54ef6fc170798670191cc6b492 in geode's branch 
refs/heads/develop from [~bschuchardt]
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=862c4d2 ]

GEODE-3995: Moving server_api.proto to locator_api.proto.

This closes PR #1074


> Rename server_api.proto
> ---
>
> Key: GEODE-3995
> URL: https://issues.apache.org/jira/browse/GEODE-3995
> Project: Geode
>  Issue Type: Task
>  Components: client/server
>Reporter: Brian Rowe
>
> The server_api.proto file contains the message definitions for locator 
> messages, making the name rather misleading (these are actually the only 
> messages the cache server can't handle).



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GEODE-2567) gfsh destroy disk-store should be idempotent

2017-11-20 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-2567?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16259964#comment-16259964
 ] 

ASF subversion and git services commented on GEODE-2567:


Commit 6c345cde6508ca7292a01442acc808fcd1d9d7a1 in geode's branch 
refs/heads/develop from [~jens.deppe]
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=6c345cd ]

GEODE-2567: Add --if-exists to destroy disk-store (#1080)



> gfsh destroy disk-store should be idempotent
> 
>
> Key: GEODE-2567
> URL: https://issues.apache.org/jira/browse/GEODE-2567
> Project: Geode
>  Issue Type: Sub-task
>  Components: gfsh
>Reporter: Swapnil Bawaskar
>
> Currently, gfsh {{destroy disk-store}} does *not* throw an error when run 
> multiple times:
> {{{
> gfsh>destroy disk-store --name=foo
> Member | Result
> -- | ---
> serv1  | Disk store not found on this member
> serv2  | Disk store not found on this member
> }}}
> However, for a uniform user experience, it should. We should then add a 
> {{--if-exists}} option to the command to make it idempotent.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GEODE-2567) gfsh destroy disk-store should be idempotent

2017-11-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-2567?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16259963#comment-16259963
 ] 

ASF GitHub Bot commented on GEODE-2567:
---

jdeppe-pivotal closed pull request #1080: GEODE-2567: Add --if-exists to 
destroy disk-store
URL: https://github.com/apache/geode/pull/1080
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DestroyDiskStoreCommand.java
 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DestroyDiskStoreCommand.java
index fdf796f226..42d1ecde70 100644
--- 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DestroyDiskStoreCommand.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DestroyDiskStoreCommand.java
@@ -22,7 +22,6 @@
 import org.springframework.shell.core.annotation.CliCommand;
 import org.springframework.shell.core.annotation.CliOption;
 
-import org.apache.geode.SystemFailure;
 import org.apache.geode.cache.execute.ResultCollector;
 import org.apache.geode.distributed.DistributedMember;
 import org.apache.geode.management.cli.CliMetaData;
@@ -31,6 +30,7 @@
 import org.apache.geode.management.internal.cli.CliUtil;
 import org.apache.geode.management.internal.cli.functions.CliFunctionResult;
 import 
org.apache.geode.management.internal.cli.functions.DestroyDiskStoreFunction;
+import 
org.apache.geode.management.internal.cli.functions.DestroyDiskStoreFunctionArgs;
 import org.apache.geode.management.internal.cli.i18n.CliStrings;
 import org.apache.geode.management.internal.cli.result.ResultBuilder;
 import org.apache.geode.management.internal.cli.result.TabularResultData;
@@ -48,50 +48,44 @@ public Result destroyDiskStore(
   help = CliStrings.DESTROY_DISK_STORE__NAME__HELP) String name,
   @CliOption(key = {CliStrings.GROUP, CliStrings.GROUPS},
   help = CliStrings.DESTROY_DISK_STORE__GROUP__HELP,
-  optionContext = ConverterHint.MEMBERGROUP) String[] groups) {
-try {
-  TabularResultData tabularData = ResultBuilder.createTabularResultData();
-  boolean accumulatedData = false;
+  optionContext = ConverterHint.MEMBERGROUP) String[] groups,
+  @CliOption(key = CliStrings.IFEXISTS, help = CliStrings.IFEXISTS_HELP,
+  specifiedDefaultValue = "true", unspecifiedDefaultValue = "false") 
boolean ifExist) {
 
-  Set targetMembers = CliUtil.findMembers(groups, null);
+TabularResultData tabularData = ResultBuilder.createTabularResultData();
 
-  if (targetMembers.isEmpty()) {
-return 
ResultBuilder.createUserErrorResult(CliStrings.NO_MEMBERS_FOUND_MESSAGE);
-  }
+Set targetMembers = CliUtil.findMembers(groups, null);
 
-  ResultCollector rc = CliUtil.executeFunction(new 
DestroyDiskStoreFunction(),
-  new Object[] {name}, targetMembers);
-  List results = 
CliFunctionResult.cleanResults((List) rc.getResult());
+if (targetMembers.isEmpty()) {
+  return 
ResultBuilder.createUserErrorResult(CliStrings.NO_MEMBERS_FOUND_MESSAGE);
+}
 
-  AtomicReference xmlEntity = new AtomicReference<>();
-  for (CliFunctionResult result : results) {
-if (result.isSuccessful()) {
-  if (xmlEntity.get() == null) {
-xmlEntity.set(result.getXmlEntity());
-  }
-} else {
-  tabularData.setStatus(Result.Status.ERROR);
-}
-tabularData.accumulate("Member", result.getMemberIdOrName());
-tabularData.accumulate("Result", result.getMessage());
-  }
+DestroyDiskStoreFunctionArgs functionArgs = new 
DestroyDiskStoreFunctionArgs(name, ifExist);
 
-  Result result = ResultBuilder.buildResult(tabularData);
+ResultCollector rc =
+CliUtil.executeFunction(new DestroyDiskStoreFunction(), functionArgs, 
targetMembers);
+List results = CliFunctionResult.cleanResults((List) 
rc.getResult());
 
-  if (xmlEntity.get() != null) {
-persistClusterConfiguration(result,
-() -> getSharedConfiguration().deleteXmlEntity(xmlEntity.get(), 
groups));
+AtomicReference xmlEntity = new AtomicReference<>();
+for (CliFunctionResult result : results) {
+  if (result.isSuccessful()) {
+if (xmlEntity.get() == null) {
+  xmlEntity.set(result.getXmlEntity());
+}
+  } else {
+tabularData.setStatus(Result.Status.ERROR);
   }
+  tabularData.accumulate("Member", result.getMemberIdOrName());
+  tabularData.accumulate("Result", result.getMessage());
+}
 
-  return result;
-} catch (VirtualMachineError e) {
-  

[jira] [Commented] (GEODE-3793) Test/prove out new protocol's versioning/message additions

2017-11-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3793?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16259903#comment-16259903
 ] 

ASF GitHub Bot commented on GEODE-3793:
---

bschuchardt closed pull request #1058: GEODE-3793: Refactor version validation 
into testable class.
URL: https://github.com/apache/geode/pull/1058
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git 
a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/HandshakeRequestOperationHandler.java
 
b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/HandshakeRequestOperationHandler.java
index 9fd480b576..1521fc063c 100644
--- 
a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/HandshakeRequestOperationHandler.java
+++ 
b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/HandshakeRequestOperationHandler.java
@@ -34,6 +34,7 @@
 public class HandshakeRequestOperationHandler implements
 OperationHandler {
   private static final Logger logger = LogManager.getLogger();
+  private final VersionValidator validator = new VersionValidator();
 
   @Override
   public Result 
process(
@@ -47,11 +48,9 @@
   return Failure.of(ProtobufResponseUtilities.makeErrorResponse(e));
 }
 
-boolean handshakeSucceeded = false;
-// Require an exact match with our version of the protobuf code for this 
implementation
-if (request.getMajorVersion() == 
ConnectionAPI.MajorVersions.CURRENT_MAJOR_VERSION_VALUE
-&& request.getMinorVersion() == 
ConnectionAPI.MinorVersions.CURRENT_MINOR_VERSION_VALUE) {
-  handshakeSucceeded = true;
+final boolean handshakeSucceeded =
+validator.isValid(request.getMajorVersion(), 
request.getMinorVersion());
+if (handshakeSucceeded) {
   ConnectionStateProcessor nextStateProcessor = 
stateProcessor.handshakeSucceeded();
   messageExecutionContext.setConnectionStateProcessor(nextStateProcessor);
 }
diff --git 
a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/VersionValidator.java
 
b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/VersionValidator.java
new file mode 100644
index 00..86eea8603d
--- /dev/null
+++ 
b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/VersionValidator.java
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license
+ * agreements. See the NOTICE file distributed with this work for additional 
information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache 
License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the 
License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software 
distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
KIND, either express
+ * or implied. See the License for the specific language governing permissions 
and limitations under
+ * the License.
+ */
+package org.apache.geode.internal.protocol.protobuf.v1.operations;
+
+import org.apache.geode.internal.protocol.protobuf.v1.ConnectionAPI;
+
+public class VersionValidator {
+  private int majorVersion;
+  private int minorVersion;
+
+  public VersionValidator() {
+this(ConnectionAPI.MajorVersions.CURRENT_MAJOR_VERSION_VALUE,
+ConnectionAPI.MinorVersions.CURRENT_MINOR_VERSION_VALUE);
+  }
+
+  VersionValidator(int majorVersion, int minorVersion) {
+this.majorVersion = majorVersion;
+this.minorVersion = minorVersion;
+  }
+
+  public boolean isValid(int majorVersion, int minorVersion) {
+if (majorVersion != ConnectionAPI.MajorVersions.INVALID_MAJOR_VERSION_VALUE
+&& majorVersion == this.majorVersion) {
+  if (minorVersion != 
ConnectionAPI.MinorVersions.INVALID_MINOR_VERSION_VALUE
+  && minorVersion <= this.minorVersion) {
+return true;
+  }
+}
+return false;
+  }
+}
diff --git 
a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/HandshakeRequestOperationHandlerJUnitTest.java
 
b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/HandshakeRequestOperationHandlerJUnitTest.java
index 8b7416f6eb..0641e5d196 100644
--- 

[jira] [Commented] (GEODE-3793) Test/prove out new protocol's versioning/message additions

2017-11-20 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3793?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16259901#comment-16259901
 ] 

ASF subversion and git services commented on GEODE-3793:


Commit bdc8251135a7dccaa3c1f4bb29a2e15f5629c1cb in geode's branch 
refs/heads/develop from [~bschuchardt]
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=bdc8251 ]

commit dade94b3b5a3a3b2178a62e31edab27ccca40aa8
Merge: 526bcfc 73be2d9
Author: Bruce Schuchardt 
Date:   Mon Nov 20 11:39:19 2017 -0800

GEODE-3793: Refactor version validation into testable class.

Merge branch 'feature/GEODE-3793' of https://github.com/PivotalSarge/geode 
into PivotalSarge-feature/GEODE-3793


> Test/prove out new protocol's versioning/message additions
> --
>
> Key: GEODE-3793
> URL: https://issues.apache.org/jira/browse/GEODE-3793
> Project: Geode
>  Issue Type: Task
>  Components: client/server
>Reporter: Geode Integration
>
> Test and prove out the new protocol's versioning/addition of messages.
> Expected: 
> Clients on a different major version will receive a helpful error message 
> (and are not supported)
> Clients on the same major version (but possibly different minor version) will 
> be supported.
> So, devs should be able to add new messages to the protocol, bumping the 
> minor version, and clients without knowledge of that message should still be 
> supported (as long as they're on the same major version).



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GEODE-3793) Test/prove out new protocol's versioning/message additions

2017-11-20 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3793?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16259902#comment-16259902
 ] 

ASF subversion and git services commented on GEODE-3793:


Commit bdc8251135a7dccaa3c1f4bb29a2e15f5629c1cb in geode's branch 
refs/heads/develop from [~bschuchardt]
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=bdc8251 ]

commit dade94b3b5a3a3b2178a62e31edab27ccca40aa8
Merge: 526bcfc 73be2d9
Author: Bruce Schuchardt 
Date:   Mon Nov 20 11:39:19 2017 -0800

GEODE-3793: Refactor version validation into testable class.

Merge branch 'feature/GEODE-3793' of https://github.com/PivotalSarge/geode 
into PivotalSarge-feature/GEODE-3793


> Test/prove out new protocol's versioning/message additions
> --
>
> Key: GEODE-3793
> URL: https://issues.apache.org/jira/browse/GEODE-3793
> Project: Geode
>  Issue Type: Task
>  Components: client/server
>Reporter: Geode Integration
>
> Test and prove out the new protocol's versioning/addition of messages.
> Expected: 
> Clients on a different major version will receive a helpful error message 
> (and are not supported)
> Clients on the same major version (but possibly different minor version) will 
> be supported.
> So, devs should be able to add new messages to the protocol, bumping the 
> minor version, and clients without knowledge of that message should still be 
> supported (as long as they're on the same major version).



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GEODE-3793) Test/prove out new protocol's versioning/message additions

2017-11-20 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3793?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16259900#comment-16259900
 ] 

ASF subversion and git services commented on GEODE-3793:


Commit bdc8251135a7dccaa3c1f4bb29a2e15f5629c1cb in geode's branch 
refs/heads/develop from [~bschuchardt]
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=bdc8251 ]

commit dade94b3b5a3a3b2178a62e31edab27ccca40aa8
Merge: 526bcfc 73be2d9
Author: Bruce Schuchardt 
Date:   Mon Nov 20 11:39:19 2017 -0800

GEODE-3793: Refactor version validation into testable class.

Merge branch 'feature/GEODE-3793' of https://github.com/PivotalSarge/geode 
into PivotalSarge-feature/GEODE-3793


> Test/prove out new protocol's versioning/message additions
> --
>
> Key: GEODE-3793
> URL: https://issues.apache.org/jira/browse/GEODE-3793
> Project: Geode
>  Issue Type: Task
>  Components: client/server
>Reporter: Geode Integration
>
> Test and prove out the new protocol's versioning/addition of messages.
> Expected: 
> Clients on a different major version will receive a helpful error message 
> (and are not supported)
> Clients on the same major version (but possibly different minor version) will 
> be supported.
> So, devs should be able to add new messages to the protocol, bumping the 
> minor version, and clients without knowledge of that message should still be 
> supported (as long as they're on the same major version).



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GEODE-2567) gfsh destroy disk-store should be idempotent

2017-11-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-2567?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16259878#comment-16259878
 ] 

ASF GitHub Bot commented on GEODE-2567:
---

jdeppe-pivotal opened a new pull request #1080: GEODE-2567: Add --if-exists to 
destroy disk-store
URL: https://github.com/apache/geode/pull/1080
 
 
   Thank you for submitting a contribution to Apache Geode.
   
   In order to streamline the review of the contribution we ask you
   to ensure the following steps have been taken:
   
   ### For all changes:
   - [x] Is there a JIRA ticket associated with this PR? Is it referenced in 
the commit message?
   
   - [x] Has your PR been rebased against the latest commit within the target 
branch (typically `develop`)?
   
   - [x] Is your initial contribution a single, squashed commit?
   
   - [x] Does `gradlew build` run cleanly?
   
   - [x] Have you written or updated unit tests to verify your changes?
   
   - [ ] If adding new dependencies to the code, are these dependencies 
licensed in a way that is compatible for inclusion under [ASF 
2.0](http://www.apache.org/legal/resolved.html#category-a)?
   
   ### Note:
   Please ensure that once the PR is submitted, you check travis-ci for build 
issues and
   submit an update to your PR as soon as possible. If you need help, please 
send an
   email to d...@geode.apache.org.
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> gfsh destroy disk-store should be idempotent
> 
>
> Key: GEODE-2567
> URL: https://issues.apache.org/jira/browse/GEODE-2567
> Project: Geode
>  Issue Type: Sub-task
>  Components: gfsh
>Reporter: Swapnil Bawaskar
>
> Currently, gfsh {{destroy disk-store}} does *not* throw an error when run 
> multiple times:
> {{{
> gfsh>destroy disk-store --name=foo
> Member | Result
> -- | ---
> serv1  | Disk store not found on this member
> serv2  | Disk store not found on this member
> }}}
> However, for a uniform user experience, it should. We should then add a 
> {{--if-exists}} option to the command to make it idempotent.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GEODE-3999) CI Failure: LauncherLifecycleCommandsDUnitTest fails with OutOfMemoryError

2017-11-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3999?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16259873#comment-16259873
 ] 

ASF GitHub Bot commented on GEODE-3999:
---

pdxrunner closed pull request #1078: GEODE-3999: Prevent prematurely running 
out of heap
URL: https://github.com/apache/geode/pull/1078
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git 
a/geode-assembly/src/test/java/org/apache/geode/management/internal/cli/commands/LauncherLifecycleCommandsDUnitTest.java
 
b/geode-assembly/src/test/java/org/apache/geode/management/internal/cli/commands/LauncherLifecycleCommandsDUnitTest.java
index 80067ce424..df241d1c17 100644
--- 
a/geode-assembly/src/test/java/org/apache/geode/management/internal/cli/commands/LauncherLifecycleCommandsDUnitTest.java
+++ 
b/geode-assembly/src/test/java/org/apache/geode/management/internal/cli/commands/LauncherLifecycleCommandsDUnitTest.java
@@ -986,7 +986,7 @@ public void 
test014GemFireServerJvmProcessTerminatesOnOutOfMemoryError() throws
 pathname + TIMESTAMP.format(Calendar.getInstance().getTime()));
 command.addOption(CliStrings.START_SERVER__SERVER_PORT, 
String.valueOf(serverPort));
 command.addOption(CliStrings.START_SERVER__USE_CLUSTER_CONFIGURATION, 
Boolean.FALSE.toString());
-command.addOption(CliStrings.START_SERVER__MAXHEAP, "10M");
+command.addOption(CliStrings.START_SERVER__MAXHEAP, "12M");
 command.addOption(CliStrings.START_SERVER__LOG_LEVEL, "config");
 command.addOption(CliStrings.START_SERVER__DIR, 
workingDirectory.getCanonicalPath());
 command.addOption(CliStrings.START_SERVER__CACHE_XML_FILE,


 


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> CI Failure: LauncherLifecycleCommandsDUnitTest fails with OutOfMemoryError
> --
>
> Key: GEODE-3999
> URL: https://issues.apache.org/jira/browse/GEODE-3999
> Project: Geode
>  Issue Type: Bug
>  Components: ci, gfsh
>Reporter: Kenneth Howe
>Assignee: Kenneth Howe
>
> Test runs with a minimal heap size in order to force an out of memory 
> condition. However the size of the heap is so small that the out of memory 
> occurs prematurely, before the server is initialized.
> {code:title=Stack from geode-ightly-flaky #177}
> org.apache.geode.management.internal.cli.commands.LauncherLifecycleCommandsDUnitTest
>  > test014GemFireServerJvmProcessTerminatesOnOutOfMemoryError FAILED
>java.lang.AssertionError
>at org.junit.Assert.fail(Assert.java:86)
>at org.junit.Assert.assertTrue(Assert.java:41)
>at org.junit.Assert.assertTrue(Assert.java:52)
>at 
> org.apache.geode.management.internal.cli.commands.LauncherLifecycleCommandsDUnitTest.test014GemFireServerJvmProcessTerminatesOnOutOfMemoryError(LauncherLifecycleCommandsDUnitTest.java:1018)
> {code} 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GEODE-3980) Windows test failures in AvailablePidTest due to TestTimedOutException in findAvailablePids

2017-11-20 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3980?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16259872#comment-16259872
 ] 

ASF subversion and git services commented on GEODE-3980:


Commit 0dd3c91a823c1f92debfcb3c25cb176e34a632b0 in geode's branch 
refs/heads/develop from [~khowe]
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=0dd3c91 ]

GEODE-3980: Remove unneeded additional findAvailablePids calls (#1076)

The extra findAvailablePids calls result in flaky results on
Windows.

> Windows test failures in AvailablePidTest  due to TestTimedOutException in 
> findAvailablePids
> 
>
> Key: GEODE-3980
> URL: https://issues.apache.org/jira/browse/GEODE-3980
> Project: Geode
>  Issue Type: Bug
>  Components: gfsh
>Reporter: Kenneth Howe
>Assignee: Kenneth Howe
>
> Stack trace from pipeline failure:
> {code:title=findAvailablePidsShouldReturnNoDuplicatedPids}
> org.junit.runners.model.TestTimedOutException: test timed out after 20 seconds
>   at java.io.WinNTFileSystem.list(Native Method)
>   at java.io.File.list(File.java:1122)
>   at java.io.File.listFiles(File.java:1248)
>   at 
> sun.jvmstat.perfdata.monitor.protocol.local.LocalVmManager.activeVms(LocalVmManager.java:186)
>   at 
> sun.jvmstat.perfdata.monitor.protocol.local.MonitoredHostProvider.activeVms(MonitoredHostProvider.java:150)
>   at 
> sun.tools.attach.HotSpotAttachProvider.listVirtualMachines(HotSpotAttachProvider.java:81)
>   at 
> sun.tools.attach.WindowsAttachProvider.listVirtualMachines(WindowsAttachProvider.java:76)
>   at com.sun.tools.attach.VirtualMachine.list(VirtualMachine.java:147)
>   at 
> org.apache.geode.internal.process.AttachProcessUtils.isProcessAlive(AttachProcessUtils.java:35)
>   at 
> org.apache.geode.internal.process.ProcessUtils.isProcessAlive(ProcessUtils.java:81)
>   at 
> org.apache.geode.internal.process.lang.AvailablePid.findAvailablePid(AvailablePid.java:131)
>   at 
> org.apache.geode.internal.process.lang.AvailablePid.findAvailablePids(AvailablePid.java:148)
>   at 
> org.apache.geode.internal.process.lang.AvailablePidTest.findAvailablePidsShouldReturnNoDuplicatedPids(AvailablePidTest.java:109)
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.lang.reflect.Method.invoke(Method.java:498)
>   at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
>   at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>   at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
>   at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>   at 
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
>   at 
> org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:298)
>   at 
> org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:292)
>   at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>   at java.lang.Thread.run(Thread.java:748)
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GEODE-3980) Windows test failures in AvailablePidTest due to TestTimedOutException in findAvailablePids

2017-11-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3980?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16259871#comment-16259871
 ] 

ASF GitHub Bot commented on GEODE-3980:
---

pdxrunner closed pull request #1076: GEODE-3980: Remove unneeded additional 
findAvailablePids calls
URL: https://github.com/apache/geode/pull/1076
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Windows test failures in AvailablePidTest  due to TestTimedOutException in 
> findAvailablePids
> 
>
> Key: GEODE-3980
> URL: https://issues.apache.org/jira/browse/GEODE-3980
> Project: Geode
>  Issue Type: Bug
>  Components: gfsh
>Reporter: Kenneth Howe
>Assignee: Kenneth Howe
>
> Stack trace from pipeline failure:
> {code:title=findAvailablePidsShouldReturnNoDuplicatedPids}
> org.junit.runners.model.TestTimedOutException: test timed out after 20 seconds
>   at java.io.WinNTFileSystem.list(Native Method)
>   at java.io.File.list(File.java:1122)
>   at java.io.File.listFiles(File.java:1248)
>   at 
> sun.jvmstat.perfdata.monitor.protocol.local.LocalVmManager.activeVms(LocalVmManager.java:186)
>   at 
> sun.jvmstat.perfdata.monitor.protocol.local.MonitoredHostProvider.activeVms(MonitoredHostProvider.java:150)
>   at 
> sun.tools.attach.HotSpotAttachProvider.listVirtualMachines(HotSpotAttachProvider.java:81)
>   at 
> sun.tools.attach.WindowsAttachProvider.listVirtualMachines(WindowsAttachProvider.java:76)
>   at com.sun.tools.attach.VirtualMachine.list(VirtualMachine.java:147)
>   at 
> org.apache.geode.internal.process.AttachProcessUtils.isProcessAlive(AttachProcessUtils.java:35)
>   at 
> org.apache.geode.internal.process.ProcessUtils.isProcessAlive(ProcessUtils.java:81)
>   at 
> org.apache.geode.internal.process.lang.AvailablePid.findAvailablePid(AvailablePid.java:131)
>   at 
> org.apache.geode.internal.process.lang.AvailablePid.findAvailablePids(AvailablePid.java:148)
>   at 
> org.apache.geode.internal.process.lang.AvailablePidTest.findAvailablePidsShouldReturnNoDuplicatedPids(AvailablePidTest.java:109)
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.lang.reflect.Method.invoke(Method.java:498)
>   at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
>   at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>   at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
>   at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>   at 
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
>   at 
> org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:298)
>   at 
> org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:292)
>   at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>   at java.lang.Thread.run(Thread.java:748)
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GEODE-3063) Improve docs on default string-based partition resolver

2017-11-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3063?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16259837#comment-16259837
 ] 

ASF GitHub Bot commented on GEODE-3063:
---

joeymcallister commented on a change in pull request #1077: GEODE-3063 
partition resolver doc revisions
URL: https://github.com/apache/geode/pull/1077#discussion_r152107508
 
 

 ##
 File path: 
geode-docs/developing/partitioned_regions/custom_partitioning_and_data_colocation.html.md.erb
 ##
 @@ -31,24 +31,28 @@ This figure shows a region with customer data that is 
grouped into buckets by cu
 
 
 
-With custom partitioning, you have three choices:
+With custom partitioning, you have two choices:
 
--   **Default string-based partition resolver**. A default partition
-resolver at `org.apache.geode.cache.util.StringPrefixPartitionResolver`
+-   **Standard custom partitioning**. With standard partitioning, you group 
entries into buckets, but you do not specify where the buckets reside. 
<%=vars.product_name%> always keeps the entries in the buckets you have 
specified, but may move the buckets around for load balancing.
+The partition resolver provided with <%=vars.product_name%>
+at `org.apache.geode.cache.util.StringPrefixPartitionResolver`
 groups entries into buckets based on a string portion of the key.
 All keys must be strings, specified with a syntax that includes
 a '|' character that delimits the string.
 The substring that precedes the '|' delimiter within the key
-partitions the entry.  
--   **Standard custom partitioning**. With standard partitioning, you group 
entries into buckets, but you do not specify where the buckets reside. 
<%=vars.product_name%> always keeps the entries in the buckets you have 
specified, but may move the buckets around for load balancing.
--   **Fixed custom partitioning**. With fixed partitioning, you provide 
standard partitioning plus you specify the exact member where each data entry 
resides. You do this by assigning the data entry to a bucket and to a partition 
and by naming specific members as primary and secondary hosts of each partition.
+will be returned by `getRoutingObject`.
+-   **Fixed custom partitioning**. With fixed partitioning,
+you specify the exact member where each region entry resides.
+You assign an entry to a partition and then to a bucket within
+that partition.
+You name specific members as primary and secondary hosts of each partition.
 
 This gives you complete control over the locations of your primary and any 
secondary buckets for the region. This can be useful when you want to store 
specific data on specific physical machines or when you need to keep data close 
to certain hardware elements.
 
 Fixed partitioning has these requirements and caveats:
 
--   <%=vars.product_name%> cannot rebalance fixed partition region data 
because it cannot move the buckets around among the host members. You must 
carefully consider your expected data loads for the partitions you create.
--   With fixed partitioning, the region configuration is different between 
host members. Each member identifies the named partitions it hosts, and whether 
it is hosting the primary copy or a secondary copy. You then program fixed 
partition resolver to return the partition id, so the entry is placed on the 
right members. Only one member can be primary for a particular partition name 
and that member cannot be the partition's secondary.
+-   <%=vars.product_name%> cannot rebalance fixed partition region data, 
because it cannot move the buckets around among the host members. You must 
carefully consider your expected data loads for the partitions you create.
+-   With fixed partitioning, the region configuration is different between 
host members. Each member identifies the named partitions it hosts, and whether 
it is hosting the primary copy or a secondary copy. You then program fixed 
partition resolver to return the partition id, so the entry is placed on the 
right members. Only one member can be primary for a particular partition name, 
and that member cannot be the partition's secondary.
 
 Review comment:
   Add "a" and hyphenate "program a fixed-partition resolver"


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Improve docs on default string-based partition resolver
> ---
>
> Key: GEODE-3063
> URL: https://issues.apache.org/jira/browse/GEODE-3063
> Project: Geode
>  Issue Type: Bug
>  Components: docs
>Reporter: Karen Smoler Miller
>Assignee: Karen Smoler Miller
>
> The new 

[jira] [Commented] (GEODE-3063) Improve docs on default string-based partition resolver

2017-11-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3063?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16259841#comment-16259841
 ] 

ASF GitHub Bot commented on GEODE-3063:
---

joeymcallister commented on a change in pull request #1077: GEODE-3063 
partition resolver doc revisions
URL: https://github.com/apache/geode/pull/1077#discussion_r152107685
 
 

 ##
 File path: 
geode-docs/developing/partitioned_regions/using_custom_partition_resolvers.html.md.erb
 ##
 @@ -19,47 +19,63 @@ See the License for the specific language governing 
permissions and
 limitations under the License.
 -->
 
-By default, <%=vars.product_name%> partitions each data entry into a bucket 
using a hashing policy on the key. Additionally, the physical location of the 
key-value pair is abstracted away from the application. You can change these 
policies for a partitioned region. You can provide your own data partitioning 
resolver and you can additionally specify which members host which data buckets.
+By default, <%=vars.product_name%> partitions each data entry into a bucket 
using a hashing policy on the key. 
+Additionally, the physical location of the key-value pair 
+is abstracted away from the application.
+You can change these policies for a partitioned region by providing
+your own partition resolver.
+The partitioning can go farther with a fixed partition resolver
 
 Review comment:
   Change "farther" to "further"


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Improve docs on default string-based partition resolver
> ---
>
> Key: GEODE-3063
> URL: https://issues.apache.org/jira/browse/GEODE-3063
> Project: Geode
>  Issue Type: Bug
>  Components: docs
>Reporter: Karen Smoler Miller
>Assignee: Karen Smoler Miller
>
> The new default partition resolver at
> org.apache.geode.cache.util.StringPrefixPartitionResolver
> needs more detailed documentation.
> - An example of a string specifying a key in a region operation when this 
> partition resolver is used.
> - What happens if the string specifying a key doesn't have a '|' delimiter.
> - An example of using this partition resolver to colocate two regions.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GEODE-3063) Improve docs on default string-based partition resolver

2017-11-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3063?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16259838#comment-16259838
 ] 

ASF GitHub Bot commented on GEODE-3063:
---

joeymcallister commented on a change in pull request #1077: GEODE-3063 
partition resolver doc revisions
URL: https://github.com/apache/geode/pull/1077#discussion_r152107965
 
 

 ##
 File path: 
geode-docs/developing/partitioned_regions/using_custom_partition_resolvers.html.md.erb
 ##
 @@ -19,47 +19,63 @@ See the License for the specific language governing 
permissions and
 limitations under the License.
 -->
 
-By default, <%=vars.product_name%> partitions each data entry into a bucket 
using a hashing policy on the key. Additionally, the physical location of the 
key-value pair is abstracted away from the application. You can change these 
policies for a partitioned region. You can provide your own data partitioning 
resolver and you can additionally specify which members host which data buckets.
+By default, <%=vars.product_name%> partitions each data entry into a bucket 
using a hashing policy on the key. 
+Additionally, the physical location of the key-value pair 
+is abstracted away from the application.
+You can change these policies for a partitioned region by providing
+your own partition resolver.
+The partitioning can go farther with a fixed partition resolver
 
 Review comment:
   hyphenate "fixed-partition resolver"


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Improve docs on default string-based partition resolver
> ---
>
> Key: GEODE-3063
> URL: https://issues.apache.org/jira/browse/GEODE-3063
> Project: Geode
>  Issue Type: Bug
>  Components: docs
>Reporter: Karen Smoler Miller
>Assignee: Karen Smoler Miller
>
> The new default partition resolver at
> org.apache.geode.cache.util.StringPrefixPartitionResolver
> needs more detailed documentation.
> - An example of a string specifying a key in a region operation when this 
> partition resolver is used.
> - What happens if the string specifying a key doesn't have a '|' delimiter.
> - An example of using this partition resolver to colocate two regions.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GEODE-3063) Improve docs on default string-based partition resolver

2017-11-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3063?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16259845#comment-16259845
 ] 

ASF GitHub Bot commented on GEODE-3063:
---

joeymcallister commented on a change in pull request #1077: GEODE-3063 
partition resolver doc revisions
URL: https://github.com/apache/geode/pull/1077#discussion_r152109808
 
 

 ##
 File path: 
geode-docs/developing/partitioned_regions/using_custom_partition_resolvers.html.md.erb
 ##
 @@ -243,21 +273,85 @@ program the resolver's `getRoutingObject` method to 
return the routing object fo
 
 ```
 **Java API:**
-
+
 ``` pre
 PartitionAttributes attrs = 
 new PartitionAttributesFactory()
 .setPartitionResolver("StringPrefixPartitionResolver").create();
-
+
 Cache c = new CacheFactory().create();
-
+
 Region r = c.createRegionFactory()
 .setPartitionAttributes(attrs)
 .create("customers");
 ```
 **gfsh:**
-
+
 Add the option 
`--partition-resolver=org.apache.geode.cache.util.StringPrefixPartitionResolver`
 to the `gfsh create region` command.
 
-6.  If your colocated data is in a server system, add the `PartitionResolver` 
implementation class to the `CLASSPATH` of your Java clients. The resolver is 
used for single hop access to partitioned region data in the servers.
+-  For colocated data, add the `StringPrefixPartitionResolver`
+implementation class to the `CLASSPATH` of your Java clients.
+The resolver will work with Java single hop clients.
+
+**Configuring Fixed Partitioning**
+
+-  Set the fixed partition attributes for each member.
+
+These attributes define the data stored for the region by the member and 
must be different for different members. See 
`org.apache.geode.cache.FixedPartitionAttributes` for definitions of the 
attributes. Define each `partition-name` in your data host members for the 
region. For each partition name, in the member you want to host the primary 
copy, define it with `is-primary` set to `true`. In every member you want to 
host the secondary copy, define it with `is-primary` set to `false` (the 
default). The number of secondaries must match the number of redundant copies 
you have defined for the region. See [Configure High Availability for a 
Partitioned Region](configuring_ha_for_pr.html).
 
 Review comment:
   hyphenate "data-host members"


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Improve docs on default string-based partition resolver
> ---
>
> Key: GEODE-3063
> URL: https://issues.apache.org/jira/browse/GEODE-3063
> Project: Geode
>  Issue Type: Bug
>  Components: docs
>Reporter: Karen Smoler Miller
>Assignee: Karen Smoler Miller
>
> The new default partition resolver at
> org.apache.geode.cache.util.StringPrefixPartitionResolver
> needs more detailed documentation.
> - An example of a string specifying a key in a region operation when this 
> partition resolver is used.
> - What happens if the string specifying a key doesn't have a '|' delimiter.
> - An example of using this partition resolver to colocate two regions.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GEODE-3063) Improve docs on default string-based partition resolver

2017-11-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3063?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16259842#comment-16259842
 ] 

ASF GitHub Bot commented on GEODE-3063:
---

joeymcallister commented on a change in pull request #1077: GEODE-3063 
partition resolver doc revisions
URL: https://github.com/apache/geode/pull/1077#discussion_r152110009
 
 

 ##
 File path: 
geode-docs/developing/partitioned_regions/using_custom_partition_resolvers.html.md.erb
 ##
 @@ -243,21 +273,85 @@ program the resolver's `getRoutingObject` method to 
return the routing object fo
 
 ```
 **Java API:**
-
+
 ``` pre
 PartitionAttributes attrs = 
 new PartitionAttributesFactory()
 .setPartitionResolver("StringPrefixPartitionResolver").create();
-
+
 Cache c = new CacheFactory().create();
-
+
 Region r = c.createRegionFactory()
 .setPartitionAttributes(attrs)
 .create("customers");
 ```
 **gfsh:**
-
+
 Add the option 
`--partition-resolver=org.apache.geode.cache.util.StringPrefixPartitionResolver`
 to the `gfsh create region` command.
 
-6.  If your colocated data is in a server system, add the `PartitionResolver` 
implementation class to the `CLASSPATH` of your Java clients. The resolver is 
used for single hop access to partitioned region data in the servers.
+-  For colocated data, add the `StringPrefixPartitionResolver`
+implementation class to the `CLASSPATH` of your Java clients.
+The resolver will work with Java single hop clients.
+
+**Configuring Fixed Partitioning**
+
+-  Set the fixed partition attributes for each member.
+
+These attributes define the data stored for the region by the member and 
must be different for different members. See 
`org.apache.geode.cache.FixedPartitionAttributes` for definitions of the 
attributes. Define each `partition-name` in your data host members for the 
region. For each partition name, in the member you want to host the primary 
copy, define it with `is-primary` set to `true`. In every member you want to 
host the secondary copy, define it with `is-primary` set to `false` (the 
default). The number of secondaries must match the number of redundant copies 
you have defined for the region. See [Configure High Availability for a 
Partitioned Region](configuring_ha_for_pr.html).
+
+**Note:**
+Buckets for a partition are hosted only by the members that have defined 
the partition name in their `FixedPartitionAttributes`.
+
+These examples set the partition attributes for a member to be the primary 
host for the "Q1" partition data and a secondary host for "Q3" partition data.
+-   XML:
+
+``` pre
+
+   
+  
+ 
+   
+  
myPackage.QuarterFixedPartitionResolver
+   
+   
+   
+  
+  
+   
+
+```
+-   Java:
+
+
+``` pre
+FixedPartitionAttribute fpa1 = FixedPartitionAttributes
+ .createFixedPartition("Q1", true);
+FixedPartitionAttribute fpa3 = FixedPartitionAttributes
+ .createFixedPartition("Q3", false, 6);
+
+PartitionAttributesFactory paf = new PartitionAttributesFactory()
+ .setPartitionResolver(new QuarterFixedPartitionResolver())
+ .setTotalNumBuckets(12)
+ .setRedundantCopies(2)
+ .addFixedPartitionAttribute(fpa1)
+ .addFixedPartitionAttribute(fpa3);
+
+Cache c = new CacheFactory().create();
+
+Region r = c.createRegionFactory()
+.setPartitionAttributes(paf.create())
+.create("Trades");
+```
+-   gfsh:
+
+You cannot specify a fixed partition resolver using gfsh.
+
+-   If your colocated data is in a server system,
+add the class that implements the `FixedPartitionResolver` interface
+to the `CLASSPATH` of your Java clients.
+For Java single hop access to work,
 
 Review comment:
   hyphenate "single-hop access"


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Improve docs on default string-based partition resolver
> ---
>
> Key: GEODE-3063
> URL: https://issues.apache.org/jira/browse/GEODE-3063
> Project: Geode
>  Issue Type: Bug
>  Components: docs
>Reporter: Karen Smoler Miller
>Assignee: Karen Smoler Miller
>
> The new default partition resolver at
> org.apache.geode.cache.util.StringPrefixPartitionResolver
> needs more detailed 

[jira] [Commented] (GEODE-3063) Improve docs on default string-based partition resolver

2017-11-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3063?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16259839#comment-16259839
 ] 

ASF GitHub Bot commented on GEODE-3063:
---

joeymcallister commented on a change in pull request #1077: GEODE-3063 
partition resolver doc revisions
URL: https://github.com/apache/geode/pull/1077#discussion_r152109706
 
 

 ##
 File path: 
geode-docs/developing/partitioned_regions/using_custom_partition_resolvers.html.md.erb
 ##
 @@ -243,21 +273,85 @@ program the resolver's `getRoutingObject` method to 
return the routing object fo
 
 ```
 **Java API:**
-
+
 ``` pre
 PartitionAttributes attrs = 
 new PartitionAttributesFactory()
 .setPartitionResolver("StringPrefixPartitionResolver").create();
-
+
 Cache c = new CacheFactory().create();
-
+
 Region r = c.createRegionFactory()
 .setPartitionAttributes(attrs)
 .create("customers");
 ```
 **gfsh:**
-
+
 Add the option 
`--partition-resolver=org.apache.geode.cache.util.StringPrefixPartitionResolver`
 to the `gfsh create region` command.
 
-6.  If your colocated data is in a server system, add the `PartitionResolver` 
implementation class to the `CLASSPATH` of your Java clients. The resolver is 
used for single hop access to partitioned region data in the servers.
+-  For colocated data, add the `StringPrefixPartitionResolver`
+implementation class to the `CLASSPATH` of your Java clients.
+The resolver will work with Java single hop clients.
+
+**Configuring Fixed Partitioning**
+
+-  Set the fixed partition attributes for each member.
 
 Review comment:
   hyphenate "fixed-partition attributes"


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Improve docs on default string-based partition resolver
> ---
>
> Key: GEODE-3063
> URL: https://issues.apache.org/jira/browse/GEODE-3063
> Project: Geode
>  Issue Type: Bug
>  Components: docs
>Reporter: Karen Smoler Miller
>Assignee: Karen Smoler Miller
>
> The new default partition resolver at
> org.apache.geode.cache.util.StringPrefixPartitionResolver
> needs more detailed documentation.
> - An example of a string specifying a key in a region operation when this 
> partition resolver is used.
> - What happens if the string specifying a key doesn't have a '|' delimiter.
> - An example of using this partition resolver to colocate two regions.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GEODE-3063) Improve docs on default string-based partition resolver

2017-11-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3063?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16259843#comment-16259843
 ] 

ASF GitHub Bot commented on GEODE-3063:
---

joeymcallister commented on a change in pull request #1077: GEODE-3063 
partition resolver doc revisions
URL: https://github.com/apache/geode/pull/1077#discussion_r152109527
 
 

 ##
 File path: 
geode-docs/developing/partitioned_regions/using_custom_partition_resolvers.html.md.erb
 ##
 @@ -226,15 +246,25 @@ program the resolver's `getRoutingObject` method to 
return the routing object fo
 -   **Entry key**. Use the key object with the resolver implementation for 
every entry operation.
 -   **Cache callback argument**. Provide the argument to every call that 
accesses an entry. This restricts you to calls that take a callback argument.
 
-If using the default implementation of the string-based partition 
resolver, configure with one of:
+-   If your colocated data is in a server system,
+add the `PartitionResolver` implementation class to the `CLASSPATH`
+of your Java clients. 
+For Java single hop access to work,
 
 Review comment:
   hyphenate "single-hop access"


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Improve docs on default string-based partition resolver
> ---
>
> Key: GEODE-3063
> URL: https://issues.apache.org/jira/browse/GEODE-3063
> Project: Geode
>  Issue Type: Bug
>  Components: docs
>Reporter: Karen Smoler Miller
>Assignee: Karen Smoler Miller
>
> The new default partition resolver at
> org.apache.geode.cache.util.StringPrefixPartitionResolver
> needs more detailed documentation.
> - An example of a string specifying a key in a region operation when this 
> partition resolver is used.
> - What happens if the string specifying a key doesn't have a '|' delimiter.
> - An example of using this partition resolver to colocate two regions.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GEODE-3063) Improve docs on default string-based partition resolver

2017-11-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3063?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16259844#comment-16259844
 ] 

ASF GitHub Bot commented on GEODE-3063:
---

joeymcallister commented on a change in pull request #1077: GEODE-3063 
partition resolver doc revisions
URL: https://github.com/apache/geode/pull/1077#discussion_r152109657
 
 

 ##
 File path: 
geode-docs/developing/partitioned_regions/using_custom_partition_resolvers.html.md.erb
 ##
 @@ -243,21 +273,85 @@ program the resolver's `getRoutingObject` method to 
return the routing object fo
 
 ```
 **Java API:**
-
+
 ``` pre
 PartitionAttributes attrs = 
 new PartitionAttributesFactory()
 .setPartitionResolver("StringPrefixPartitionResolver").create();
-
+
 Cache c = new CacheFactory().create();
-
+
 Region r = c.createRegionFactory()
 .setPartitionAttributes(attrs)
 .create("customers");
 ```
 **gfsh:**
-
+
 Add the option 
`--partition-resolver=org.apache.geode.cache.util.StringPrefixPartitionResolver`
 to the `gfsh create region` command.
 
-6.  If your colocated data is in a server system, add the `PartitionResolver` 
implementation class to the `CLASSPATH` of your Java clients. The resolver is 
used for single hop access to partitioned region data in the servers.
+-  For colocated data, add the `StringPrefixPartitionResolver`
+implementation class to the `CLASSPATH` of your Java clients.
+The resolver will work with Java single hop clients.
 
 Review comment:
   hyphenate "single-hop clients"


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Improve docs on default string-based partition resolver
> ---
>
> Key: GEODE-3063
> URL: https://issues.apache.org/jira/browse/GEODE-3063
> Project: Geode
>  Issue Type: Bug
>  Components: docs
>Reporter: Karen Smoler Miller
>Assignee: Karen Smoler Miller
>
> The new default partition resolver at
> org.apache.geode.cache.util.StringPrefixPartitionResolver
> needs more detailed documentation.
> - An example of a string specifying a key in a region operation when this 
> partition resolver is used.
> - What happens if the string specifying a key doesn't have a '|' delimiter.
> - An example of using this partition resolver to colocate two regions.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GEODE-3063) Improve docs on default string-based partition resolver

2017-11-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3063?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16259840#comment-16259840
 ] 

ASF GitHub Bot commented on GEODE-3063:
---

joeymcallister commented on a change in pull request #1077: GEODE-3063 
partition resolver doc revisions
URL: https://github.com/apache/geode/pull/1077#discussion_r152107592
 
 

 ##
 File path: 
geode-docs/developing/partitioned_regions/custom_partitioning_and_data_colocation.html.md.erb
 ##
 @@ -31,24 +31,28 @@ This figure shows a region with customer data that is 
grouped into buckets by cu
 
 
 
-With custom partitioning, you have three choices:
+With custom partitioning, you have two choices:
 
--   **Default string-based partition resolver**. A default partition
-resolver at `org.apache.geode.cache.util.StringPrefixPartitionResolver`
+-   **Standard custom partitioning**. With standard partitioning, you group 
entries into buckets, but you do not specify where the buckets reside. 
<%=vars.product_name%> always keeps the entries in the buckets you have 
specified, but may move the buckets around for load balancing.
+The partition resolver provided with <%=vars.product_name%>
+at `org.apache.geode.cache.util.StringPrefixPartitionResolver`
 groups entries into buckets based on a string portion of the key.
 All keys must be strings, specified with a syntax that includes
 a '|' character that delimits the string.
 The substring that precedes the '|' delimiter within the key
-partitions the entry.  
--   **Standard custom partitioning**. With standard partitioning, you group 
entries into buckets, but you do not specify where the buckets reside. 
<%=vars.product_name%> always keeps the entries in the buckets you have 
specified, but may move the buckets around for load balancing.
--   **Fixed custom partitioning**. With fixed partitioning, you provide 
standard partitioning plus you specify the exact member where each data entry 
resides. You do this by assigning the data entry to a bucket and to a partition 
and by naming specific members as primary and secondary hosts of each partition.
+will be returned by `getRoutingObject`.
+-   **Fixed custom partitioning**. With fixed partitioning,
+you specify the exact member where each region entry resides.
+You assign an entry to a partition and then to a bucket within
+that partition.
+You name specific members as primary and secondary hosts of each partition.
 
 This gives you complete control over the locations of your primary and any 
secondary buckets for the region. This can be useful when you want to store 
specific data on specific physical machines or when you need to keep data close 
to certain hardware elements.
 
 Fixed partitioning has these requirements and caveats:
 
--   <%=vars.product_name%> cannot rebalance fixed partition region data 
because it cannot move the buckets around among the host members. You must 
carefully consider your expected data loads for the partitions you create.
--   With fixed partitioning, the region configuration is different between 
host members. Each member identifies the named partitions it hosts, and whether 
it is hosting the primary copy or a secondary copy. You then program fixed 
partition resolver to return the partition id, so the entry is placed on the 
right members. Only one member can be primary for a particular partition name 
and that member cannot be the partition's secondary.
+-   <%=vars.product_name%> cannot rebalance fixed partition region data, 
because it cannot move the buckets around among the host members. You must 
carefully consider your expected data loads for the partitions you create.
 
 Review comment:
   hyphenate "fixed-partition region data"


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Improve docs on default string-based partition resolver
> ---
>
> Key: GEODE-3063
> URL: https://issues.apache.org/jira/browse/GEODE-3063
> Project: Geode
>  Issue Type: Bug
>  Components: docs
>Reporter: Karen Smoler Miller
>Assignee: Karen Smoler Miller
>
> The new default partition resolver at
> org.apache.geode.cache.util.StringPrefixPartitionResolver
> needs more detailed documentation.
> - An example of a string specifying a key in a region operation when this 
> partition resolver is used.
> - What happens if the string specifying a key doesn't have a '|' delimiter.
> - An example of using this partition resolver to colocate two regions.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GEODE-4000) Add 1.3.0 version to geode-ol-version gradle file

2017-11-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-4000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16259773#comment-16259773
 ] 

ASF GitHub Bot commented on GEODE-4000:
---

nabarunnag opened a new pull request #1079: GEODE-4000: Added 1.3.0 version tag 
to geode-old-versions gradle buil…
URL: https://github.com/apache/geode/pull/1079
 
 
   …d file.
   
   Thank you for submitting a contribution to Apache Geode.
   
   In order to streamline the review of the contribution we ask you
   to ensure the following steps have been taken:
   
   ### For all changes:
   - [ ] Is there a JIRA ticket associated with this PR? Is it referenced in 
the commit message?
   
   - [ ] Has your PR been rebased against the latest commit within the target 
branch (typically `develop`)?
   
   - [ ] Is your initial contribution a single, squashed commit?
   
   - [ ] Does `gradlew build` run cleanly?
   
   - [ ] Have you written or updated unit tests to verify your changes?
   
   - [ ] If adding new dependencies to the code, are these dependencies 
licensed in a way that is compatible for inclusion under [ASF 
2.0](http://www.apache.org/legal/resolved.html#category-a)?
   
   ### Note:
   Please ensure that once the PR is submitted, you check travis-ci for build 
issues and
   submit an update to your PR as soon as possible. If you need help, please 
send an
   email to d...@geode.apache.org.
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Add 1.3.0 version to geode-ol-version gradle file
> -
>
> Key: GEODE-4000
> URL: https://issues.apache.org/jira/browse/GEODE-4000
> Project: Geode
>  Issue Type: Bug
>  Components: client/server
>Reporter: nabarun
>Assignee: nabarun
>
> Adding 1.3.0 version tag in geode-old-versions for backward compatibility and 
> rolling upgrade tests.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Assigned] (GEODE-4000) Add 1.3.0 version to geode-ol-version gradle file

2017-11-20 Thread nabarun (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-4000?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

nabarun reassigned GEODE-4000:
--

Assignee: nabarun

> Add 1.3.0 version to geode-ol-version gradle file
> -
>
> Key: GEODE-4000
> URL: https://issues.apache.org/jira/browse/GEODE-4000
> Project: Geode
>  Issue Type: Bug
>  Components: client/server
>Reporter: nabarun
>Assignee: nabarun
>
> Adding 1.3.0 version tag in geode-old-versions for backward compatibility and 
> rolling upgrade tests.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (GEODE-4000) Add 1.3.0 version to geode-ol-version gradle file

2017-11-20 Thread nabarun (JIRA)
nabarun created GEODE-4000:
--

 Summary: Add 1.3.0 version to geode-ol-version gradle file
 Key: GEODE-4000
 URL: https://issues.apache.org/jira/browse/GEODE-4000
 Project: Geode
  Issue Type: Bug
  Components: client/server
Reporter: nabarun


Adding 1.3.0 version tag in geode-old-versions for backward compatibility and 
rolling upgrade tests.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GEODE-3999) CI Failure: LauncherLifecycleCommandsDUnitTest fails with OutOfMemoryError

2017-11-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3999?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16259694#comment-16259694
 ] 

ASF GitHub Bot commented on GEODE-3999:
---

pdxrunner opened a new pull request #1078: GEODE-3999: Prevent prematurely 
running out of heap
URL: https://github.com/apache/geode/pull/1078
 
 
   The heap size for test014GemFireServerJvmProcessTerminatesOnOutOfMemoryError
   is marginally increased from 10M to 12M. This should allow sufficient
   memory to start the servers, but not so much that the test takes too long
   to force the OutOfMemoryError.
   
   Thank you for submitting a contribution to Apache Geode.
   
   In order to streamline the review of the contribution we ask you
   to ensure the following steps have been taken:
   
   ### For all changes:
   - [X] Is there a JIRA ticket associated with this PR? Is it referenced in 
the commit message?
   
   - [X] Has your PR been rebased against the latest commit within the target 
branch (typically `develop`)?
   
   - [X] Is your initial contribution a single, squashed commit?
   
   - [X] Does `gradlew build` run cleanly?
   
   - [ ] Have you written or updated unit tests to verify your changes?
   
   - [ ] If adding new dependencies to the code, are these dependencies 
licensed in a way that is compatible for inclusion under [ASF 
2.0](http://www.apache.org/legal/resolved.html#category-a)?
   
   ### Note:
   Please ensure that once the PR is submitted, you check travis-ci for build 
issues and
   submit an update to your PR as soon as possible. If you need help, please 
send an
   email to d...@geode.apache.org.
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> CI Failure: LauncherLifecycleCommandsDUnitTest fails with OutOfMemoryError
> --
>
> Key: GEODE-3999
> URL: https://issues.apache.org/jira/browse/GEODE-3999
> Project: Geode
>  Issue Type: Bug
>  Components: ci, gfsh
>Reporter: Kenneth Howe
>Assignee: Kenneth Howe
>
> Test runs with a minimal heap size in order to force an out of memory 
> condition. However the size of the heap is so small that the out of memory 
> occurs prematurely, before the server is initialized.
> {code:title=Stack from geode-ightly-flaky #177}
> org.apache.geode.management.internal.cli.commands.LauncherLifecycleCommandsDUnitTest
>  > test014GemFireServerJvmProcessTerminatesOnOutOfMemoryError FAILED
>java.lang.AssertionError
>at org.junit.Assert.fail(Assert.java:86)
>at org.junit.Assert.assertTrue(Assert.java:41)
>at org.junit.Assert.assertTrue(Assert.java:52)
>at 
> org.apache.geode.management.internal.cli.commands.LauncherLifecycleCommandsDUnitTest.test014GemFireServerJvmProcessTerminatesOnOutOfMemoryError(LauncherLifecycleCommandsDUnitTest.java:1018)
> {code} 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (GEODE-3999) CI Failure: LauncherLifecycleCommandsDUnitTest fails with OutOfMemoryError

2017-11-20 Thread Kenneth Howe (JIRA)
Kenneth Howe created GEODE-3999:
---

 Summary: CI Failure: LauncherLifecycleCommandsDUnitTest fails with 
OutOfMemoryError
 Key: GEODE-3999
 URL: https://issues.apache.org/jira/browse/GEODE-3999
 Project: Geode
  Issue Type: Bug
  Components: ci, gfsh
Reporter: Kenneth Howe


Test runs with a minimal heap size in order to force an out of memory 
condition. However the size of the heap is so small that the out of memory 
occurs prematurely, before the server is initialized.

{code:title=Stack from geode-ightly-flaky #177}

org.apache.geode.management.internal.cli.commands.LauncherLifecycleCommandsDUnitTest
 > test014GemFireServerJvmProcessTerminatesOnOutOfMemoryError FAILED
   java.lang.AssertionError
   at org.junit.Assert.fail(Assert.java:86)
   at org.junit.Assert.assertTrue(Assert.java:41)
   at org.junit.Assert.assertTrue(Assert.java:52)
   at 
org.apache.geode.management.internal.cli.commands.LauncherLifecycleCommandsDUnitTest.test014GemFireServerJvmProcessTerminatesOnOutOfMemoryError(LauncherLifecycleCommandsDUnitTest.java:1018)
{code} 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Closed] (GEODE-3625) Remove platform specific stacktrace implementation

2017-11-20 Thread David Kimura (JIRA)

 [ 
https://issues.apache.org/jira/browse/GEODE-3625?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

David Kimura closed GEODE-3625.
---

> Remove platform specific stacktrace implementation
> --
>
> Key: GEODE-3625
> URL: https://issues.apache.org/jira/browse/GEODE-3625
> Project: Geode
>  Issue Type: Improvement
>  Components: native client
>Reporter: David Kimura
>
> Current stacktrace implementation is unnecessarily hard to maintain (4 
> implementations - 1 per platform: mac, linux, windows, solaris) and 
> incomplete (solaris isn't fully implemented).  We should move to a platform 
> agnostic implementation leveraging boost::stacktrace library.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GEODE-3980) Windows test failures in AvailablePidTest due to TestTimedOutException in findAvailablePids

2017-11-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3980?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16259578#comment-16259578
 ] 

ASF GitHub Bot commented on GEODE-3980:
---

pdxrunner opened a new pull request #1076: GEODE-3980: Remove unneeded 
additional findAvailablePids calls
URL: https://github.com/apache/geode/pull/1076
 
 
   The extra findAvailablePids calls result in flaky results on
   Windows.
   
   Thank you for submitting a contribution to Apache Geode.
   
   In order to streamline the review of the contribution we ask you
   to ensure the following steps have been taken:
   
   ### For all changes:
   - [X] Is there a JIRA ticket associated with this PR? Is it referenced in 
the commit message?
   
   - [X] Has your PR been rebased against the latest commit within the target 
branch (typically `develop`)?
   
   - [X] Is your initial contribution a single, squashed commit?
   
   - [X] Does `gradlew build` run cleanly?
   
   - [ ] Have you written or updated unit tests to verify your changes?
   
   - [ ] If adding new dependencies to the code, are these dependencies 
licensed in a way that is compatible for inclusion under [ASF 
2.0](http://www.apache.org/legal/resolved.html#category-a)?
   
   ### Note:
   Please ensure that once the PR is submitted, you check travis-ci for build 
issues and
   submit an update to your PR as soon as possible. If you need help, please 
send an
   email to d...@geode.apache.org.
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Windows test failures in AvailablePidTest  due to TestTimedOutException in 
> findAvailablePids
> 
>
> Key: GEODE-3980
> URL: https://issues.apache.org/jira/browse/GEODE-3980
> Project: Geode
>  Issue Type: Bug
>  Components: gfsh
>Reporter: Kenneth Howe
>Assignee: Kenneth Howe
>
> Stack trace from pipeline failure:
> {code:title=findAvailablePidsShouldReturnNoDuplicatedPids}
> org.junit.runners.model.TestTimedOutException: test timed out after 20 seconds
>   at java.io.WinNTFileSystem.list(Native Method)
>   at java.io.File.list(File.java:1122)
>   at java.io.File.listFiles(File.java:1248)
>   at 
> sun.jvmstat.perfdata.monitor.protocol.local.LocalVmManager.activeVms(LocalVmManager.java:186)
>   at 
> sun.jvmstat.perfdata.monitor.protocol.local.MonitoredHostProvider.activeVms(MonitoredHostProvider.java:150)
>   at 
> sun.tools.attach.HotSpotAttachProvider.listVirtualMachines(HotSpotAttachProvider.java:81)
>   at 
> sun.tools.attach.WindowsAttachProvider.listVirtualMachines(WindowsAttachProvider.java:76)
>   at com.sun.tools.attach.VirtualMachine.list(VirtualMachine.java:147)
>   at 
> org.apache.geode.internal.process.AttachProcessUtils.isProcessAlive(AttachProcessUtils.java:35)
>   at 
> org.apache.geode.internal.process.ProcessUtils.isProcessAlive(ProcessUtils.java:81)
>   at 
> org.apache.geode.internal.process.lang.AvailablePid.findAvailablePid(AvailablePid.java:131)
>   at 
> org.apache.geode.internal.process.lang.AvailablePid.findAvailablePids(AvailablePid.java:148)
>   at 
> org.apache.geode.internal.process.lang.AvailablePidTest.findAvailablePidsShouldReturnNoDuplicatedPids(AvailablePidTest.java:109)
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.lang.reflect.Method.invoke(Method.java:498)
>   at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
>   at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>   at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
>   at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>   at 
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
>   at 
> org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:298)
>   at 
> org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:292)
>   at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>   at java.lang.Thread.run(Thread.java:748)
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GEODE-3980) Windows test failures in AvailablePidTest due to TestTimedOutException in findAvailablePids

2017-11-20 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3980?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16259574#comment-16259574
 ] 

ASF subversion and git services commented on GEODE-3980:


Commit abcaa3f570b418c0066eb706a9157ac06c43765b in geode's branch 
refs/heads/feature/GEODE-3980 from [~khowe]
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=abcaa3f ]

GEODE-3980: Remove unneeded additional findAvailablePids calls

The extra findAvailablePids calls result in flaky results on
Windows.


> Windows test failures in AvailablePidTest  due to TestTimedOutException in 
> findAvailablePids
> 
>
> Key: GEODE-3980
> URL: https://issues.apache.org/jira/browse/GEODE-3980
> Project: Geode
>  Issue Type: Bug
>  Components: gfsh
>Reporter: Kenneth Howe
>Assignee: Kenneth Howe
>
> Stack trace from pipeline failure:
> {code:title=findAvailablePidsShouldReturnNoDuplicatedPids}
> org.junit.runners.model.TestTimedOutException: test timed out after 20 seconds
>   at java.io.WinNTFileSystem.list(Native Method)
>   at java.io.File.list(File.java:1122)
>   at java.io.File.listFiles(File.java:1248)
>   at 
> sun.jvmstat.perfdata.monitor.protocol.local.LocalVmManager.activeVms(LocalVmManager.java:186)
>   at 
> sun.jvmstat.perfdata.monitor.protocol.local.MonitoredHostProvider.activeVms(MonitoredHostProvider.java:150)
>   at 
> sun.tools.attach.HotSpotAttachProvider.listVirtualMachines(HotSpotAttachProvider.java:81)
>   at 
> sun.tools.attach.WindowsAttachProvider.listVirtualMachines(WindowsAttachProvider.java:76)
>   at com.sun.tools.attach.VirtualMachine.list(VirtualMachine.java:147)
>   at 
> org.apache.geode.internal.process.AttachProcessUtils.isProcessAlive(AttachProcessUtils.java:35)
>   at 
> org.apache.geode.internal.process.ProcessUtils.isProcessAlive(ProcessUtils.java:81)
>   at 
> org.apache.geode.internal.process.lang.AvailablePid.findAvailablePid(AvailablePid.java:131)
>   at 
> org.apache.geode.internal.process.lang.AvailablePid.findAvailablePids(AvailablePid.java:148)
>   at 
> org.apache.geode.internal.process.lang.AvailablePidTest.findAvailablePidsShouldReturnNoDuplicatedPids(AvailablePidTest.java:109)
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.lang.reflect.Method.invoke(Method.java:498)
>   at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
>   at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>   at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
>   at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>   at 
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
>   at 
> org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:298)
>   at 
> org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:292)
>   at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>   at java.lang.Thread.run(Thread.java:748)
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GEODE-3539) Add more test coverage for p2p commands

2017-11-20 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16259519#comment-16259519
 ] 

ASF subversion and git services commented on GEODE-3539:


Commit 526bcfc073d5cdc448d072269717743292248402 in geode's branch 
refs/heads/develop from [~prhomberg]
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=526bcfc ]

GEODE-3539: Add missing test coverage for 'list regions' and 'describe region' 
commands

* Command logic flattened to stream.
* Testing of 'list region' and 'describe region' separated into distinct DUnit 
and Integration tests.  'list region' DUnit simplified.
* Removed @Flaky annotation from 'describe region' DUnit test

> Add more test coverage for p2p commands
> ---
>
> Key: GEODE-3539
> URL: https://issues.apache.org/jira/browse/GEODE-3539
> Project: Geode
>  Issue Type: Improvement
>  Components: gfsh
>Reporter: Jinmei Liao
>
> Add more command tests that would eventually get rid of the legacy tests.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GEODE-3539) Add more test coverage for p2p commands

2017-11-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16259518#comment-16259518
 ] 

ASF GitHub Bot commented on GEODE-3539:
---

PurelyApplied closed pull request #1052: GEODE-3539: Add missing test coverage 
for 'list regions' and 'describe region' commands
URL: https://github.com/apache/geode/pull/1052
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListRegionCommand.java
 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListRegionCommand.java
index 1ca310cc6f..cd58449cc2 100644
--- 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListRegionCommand.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListRegionCommand.java
@@ -16,9 +16,12 @@
 package org.apache.geode.management.internal.cli.commands;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.LinkedHashSet;
+import java.util.Objects;
 import java.util.Set;
 import java.util.TreeSet;
+import java.util.stream.Collectors;
 
 import org.springframework.shell.core.annotation.CliCommand;
 import org.springframework.shell.core.annotation.CliOption;
@@ -29,7 +32,9 @@
 import org.apache.geode.management.cli.CliMetaData;
 import org.apache.geode.management.cli.ConverterHint;
 import org.apache.geode.management.cli.Result;
+import org.apache.geode.management.internal.cli.AbstractCliAroundInterceptor;
 import org.apache.geode.management.internal.cli.CliUtil;
+import org.apache.geode.management.internal.cli.GfshParseResult;
 import org.apache.geode.management.internal.cli.domain.RegionInformation;
 import org.apache.geode.management.internal.cli.functions.GetRegionsFunction;
 import org.apache.geode.management.internal.cli.i18n.CliStrings;
@@ -67,19 +72,11 @@ public Result listRegion(
   ArrayList resultList = (ArrayList) rc.getResult();
 
   if (resultList != null) {
-
-for (Object resultObj : resultList) {
-  if (resultObj != null) {
-if (resultObj instanceof Object[]) {
-  Object[] resultObjectArray = (Object[]) resultObj;
-  for (Object regionInfo : resultObjectArray) {
-if (regionInfo instanceof RegionInformation) {
-  regionInfoSet.add((RegionInformation) regionInfo);
-}
-  }
-}
-  }
-}
+// Gather all RegionInformation into a flat set.
+regionInfoSet.addAll(resultList.stream().filter(Objects::nonNull)
+
.filter(Object[].class::isInstance).map(Object[].class::cast).flatMap(Arrays::stream)
+
.filter(RegionInformation.class::isInstance).map(RegionInformation.class::cast)
+.collect(Collectors.toSet()));
 
 Set regionNames = new TreeSet<>();
 
diff --git 
a/geode-core/src/test/java/org/apache/geode/management/internal/cli/HeadlessGfsh.java
 
b/geode-core/src/test/java/org/apache/geode/management/internal/cli/HeadlessGfsh.java
index 340712ca4f..97f600b658 100644
--- 
a/geode-core/src/test/java/org/apache/geode/management/internal/cli/HeadlessGfsh.java
+++ 
b/geode-core/src/test/java/org/apache/geode/management/internal/cli/HeadlessGfsh.java
@@ -121,7 +121,7 @@ public void handleExecutionResult(Object result, String 
sysout) {
   }
 
   public Object getResult() throws InterruptedException {
-// Dont wait for when some command calls gfsh.stop();
+// Don't wait for when some command calls gfsh.stop();
 if (shell.stopCalledThroughAPI)
   return null;
 try {
@@ -146,6 +146,10 @@ public void clear() {
 outputString = null;
   }
 
+  public void setTimeout(long timeout) {
+this.timeout = timeout;
+  }
+
   public void clearEvents() {
 queue.clear();
 outputString = null;
diff --git 
a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ListAndDescribeRegionDUnitTest.java
 
b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/DescribeRegionDUnitTest.java
similarity index 78%
rename from 
geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ListAndDescribeRegionDUnitTest.java
rename to 
geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/DescribeRegionDUnitTest.java
index f85816e645..8e223394cd 100644
--- 
a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ListAndDescribeRegionDUnitTest.java
+++ 
b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/DescribeRegionDUnitTest.java
@@ -59,7 +59,7 @@
 import org.apache.geode.test.junit.rules.GfshCommandRule;
 

[jira] [Commented] (GEODE-2676) RegionMBean statistics wrong on partitioned regions

2017-11-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-2676?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16259410#comment-16259410
 ] 

ASF GitHub Bot commented on GEODE-2676:
---

jinmeiliao closed pull request #1063: GEODE-2676: fix NPE with 
ShowMetricsCommand.
URL: https://github.com/apache/geode/pull/1063
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git 
a/geode-core/src/main/java/org/apache/geode/management/internal/beans/RegionMBeanBridge.java
 
b/geode-core/src/main/java/org/apache/geode/management/internal/beans/RegionMBeanBridge.java
index 480c5c0dcf..93da8b42e0 100644
--- 
a/geode-core/src/main/java/org/apache/geode/management/internal/beans/RegionMBeanBridge.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/internal/beans/RegionMBeanBridge.java
@@ -145,6 +145,13 @@ protected RegionMBeanBridge(Region region) {
 this.regAttrs = region.getAttributes();
 
 this.isStatisticsEnabled = regAttrs.getStatisticsEnabled();
+if (isStatisticsEnabled) {
+  try {
+region.getStatistics();
+  } catch (UnsupportedOperationException e) {
+this.isStatisticsEnabled = false;
+  }
+}
 
 this.regionAttributesData = 
RegionMBeanCompositeDataFactory.getRegionAttributesData(regAttrs);
 this.membershipAttributesData =
diff --git 
a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ShowMetricsCommandIntegrationTest.java
 
b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ShowMetricsCommandIntegrationTest.java
index b18af6ccbf..7bbad90a62 100644
--- 
a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ShowMetricsCommandIntegrationTest.java
+++ 
b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ShowMetricsCommandIntegrationTest.java
@@ -45,10 +45,10 @@
   @ClassRule
   public static ServerStarterRule server =
   new ServerStarterRule().withRegion(RegionShortcut.REPLICATE, REGION_NAME)
-  
.withName(MEMBER_NAME).withJMXManager().withEmbeddedLocator().withAutoStart();
+  .withName(MEMBER_NAME).withJMXManager().withAutoStart();
 
   @Rule
-  public GfshCommandRule gfsh = new GfshCommandRule();
+  public GfshCommandRule gfsh = new GfshCommandRule(server::getJmxPort, 
PortType.jmxManager);
 
   @Test
   public void everyCategoryHasAUseCase() throws Exception {
@@ -68,6 +68,7 @@ public void everyCategoryHasAUseCase() throws Exception {
 
   @Test
   public void commandFailsWhenNotConnected() throws Exception {
+gfsh.disconnect();
 gfsh.executeAndAssertThat("show metrics")
 .containsOutput("was found but is not currently available");
   }
@@ -80,9 +81,7 @@ public void getRegionMetricsShowsExactlyDefaultCategories() 
throws Exception {
 ShowMetricsInterceptor.getValidCategoriesAsStrings(true, true, false);
 // Blank lines are permitted for grouping.
 expectedCategories.add("");
-logger.info("Expecting categories: " + String.join(", ", 
expectedCategories));
 
-gfsh.connectAndVerify(server.getEmbeddedLocatorPort(), PortType.locator);
 gfsh.executeAndAssertThat(cmd).tableHasColumnOnlyWithValues("Category",
 expectedCategories.toArray(new String[0]));
   }
@@ -97,7 +96,6 @@ public void 
getSystemRegionMetricsShowsExactlyDefaultCategories() throws Excepti
 expectedCategories.add("");
 logger.info("Expecting categories: " + String.join(", ", 
expectedCategories));
 
-gfsh.connectAndVerify(server.getEmbeddedLocatorPort(), PortType.locator);
 gfsh.executeAndAssertThat(cmd).tableHasColumnOnlyWithValues("Category",
 expectedCategories.toArray(new String[0]));
   }
@@ -112,7 +110,6 @@ public void getMemberMetricsShowsExactlyDefaultCategories() 
throws Exception {
 expectedCategories.add("");
 logger.info("Expecting categories: " + String.join(", ", 
expectedCategories));
 
-gfsh.connectAndVerify(server.getEmbeddedLocatorPort(), PortType.locator);
 gfsh.executeAndAssertThat(cmd).tableHasColumnOnlyWithValues("Category",
 expectedCategories.toArray(new String[0]));
   }
@@ -127,7 +124,6 @@ public void 
getMemberWithPortMetricsShowsExactlyDefaultCategories() throws Excep
 expectedCategories.add("");
 logger.info("Expecting categories: " + String.join(", ", 
expectedCategories));
 
-gfsh.connectAndVerify(server.getEmbeddedLocatorPort(), PortType.locator);
 gfsh.executeAndAssertThat(cmd).tableHasColumnOnlyWithValues("Category",
 expectedCategories.toArray(new String[0]));
   }
@@ -142,7 +138,6 @@ public void getSystemMetricsShowsExactlyDefaultCategories() 
throws Exception {
 expectedCategories.add("");
 logger.info("Expecting 

[jira] [Commented] (GEODE-2676) RegionMBean statistics wrong on partitioned regions

2017-11-20 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-2676?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16259406#comment-16259406
 ] 

ASF subversion and git services commented on GEODE-2676:


Commit 3a3935f8d11a3c6b75815781f6cd551584613425 in geode's branch 
refs/heads/develop from [~jinmeiliao]
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=3a3935f ]

GEODE-2676: fix NPE with ShowMetricsCommand.


> RegionMBean statistics wrong on partitioned regions
> ---
>
> Key: GEODE-2676
> URL: https://issues.apache.org/jira/browse/GEODE-2676
> Project: Geode
>  Issue Type: Bug
>  Components: management
>Reporter: Fred Krone
>Priority: Minor
>  Labels: jmx
>
> RegionMBean attributes hitCount, hitRatio, missCount, lastAccessedTime, and 
> lastModifiedTime will always be 0 for an mbean that represents an partitioned 
> region.
> The gettors for these methods may call getStatistics() which on a PR always 
> throws UnsupportedOperationException. So this exception might even get 
> exposed to customers.
> The initialization of RegionMBeanBridge calls getStatisticsEnabled() which 
> returns true on a PartitionedRegion. This does have meaning on a PR but it 
> does not mean that getStatistics() is a supported operation. On a PR setting 
> statistics-enabled causes each region-entry to also keep track of its last 
> access time.
> It is true that if getStatisticsEnabled() is false then you should not call 
> getStatistics. But the opposite is not true. Since we currently have regions 
> that do not support getStatistics(), the code in RegionMBeanBridge should 
> catch UnsupportedOperationException and handle it. I would suggest that the 
> constructor be changed that initializes the "isStatisticsEnabled" field. 
> Instead of only calling getStatisticsEnabled() it should also call 
> getStatistics(). Something like this:
> {noformat}
> {
>   boolean useGetStatistics = regAttrs.getStatisticsEnabled();
>   if (useGetStatistics) {
> try {
>   region.getStatistics();
> } catch (UnsupportedOperationException ex) {
>   useGetStatistics = false;
> }
>   }
>   this.isStatisticsEnabled = useGetStatistics;
> }
> {noformat}
> That way in a future release if PRs are changed to support getStatistics this 
> code will start calling it without having a direct dependency on the 
> implementation of PartitionedRegion.
> https://issues.apache.org/jira/browse/GEODE-2685 is a request to support 
> getStatistics on PRs.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GEODE-3341) Refactor DiskStoreCommandsDUnitTest to use test rules

2017-11-20 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3341?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16259376#comment-16259376
 ] 

ASF GitHub Bot commented on GEODE-3341:
---

jdeppe-pivotal closed pull request #1062: GEODE-3341: Convert 
DiskStoreCommandsDUnitTest to use gfsh rules
URL: https://github.com/apache/geode/pull/1062
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DestroyDiskStoreCommand.java
 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DestroyDiskStoreCommand.java
index 2f24736fc8..fdf796f226 100644
--- 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DestroyDiskStoreCommand.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DestroyDiskStoreCommand.java
@@ -65,28 +65,19 @@ public Result destroyDiskStore(
 
   AtomicReference xmlEntity = new AtomicReference<>();
   for (CliFunctionResult result : results) {
-if (result.getThrowable() != null) {
-  tabularData.accumulate("Member", result.getMemberIdOrName());
-  tabularData.accumulate("Result", "ERROR: " + 
result.getThrowable().getClass().getName()
-  + ": " + result.getThrowable().getMessage());
-  accumulatedData = true;
-  tabularData.setStatus(Result.Status.ERROR);
-} else if (result.getMessage() != null) {
-  tabularData.accumulate("Member", result.getMemberIdOrName());
-  tabularData.accumulate("Result", result.getMessage());
-  accumulatedData = true;
-
+if (result.isSuccessful()) {
   if (xmlEntity.get() == null) {
 xmlEntity.set(result.getXmlEntity());
   }
+} else {
+  tabularData.setStatus(Result.Status.ERROR);
 }
-  }
-
-  if (!accumulatedData) {
-return ResultBuilder.createInfoResult("No matching disk stores 
found.");
+tabularData.accumulate("Member", result.getMemberIdOrName());
+tabularData.accumulate("Result", result.getMessage());
   }
 
   Result result = ResultBuilder.buildResult(tabularData);
+
   if (xmlEntity.get() != null) {
 persistClusterConfiguration(result,
 () -> getSharedConfiguration().deleteXmlEntity(xmlEntity.get(), 
groups));
diff --git 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DestroyDiskStoreFunction.java
 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DestroyDiskStoreFunction.java
index f617d48532..741a417a00 100644
--- 
a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DestroyDiskStoreFunction.java
+++ 
b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DestroyDiskStoreFunction.java
@@ -19,7 +19,7 @@
 import org.apache.geode.SystemFailure;
 import org.apache.geode.cache.CacheClosedException;
 import org.apache.geode.cache.DiskStore;
-import org.apache.geode.cache.execute.FunctionAdapter;
+import org.apache.geode.cache.execute.Function;
 import org.apache.geode.cache.execute.FunctionContext;
 import org.apache.geode.distributed.DistributedMember;
 import org.apache.geode.internal.InternalEntity;
@@ -33,18 +33,18 @@
  *
  * @since GemFire 8.0
  */
-public class DestroyDiskStoreFunction extends FunctionAdapter implements 
InternalEntity {
+public class DestroyDiskStoreFunction implements Function, 
InternalEntity {
   private static final Logger logger = LogService.getLogger();
 
   private static final long serialVersionUID = 1L;
 
   @Override
-  public void execute(FunctionContext context) {
+  public void execute(FunctionContext context) {
 // Declared here so that it's available when returning a Throwable
 String memberId = "";
 
 try {
-  final Object[] args = (Object[]) context.getArguments();
+  final Object[] args = context.getArguments();
   final String diskStoreName = (String) args[0];
 
   InternalCache cache = (InternalCache) context.getCache();
@@ -80,7 +80,6 @@ public void execute(FunctionContext context) {
 } catch (VirtualMachineError e) {
   SystemFailure.initiateFailure(e);
   throw e;
-
 } catch (Throwable th) {
   SystemFailure.checkFailure();
   logger.error("Could not destroy disk store: {}", th.getMessage(), th);
@@ -92,6 +91,6 @@ public void execute(FunctionContext context) {
 
   @Override
   public String getId() {
-return CreateDiskStoreFunction.class.getName();
+return DestroyDiskStoreFunction.class.getName();
   }
 }
diff --git 

[jira] [Commented] (GEODE-3341) Refactor DiskStoreCommandsDUnitTest to use test rules

2017-11-20 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3341?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16259377#comment-16259377
 ] 

ASF subversion and git services commented on GEODE-3341:


Commit 445b304670894a73cbe66a485539d8732d29a7c8 in geode's branch 
refs/heads/develop from [~jens.deppe]
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=445b304 ]

GEODE-3341: Convert DiskStoreCommandsDUnitTest to use gfsh rules (#1062)

* GEODE-3341: Convert DiskStoreCommandsDUnitTest to use gfsh rules

* GEODE-3341: PR review updates


> Refactor DiskStoreCommandsDUnitTest to use test rules
> -
>
> Key: GEODE-3341
> URL: https://issues.apache.org/jira/browse/GEODE-3341
> Project: Geode
>  Issue Type: Sub-task
>  Components: tests
>Affects Versions: 1.2.0
>Reporter: Emily Yeh
>Assignee: Jens Deppe
>
> {{DiskStoreCommandsDUnitTest}} is using {{CliCommandTestBase}}, which is a 
> deprecated class. It should be refactored to use more current test rules.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GEODE-3341) Refactor DiskStoreCommandsDUnitTest to use test rules

2017-11-20 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3341?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16259378#comment-16259378
 ] 

ASF subversion and git services commented on GEODE-3341:


Commit 445b304670894a73cbe66a485539d8732d29a7c8 in geode's branch 
refs/heads/develop from [~jens.deppe]
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=445b304 ]

GEODE-3341: Convert DiskStoreCommandsDUnitTest to use gfsh rules (#1062)

* GEODE-3341: Convert DiskStoreCommandsDUnitTest to use gfsh rules

* GEODE-3341: PR review updates


> Refactor DiskStoreCommandsDUnitTest to use test rules
> -
>
> Key: GEODE-3341
> URL: https://issues.apache.org/jira/browse/GEODE-3341
> Project: Geode
>  Issue Type: Sub-task
>  Components: tests
>Affects Versions: 1.2.0
>Reporter: Emily Yeh
>Assignee: Jens Deppe
>
> {{DiskStoreCommandsDUnitTest}} is using {{CliCommandTestBase}}, which is a 
> deprecated class. It should be refactored to use more current test rules.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GEODE-3341) Refactor DiskStoreCommandsDUnitTest to use test rules

2017-11-20 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/GEODE-3341?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16259379#comment-16259379
 ] 

ASF subversion and git services commented on GEODE-3341:


Commit 445b304670894a73cbe66a485539d8732d29a7c8 in geode's branch 
refs/heads/develop from [~jens.deppe]
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=445b304 ]

GEODE-3341: Convert DiskStoreCommandsDUnitTest to use gfsh rules (#1062)

* GEODE-3341: Convert DiskStoreCommandsDUnitTest to use gfsh rules

* GEODE-3341: PR review updates


> Refactor DiskStoreCommandsDUnitTest to use test rules
> -
>
> Key: GEODE-3341
> URL: https://issues.apache.org/jira/browse/GEODE-3341
> Project: Geode
>  Issue Type: Sub-task
>  Components: tests
>Affects Versions: 1.2.0
>Reporter: Emily Yeh
>Assignee: Jens Deppe
>
> {{DiskStoreCommandsDUnitTest}} is using {{CliCommandTestBase}}, which is a 
> deprecated class. It should be refactored to use more current test rules.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)