[jira] [Commented] (GEODE-3539) Add more test coverage for p2p commands
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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 SchuchardtDate: 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
[ 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 SchuchardtDate: 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
[ 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 SchuchardtDate: 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
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
[ 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
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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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(Regionregion) { 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
[ 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
[ 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
[jira] [Commented] (GEODE-3341) Refactor DiskStoreCommandsDUnitTest to use test rules
[ 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
[ 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
[ 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)