[jira] [Created] (GEODE-8202) Serial gw sender threads start when receivers share ip and port
Alberto Bustamante Reyes created GEODE-8202: --- Summary: Serial gw sender threads start when receivers share ip and port Key: GEODE-8202 URL: https://issues.apache.org/jira/browse/GEODE-8202 Project: Geode Issue Type: Improvement Reporter: Alberto Bustamante Reyes RFC: [https://cwiki.apache.org/confluence/display/GEODE/New+option+for+serial+gw+sender+dispatcher+threads+start|https://cwiki.apache.org/confluence/display/GEODE/New+option+for+serial+gw+sender+dispatcher+threads+start] -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-7591) potential hang
[ https://issues.apache.org/jira/browse/GEODE-7591?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17119296#comment-17119296 ] ASF GitHub Bot commented on GEODE-7591: --- jvarenina opened a new pull request #5182: URL: https://github.com/apache/geode/pull/5182 Added timeout after which it will be periodically checked whether distribution manager is disconnecting while waiting on the membership view installation to avoid hanging 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, check Concourse 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 to 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 > potential hang > -- > > Key: GEODE-7591 > URL: https://issues.apache.org/jira/browse/GEODE-7591 > Project: Geode > Issue Type: Improvement > Components: membership >Reporter: Bruce J Schuchardt >Assignee: Jakov Varenina >Priority: Major > > This method in ClusterDistributionManager waits for a new membership view to > be installed, but if the cache is being closed while waiting the method could > hang because it only checks for cache closure if the object it's waiting on > is notified. We should change the wait() to have a timeout so that the > `stopper` is polled periodically > {code:java} > void waitForViewInstallation(long id) throws InterruptedException { > if (id <= membershipViewIdAcknowledged) { > return; > } > synchronized (membershipViewIdGuard) { > while (membershipViewIdAcknowledged < id && > !stopper.isCancelInProgress()) { > if (logger.isDebugEnabled()) { > logger.debug("waiting for view {}. Current DM view processed by all > listeners is {}", id, > membershipViewIdAcknowledged); > } > membershipViewIdGuard.wait(); > } > } > } > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-8201) The internal redis data region name should begin with double underscore
[ https://issues.apache.org/jira/browse/GEODE-8201?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17119276#comment-17119276 ] ASF GitHub Bot commented on GEODE-8201: --- dschneider-pivotal commented on pull request #5181: URL: https://github.com/apache/geode/pull/5181#issuecomment-635765391 the GemFireDeadlockDetectorDUnitTest > testDistributedDeadlockWithDLock failure is a known issue This is an automated message from the Apache Git Service. To respond to the message, please log on to 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 > The internal redis data region name should begin with double underscore > --- > > Key: GEODE-8201 > URL: https://issues.apache.org/jira/browse/GEODE-8201 > Project: Geode > Issue Type: Bug > Components: redis >Reporter: Darrel Schneider >Assignee: Darrel Schneider >Priority: Major > > To prevent the internal name of the redis data region from conflicting with a > user's region name, the internal name should begin with "__". This is not > allowed for user region names so this will prevent the redis internal name > from conflicting with a user's region name. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-8171) javadoc for putAll need to have accurate exception
[ https://issues.apache.org/jira/browse/GEODE-8171?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17119178#comment-17119178 ] Geode Integration commented on GEODE-8171: -- Anilkumar Gingade added a comment in Pivotal Tracker: Changes are approved by docs, support and engineering. View this Pivotal Tracker story: https://www.pivotaltracker.com/story/show/172970377 > javadoc for putAll need to have accurate exception > --- > > Key: GEODE-8171 > URL: https://issues.apache.org/jira/browse/GEODE-8171 > Project: Geode > Issue Type: Improvement >Reporter: Xiaojian Zhou >Assignee: Xiaojian Zhou >Priority: Major > Labels: GeodeOperationAPI > Fix For: 1.14.0 > > > Both the javadocs and the user guide need a more accurate description of the > exceptions that can be thrown when an app calls putAll(). > Correct the javadocs to list all exceptions that may be thrown. > Add a code fragment example to the user guide (and to the javadocs, if > appropriate) that shows a best practice for an app to call putAll() and > handle exceptions. > Describe what might cause the exceptions and let users know how to adjust > cluster configuration mitigate the exceptions. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-7678) Partitioned Region clear operations must invoke cache level listeners
[ https://issues.apache.org/jira/browse/GEODE-7678?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17119176#comment-17119176 ] Geode Integration commented on GEODE-7678: -- Anilkumar Gingade added a comment in Pivotal Tracker: Acceptance: Tests are added. PR is approved. PR related .bts are run. View this Pivotal Tracker story: https://www.pivotaltracker.com/story/show/172704534 > Partitioned Region clear operations must invoke cache level listeners > - > > Key: GEODE-7678 > URL: https://issues.apache.org/jira/browse/GEODE-7678 > Project: Geode > Issue Type: Sub-task > Components: regions >Reporter: Nabarun Nag >Assignee: Anilkumar Gingade >Priority: Major > Labels: GeodeCommons, GeodeOperationAPI > > Clear operations are successful and CacheListener.afterRegionClear(), > CacheWriter.beforeRegionClear() are invoked. > > Acceptance : > * DUnit tests validating the above behavior. > * Test coverage to when a member departs in this scenario > * Test coverage to when a member restarts in this scenario > * Unit tests with complete code coverage for the newly written code. > -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-8100) Log Cluster Configuration information to system log
[ https://issues.apache.org/jira/browse/GEODE-8100?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17119175#comment-17119175 ] Geode Integration commented on GEODE-8100: -- Anilkumar Gingade added a comment in Pivotal Tracker: Verified by manual test... Example for REST: [info 2020/05/18 10:09:08.396 PDT tid=0x1] Management Request: POST[url=/v1/regions]; user=user; payload={"name":"products","type":"REPLICATE"} [info 2020/05/18 10:09:08.396 PDT tid=0x1] Management Response: Status=403; response={"statusCode":"UNAUTHORIZED","statusMessage":"User not authorized for DATA:MANAGE."} 10:11 [info 2020/05/18 10:09:08.288 PDT tid=0x1] Management Request: POST[url=/v1/regions]; user=dataManage; payload={"name":"products","type":"REPLICATE"} [info 2020/05/18 10:09:08.289 PDT tid=0x1] Management Response: Status=201; response={"statusCode":"OK","statusMessage":"Successfully updated configuration for cluster.","links":{"indexes":"http://localhost/v1/regions/products/indexes","self":"http://localhost/v1/regions/products","list":"http://localhost/v1/regions"}} View this Pivotal Tracker story: https://www.pivotaltracker.com/story/show/172748712 > Log Cluster Configuration information to system log > --- > > Key: GEODE-8100 > URL: https://issues.apache.org/jira/browse/GEODE-8100 > Project: Geode > Issue Type: Bug > Components: configuration >Reporter: Anilkumar Gingade >Assignee: Dave Barnes >Priority: Major > Labels: GeodeOperationAPI > Fix For: 1.13.0, 1.14.0 > > > All the changes made to the cluster configuration should be logger for > auditing purpose. Should help in knowing when and who modified the > configuration. Currently this information could be added in the Geode system > log. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-8200) Rebalance operations stuck in "IN_PROGRESS" state forever
[ https://issues.apache.org/jira/browse/GEODE-8200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17119174#comment-17119174 ] Geode Integration commented on GEODE-8200: -- A Pivotal Tracker story has been created for this Issue: https://www.pivotaltracker.com/story/show/173071677 > Rebalance operations stuck in "IN_PROGRESS" state forever > - > > Key: GEODE-8200 > URL: https://issues.apache.org/jira/browse/GEODE-8200 > Project: Geode > Issue Type: Bug > Components: management >Reporter: Aaron Lindsey >Priority: Major > Labels: GeodeOperationAPI > > We use the management REST API to call rebalance immediately before stopping > a server to limit the possibility of data loss. In a cluster with 3 locators, > 3 servers, and no regions, we noticed that sometimes the rebalance operation > never ends if one of the locators is restarting concurrently with the > rebalance operation. > More specifically, the scenario where we see this issue crop up is during an > automated "rolling restart" operation in a Kubernetes environment which > proceeds as follows: > * At most one locator and one server are restarting at any point in time > * Each locator/server waits until the previous locator/server is fully online > before restarting > * Immediately before stopping a server, a rebalance operation is performed > and the server is not stopped until the rebalance operation is completed > The impact of this issue is that the "rolling restart" operation will never > complete, because it cannot proceed with stopping a server until the > rebalance operation is completed. A human is then required to intervene and > manually trigger a rebalance and stop the server. This type of "rolling > restart" operation is triggered fairly often in Kubernetes — any time part of > the configuration of the locators or servers changes. > The following JSON is a sample response from the management REST API that > shows the rebalance operation stuck in "IN_PROGRESS". > {code} > { > "statusCode": "IN_PROGRESS", > "links": { > "self": > "http://geodecluster-sample-locator.default/management/v1/operations/rebalances/a47f23c8-02b3-443c-a367-636fd6921ea7";, > "list": > "http://geodecluster-sample-locator.default/management/v1/operations/rebalances"; > }, > "operationStart": "2020-05-27T22:38:30.619Z", > "operationId": "a47f23c8-02b3-443c-a367-636fd6921ea7", > "operation": { > "simulate": false > } > } > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (GEODE-8200) Rebalance operations stuck in "IN_PROGRESS" state forever
[ https://issues.apache.org/jira/browse/GEODE-8200?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Anilkumar Gingade updated GEODE-8200: - Labels: GeodeOperationAPI (was: ) > Rebalance operations stuck in "IN_PROGRESS" state forever > - > > Key: GEODE-8200 > URL: https://issues.apache.org/jira/browse/GEODE-8200 > Project: Geode > Issue Type: Bug > Components: management >Reporter: Aaron Lindsey >Priority: Major > Labels: GeodeOperationAPI > > We use the management REST API to call rebalance immediately before stopping > a server to limit the possibility of data loss. In a cluster with 3 locators, > 3 servers, and no regions, we noticed that sometimes the rebalance operation > never ends if one of the locators is restarting concurrently with the > rebalance operation. > More specifically, the scenario where we see this issue crop up is during an > automated "rolling restart" operation in a Kubernetes environment which > proceeds as follows: > * At most one locator and one server are restarting at any point in time > * Each locator/server waits until the previous locator/server is fully online > before restarting > * Immediately before stopping a server, a rebalance operation is performed > and the server is not stopped until the rebalance operation is completed > The impact of this issue is that the "rolling restart" operation will never > complete, because it cannot proceed with stopping a server until the > rebalance operation is completed. A human is then required to intervene and > manually trigger a rebalance and stop the server. This type of "rolling > restart" operation is triggered fairly often in Kubernetes — any time part of > the configuration of the locators or servers changes. > The following JSON is a sample response from the management REST API that > shows the rebalance operation stuck in "IN_PROGRESS". > {code} > { > "statusCode": "IN_PROGRESS", > "links": { > "self": > "http://geodecluster-sample-locator.default/management/v1/operations/rebalances/a47f23c8-02b3-443c-a367-636fd6921ea7";, > "list": > "http://geodecluster-sample-locator.default/management/v1/operations/rebalances"; > }, > "operationStart": "2020-05-27T22:38:30.619Z", > "operationId": "a47f23c8-02b3-443c-a367-636fd6921ea7", > "operation": { > "simulate": false > } > } > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-8127) redis function+delta may not always execute function on primary
[ https://issues.apache.org/jira/browse/GEODE-8127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17119172#comment-17119172 ] ASF GitHub Bot commented on GEODE-8127: --- dschneider-pivotal commented on pull request #5179: URL: https://github.com/apache/geode/pull/5179#issuecomment-635679767 It looks like the failures are not related to these changes and are not required so I think it would be okay to merge. This is an automated message from the Apache Git Service. To respond to the message, please log on to 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 > redis function+delta may not always execute function on primary > --- > > Key: GEODE-8127 > URL: https://issues.apache.org/jira/browse/GEODE-8127 > Project: Geode > Issue Type: Bug > Components: redis >Reporter: Darrel Schneider >Assignee: Jens Deppe >Priority: Major > > The redis use of regions depends on the code that will modify the region that > is storing redis data, to always execute on the primary. It thought it was > accomplishing this by marking the function as "optimizeForWrite=true" and by > routing the function to the node with the bucket using "withFilter(key)". > This works most of the time. But in some cases the function executes on a > redundant copy. It looks like what is happening is that at the time the > function is dispatched it has one idea of who the primary is and sends the > function to that node. But before it executes the primary moves from this > node to another that is doing redundancy recovery. Then when our function > finally does a "put" on the localDataSet it ends up being a remote operation > that is sent to the other node. > If our redis function could get a lock that prevents the bucket primary > status from changing (see BucketRegion doLockForPrimary) and then check to > see if we are the primary (if not throw an exception that causes the function > sender to retry (see BucketMovedException) otherwise execute the function > and at the end release the lock (see BucketRegion doUnlockForPrimary). > We could enable this with a new method added to Function (much like the > existing isHA and optimizeForWrite). This new method could be > executeOnPrimary and default to false (adding a default method to the > Function interface will not cause backwards compatibility issues unless a > current class that implements Function already had added a method named > "executeOnPrimary"). -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Issue Comment Deleted] (GEODE-8197) Embedded Pulse fails to start with custom log4j2.xml
[ https://issues.apache.org/jira/browse/GEODE-8197?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kirk Lund updated GEODE-8197: - Comment: was deleted (was: So far, I've been able to fix this problem in my local repo by adding log4j-web jar to the Pulse web app. I'll file a PR after I write an acceptance test.) > Embedded Pulse fails to start with custom log4j2.xml > > > Key: GEODE-8197 > URL: https://issues.apache.org/jira/browse/GEODE-8197 > Project: Geode > Issue Type: Bug > Components: logging, pulse >Reporter: Kirk Lund >Assignee: Kirk Lund >Priority: Major > Labels: GeodeOperationAPI > > Starting a Locator with a custom log4j2.xml referencing Geode appenders or > converters fails to correctly start embedded Pulse web application. > {noformat} > [info 2020/05/28 10:51:51.954 PDT tid=1] Adding webapp /pulse > 2020-05-28 10:51:53,328 main ERROR Unable to invoke factory method in class > org.apache.geode.alerting.log4j.internal.impl.AlertAppender for element > GeodeAlert: java.lang.IllegalStateException: No factory method found for > class org.apache.geode.alerting.log4j.internal.impl.AlertAppender > java.lang.IllegalStateException: No factory method found for class > org.apache.geode.alerting.log4j.internal.impl.AlertAppender > at > org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.findFactoryMethod(PluginBuilder.java:234) > at > org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:134) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1002) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:942) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:934) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:552) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:241) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:288) > at > org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:618) > at > org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:691) > at > org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:708) > at > org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:263) > at > org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:153) > at > org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45) > at org.apache.logging.log4j.LogManager.getContext(LogManager.java:194) > at > org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:138) > at > org.apache.logging.log4j.jcl.LogAdapter.getContext(LogAdapter.java:39) > at > org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:48) > at > org.apache.logging.log4j.jcl.LogFactoryImpl.getInstance(LogFactoryImpl.java:40) > at > org.apache.logging.log4j.jcl.LogFactoryImpl.getInstance(LogFactoryImpl.java:55) > at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:655) > at > org.springframework.web.filter.GenericFilterBean.(GenericFilterBean.java:86) > at > org.springframework.web.filter.DelegatingFilterProxy.(DelegatingFilterProxy.java:107) > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at java.lang.reflect.Constructor.newInstance(Constructor.java:423) > at > org.eclipse.jetty.server.handler.ContextHandler$Context.createInstance(ContextHandler.java:2520) > at > org.eclipse.jetty.servlet.ServletContextHandler$Context.createFilter(ServletContextHandler.java:1284) > at > org.eclipse.jetty.servlet.FilterHolder.initialize(FilterHolder.java:118) > at > org.eclipse.jetty.servlet.ServletHandler.lambda$initialize$0(ServletHandler.java:751) > at > java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) > at > java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:742) > at > java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:742) > at > java.util.stream.ReferencePipeline$Head.forEach(Refer
[jira] [Resolved] (GEODE-8068) Revert GEODE-8033 and GEODE-8044
[ https://issues.apache.org/jira/browse/GEODE-8068?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Dave Barnes resolved GEODE-8068. Fix Version/s: 1.13.0 Resolution: Done Reversion completed, so this ticket (GEODE-8068) is closed, and the two tickets mentioned in the title (GEODE-8033 AND GEODE-8044) are reopened. > Revert GEODE-8033 and GEODE-8044 > > > Key: GEODE-8068 > URL: https://issues.apache.org/jira/browse/GEODE-8068 > Project: Geode > Issue Type: New Feature >Reporter: Patrick Johnsn >Priority: Major > Fix For: 1.13.0 > > -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-8201) The internal redis data region name should begin with double underscore
[ https://issues.apache.org/jira/browse/GEODE-8201?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17119157#comment-17119157 ] ASF GitHub Bot commented on GEODE-8201: --- dschneider-pivotal opened a new pull request #5181: URL: https://github.com/apache/geode/pull/5181 The RedisData region name now starts with "__". Also it now always tries to create the region and will fail if it already exists. 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, check Concourse 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 to 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 > The internal redis data region name should begin with double underscore > --- > > Key: GEODE-8201 > URL: https://issues.apache.org/jira/browse/GEODE-8201 > Project: Geode > Issue Type: Bug > Components: redis >Reporter: Darrel Schneider >Assignee: Darrel Schneider >Priority: Major > > To prevent the internal name of the redis data region from conflicting with a > user's region name, the internal name should begin with "__". This is not > allowed for user region names so this will prevent the redis internal name > from conflicting with a user's region name. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Assigned] (GEODE-8201) The internal redis data region name should begin with double underscore
[ https://issues.apache.org/jira/browse/GEODE-8201?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Darrel Schneider reassigned GEODE-8201: --- Assignee: Darrel Schneider > The internal redis data region name should begin with double underscore > --- > > Key: GEODE-8201 > URL: https://issues.apache.org/jira/browse/GEODE-8201 > Project: Geode > Issue Type: Bug > Components: redis >Reporter: Darrel Schneider >Assignee: Darrel Schneider >Priority: Major > > To prevent the internal name of the redis data region from conflicting with a > user's region name, the internal name should begin with "__". This is not > allowed for user region names so this will prevent the redis internal name > from conflicting with a user's region name. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (GEODE-8201) The internal redis data region name should begin with double underscore
Darrel Schneider created GEODE-8201: --- Summary: The internal redis data region name should begin with double underscore Key: GEODE-8201 URL: https://issues.apache.org/jira/browse/GEODE-8201 Project: Geode Issue Type: Bug Components: redis Reporter: Darrel Schneider To prevent the internal name of the redis data region from conflicting with a user's region name, the internal name should begin with "__". This is not allowed for user region names so this will prevent the redis internal name from conflicting with a user's region name. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Assigned] (GEODE-8127) redis function+delta may not always execute function on primary
[ https://issues.apache.org/jira/browse/GEODE-8127?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Darrel Schneider reassigned GEODE-8127: --- Assignee: Jens Deppe (was: Darrel Schneider) > redis function+delta may not always execute function on primary > --- > > Key: GEODE-8127 > URL: https://issues.apache.org/jira/browse/GEODE-8127 > Project: Geode > Issue Type: Bug > Components: redis >Reporter: Darrel Schneider >Assignee: Jens Deppe >Priority: Major > > The redis use of regions depends on the code that will modify the region that > is storing redis data, to always execute on the primary. It thought it was > accomplishing this by marking the function as "optimizeForWrite=true" and by > routing the function to the node with the bucket using "withFilter(key)". > This works most of the time. But in some cases the function executes on a > redundant copy. It looks like what is happening is that at the time the > function is dispatched it has one idea of who the primary is and sends the > function to that node. But before it executes the primary moves from this > node to another that is doing redundancy recovery. Then when our function > finally does a "put" on the localDataSet it ends up being a remote operation > that is sent to the other node. > If our redis function could get a lock that prevents the bucket primary > status from changing (see BucketRegion doLockForPrimary) and then check to > see if we are the primary (if not throw an exception that causes the function > sender to retry (see BucketMovedException) otherwise execute the function > and at the end release the lock (see BucketRegion doUnlockForPrimary). > We could enable this with a new method added to Function (much like the > existing isHA and optimizeForWrite). This new method could be > executeOnPrimary and default to false (adding a default method to the > Function interface will not cause backwards compatibility issues unless a > current class that implements Function already had added a method named > "executeOnPrimary"). -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Resolved] (GEODE-8166) Change redis expiration commands to use function+delta
[ https://issues.apache.org/jira/browse/GEODE-8166?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Darrel Schneider resolved GEODE-8166. - Fix Version/s: 1.14.0 Resolution: Fixed > Change redis expiration commands to use function+delta > -- > > Key: GEODE-8166 > URL: https://issues.apache.org/jira/browse/GEODE-8166 > Project: Geode > Issue Type: Improvement > Components: redis >Reporter: Darrel Schneider >Assignee: Darrel Schneider >Priority: Major > Fix For: 1.14.0 > > > The redis expiration commands (expire, pexpire, expireat, pexpireat, ttl, > pttl, and persist) need to be reimplemented to use the new function+delta > data model. They should also be careful to work correctly in a multi-node > cluster if one of the servers die. > -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-8166) Change redis expiration commands to use function+delta
[ https://issues.apache.org/jira/browse/GEODE-8166?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17119132#comment-17119132 ] ASF GitHub Bot commented on GEODE-8166: --- dschneider-pivotal merged pull request #5174: URL: https://github.com/apache/geode/pull/5174 This is an automated message from the Apache Git Service. To respond to the message, please log on to 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 > Change redis expiration commands to use function+delta > -- > > Key: GEODE-8166 > URL: https://issues.apache.org/jira/browse/GEODE-8166 > Project: Geode > Issue Type: Improvement > Components: redis >Reporter: Darrel Schneider >Assignee: Darrel Schneider >Priority: Major > > The redis expiration commands (expire, pexpire, expireat, pexpireat, ttl, > pttl, and persist) need to be reimplemented to use the new function+delta > data model. They should also be careful to work correctly in a multi-node > cluster if one of the servers die. > -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-8166) Change redis expiration commands to use function+delta
[ https://issues.apache.org/jira/browse/GEODE-8166?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17119133#comment-17119133 ] ASF subversion and git services commented on GEODE-8166: Commit 2d85af4807dc00319b23805705736a444eb4bc20 in geode's branch refs/heads/develop from Darrel Schneider [ https://gitbox.apache.org/repos/asf?p=geode.git;h=2d85af4 ] GEODE-8166: reimplement redis expiration to use new data model (#5174) * Added timestamp field to RedisData and implemented serialization and delta for it. Both active and passive expiration have been implemented. * RedisHash, RedisSet, and RedisString now subclass AbstractRedisData * type command now uses function * getset, incr, decr, incrby, and decrby now uses function and is atomic > Change redis expiration commands to use function+delta > -- > > Key: GEODE-8166 > URL: https://issues.apache.org/jira/browse/GEODE-8166 > Project: Geode > Issue Type: Improvement > Components: redis >Reporter: Darrel Schneider >Assignee: Darrel Schneider >Priority: Major > > The redis expiration commands (expire, pexpire, expireat, pexpireat, ttl, > pttl, and persist) need to be reimplemented to use the new function+delta > data model. They should also be careful to work correctly in a multi-node > cluster if one of the servers die. > -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-8199) optimize ByteArrayWrapper serialization and memory usage
[ https://issues.apache.org/jira/browse/GEODE-8199?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17119129#comment-17119129 ] ASF GitHub Bot commented on GEODE-8199: --- dschneider-pivotal opened a new pull request #5180: URL: https://github.com/apache/geode/pull/5180 ByteArrayWrapper now implements DataSerializableFixedID which should save us ~40 bytes each time it is serialized. ByteArrayWrapper no longer caches its "hash" and "string" form which will cut down its memory overhead by over 70%. When we convert a sequence of bytes to a String, the Coder no longer calls "intern" which will also save some memory and time. 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, check Concourse 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 to 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 > optimize ByteArrayWrapper serialization and memory usage > > > Key: GEODE-8199 > URL: https://issues.apache.org/jira/browse/GEODE-8199 > Project: Geode > Issue Type: Improvement > Components: redis >Reporter: Darrel Schneider >Assignee: Darrel Schneider >Priority: Major > > ByteArrayWrapper is currently DataSerializable but it would be even better to > make it DataSerializableFixedID. > Also toString on it should not call String.intern and the string form should > not be kept in memory since that will double the memory footprint of each > ByteArrayWrapper instance. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-6070) CI Failure: ShutdownCommandOverHttpDUnitTest > testShutdownAll
[ https://issues.apache.org/jira/browse/GEODE-6070?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17119126#comment-17119126 ] ASF GitHub Bot commented on GEODE-6070: --- jchen21 commented on a change in pull request #5162: URL: https://github.com/apache/geode/pull/5162#discussion_r432157888 ## File path: geode-web/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/ShutdownCommandOverHttpDUnitTest.java ## @@ -96,48 +93,61 @@ public void setup() throws Exception { locatorString = "localhost[" + locatorPort + "]"; -locator.invoke( -() -> startLocator(locatorDir, locatorPort, locatorJmxPort, locatorHttpPort)); +locator.invoke(() -> startLocator(locatorDir, locatorPort, locatorJmxPort, locatorHttpPort)); server1.invoke(() -> startServer(SERVER1_NAME, server1Dir, locatorString)); server2.invoke(() -> startServer(SERVER2_NAME, server2Dir, locatorString)); gfsh.connectAndVerify(locatorHttpPort, PortType.http); + +addIgnoredException(DistributedSystemDisconnectedException.class); } @Test public void testShutdownServers() { String command = "shutdown"; - gfsh.executeAndAssertThat(command).statusIsSuccess().containsOutput("Shutdown is triggered"); +gfsh.executeAndAssertThat(command) +.statusIsSuccess() +.containsOutput("Shutdown is triggered"); for (VM vm : toArray(server1, server2)) { vm.invoke(() -> verifyNotConnected(SERVER_LAUNCHER.get().getCache())); } -gfsh.executeAndAssertThat("list members").statusIsSuccess(); +gfsh.executeAndAssertThat("list members") +.statusIsSuccess(); + assertThat(gfsh.getGfshOutput()).contains("locator"); } @Test public void testShutdownAll() { String command = "shutdown --include-locators=true"; - gfsh.executeAndAssertThat(command).statusIsSuccess().containsOutput("Shutdown is triggered"); +gfsh.executeAndAssertThat(command) +.statusIsSuccess() +.containsOutput("Shutdown is triggered"); + server1.invoke(() -> verifyNotConnected(SERVER_LAUNCHER.get().getCache())); server2.invoke(() -> verifyNotConnected(SERVER_LAUNCHER.get().getCache())); locator.invoke(() -> verifyNotConnected(LOCATOR_LAUNCHER.get().getCache())); } private void verifyNotConnected(Cache cache) { -await().untilAsserted(() -> assertThat(cache.getDistributedSystem().isConnected()).isFalse()); +await().untilAsserted(() -> { + assertThat(cache.getDistributedSystem().isConnected()) + .as("cache.getDistributedSystem().isConnected()") Review comment: Thank you for the explanation and examples! This is an automated message from the Apache Git Service. To respond to the message, please log on to 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: ShutdownCommandOverHttpDUnitTest > testShutdownAll > -- > > Key: GEODE-6070 > URL: https://issues.apache.org/jira/browse/GEODE-6070 > Project: Geode > Issue Type: Bug >Affects Versions: 1.12.0 >Reporter: Helena Bales >Assignee: Kirk Lund >Priority: Major > Labels: GeodeCommons, flaky > Time Spent: 20m > Remaining Estimate: 0h > > Failed with stacktrace: > {noformat} > org.apache.geode.management.internal.cli.commands.ShutdownCommandOverHttpDUnitTest > > testShutdownAll FAILED > java.lang.AssertionError: Suspicious strings were written to the log > during this run. > Fix the strings or use IgnoredException.addIgnoredException to ignore. > --- > Found suspect string in log4j at line 302 > org.apache.geode.distributed.DistributedSystemDisconnectedException: > Distribution manager on 172.17.0.3(server-1:496):41002 started at Thu Nov > 15 19:47:58 UTC 2018: Message distribution has terminated > {noformat} > Test results can be found here: > http://files.apachegeode-ci.info/builds/apache-develop-main/1.9.0-build.158/test-results/distributedTest/1542315851/classes/org.apache.geode.management.internal.cli.commands.ShutdownCommandOverHttpDUnitTest.html#testShutdownAll > > Test Artifacts can be found here: > http://files.apachegeode-ci.info/builds/apache-develop-main/1.9.0-build.158/test-artifacts/1542315851/distributedtestfiles-OpenJDK8-1.9.0-build.158.tgz -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-6070) CI Failure: ShutdownCommandOverHttpDUnitTest > testShutdownAll
[ https://issues.apache.org/jira/browse/GEODE-6070?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17119120#comment-17119120 ] ASF GitHub Bot commented on GEODE-6070: --- kirklund commented on a change in pull request #5162: URL: https://github.com/apache/geode/pull/5162#discussion_r432154931 ## File path: geode-web/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/ShutdownCommandOverHttpDUnitTest.java ## @@ -96,48 +93,61 @@ public void setup() throws Exception { locatorString = "localhost[" + locatorPort + "]"; -locator.invoke( -() -> startLocator(locatorDir, locatorPort, locatorJmxPort, locatorHttpPort)); +locator.invoke(() -> startLocator(locatorDir, locatorPort, locatorJmxPort, locatorHttpPort)); server1.invoke(() -> startServer(SERVER1_NAME, server1Dir, locatorString)); server2.invoke(() -> startServer(SERVER2_NAME, server2Dir, locatorString)); gfsh.connectAndVerify(locatorHttpPort, PortType.http); + +addIgnoredException(DistributedSystemDisconnectedException.class); } @Test public void testShutdownServers() { String command = "shutdown"; - gfsh.executeAndAssertThat(command).statusIsSuccess().containsOutput("Shutdown is triggered"); +gfsh.executeAndAssertThat(command) +.statusIsSuccess() +.containsOutput("Shutdown is triggered"); for (VM vm : toArray(server1, server2)) { vm.invoke(() -> verifyNotConnected(SERVER_LAUNCHER.get().getCache())); } -gfsh.executeAndAssertThat("list members").statusIsSuccess(); +gfsh.executeAndAssertThat("list members") +.statusIsSuccess(); + assertThat(gfsh.getGfshOutput()).contains("locator"); } @Test public void testShutdownAll() { String command = "shutdown --include-locators=true"; - gfsh.executeAndAssertThat(command).statusIsSuccess().containsOutput("Shutdown is triggered"); +gfsh.executeAndAssertThat(command) +.statusIsSuccess() +.containsOutput("Shutdown is triggered"); + server1.invoke(() -> verifyNotConnected(SERVER_LAUNCHER.get().getCache())); server2.invoke(() -> verifyNotConnected(SERVER_LAUNCHER.get().getCache())); locator.invoke(() -> verifyNotConnected(LOCATOR_LAUNCHER.get().getCache())); } private void verifyNotConnected(Cache cache) { -await().untilAsserted(() -> assertThat(cache.getDistributedSystem().isConnected()).isFalse()); +await().untilAsserted(() -> { + assertThat(cache.getDistributedSystem().isConnected()) + .as("cache.getDistributedSystem().isConnected()") Review comment: And this is the same assertion failure without `as` or `withFailMessage`: ``` org.junit.ComparisonFailure: Expected :false Actual :true at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at org.apache.geode.test.awaitility.WithFailMessageTest.foo(WithFailMessageTest.java:78) ``` This is an automated message from the Apache Git Service. To respond to the message, please log on to 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: ShutdownCommandOverHttpDUnitTest > testShutdownAll > -- > > Key: GEODE-6070 > URL: https://issues.apache.org/jira/browse/GEODE-6070 > Project: Geode > Issue Type: Bug >Affects Versions: 1.12.0 >Reporter: Helena Bales >Assignee: Kirk Lund >Priority: Major > Labels: GeodeCommons, flaky > Time Spent: 20m > Remaining Estimate: 0h > > Failed with stacktrace: > {noformat} > org.apache.geode.management.internal.cli.commands.ShutdownCommandOverHttpDUnitTest > > testShutdownAll FAILED > java.lang.AssertionError: Suspicious strings were written to the log > during this run. > Fix the strings or use IgnoredException.addIgnoredException to ignore. > --- > Found suspect string in log4j at line 302 > org.apache.geode.distributed.DistributedSystemDisconnectedException: > Distribution manager on 172.17.0.3(server-1:496):41002 started at Thu Nov > 15 19:47:58 UTC 2018: Message distribution has terminated > {noformat} > Test results can be found here: > http://files.apachegeode-ci.info/builds/apache-develop-main/1.9.0-build.158/test-results/distributedTest/1542315851/classes/org.apache.geode.m
[jira] [Commented] (GEODE-6070) CI Failure: ShutdownCommandOverHttpDUnitTest > testShutdownAll
[ https://issues.apache.org/jira/browse/GEODE-6070?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17119119#comment-17119119 ] ASF GitHub Bot commented on GEODE-6070: --- kirklund commented on a change in pull request #5162: URL: https://github.com/apache/geode/pull/5162#discussion_r432154188 ## File path: geode-web/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/ShutdownCommandOverHttpDUnitTest.java ## @@ -96,48 +93,61 @@ public void setup() throws Exception { locatorString = "localhost[" + locatorPort + "]"; -locator.invoke( -() -> startLocator(locatorDir, locatorPort, locatorJmxPort, locatorHttpPort)); +locator.invoke(() -> startLocator(locatorDir, locatorPort, locatorJmxPort, locatorHttpPort)); server1.invoke(() -> startServer(SERVER1_NAME, server1Dir, locatorString)); server2.invoke(() -> startServer(SERVER2_NAME, server2Dir, locatorString)); gfsh.connectAndVerify(locatorHttpPort, PortType.http); + +addIgnoredException(DistributedSystemDisconnectedException.class); } @Test public void testShutdownServers() { String command = "shutdown"; - gfsh.executeAndAssertThat(command).statusIsSuccess().containsOutput("Shutdown is triggered"); +gfsh.executeAndAssertThat(command) +.statusIsSuccess() +.containsOutput("Shutdown is triggered"); for (VM vm : toArray(server1, server2)) { vm.invoke(() -> verifyNotConnected(SERVER_LAUNCHER.get().getCache())); } -gfsh.executeAndAssertThat("list members").statusIsSuccess(); +gfsh.executeAndAssertThat("list members") +.statusIsSuccess(); + assertThat(gfsh.getGfshOutput()).contains("locator"); } @Test public void testShutdownAll() { String command = "shutdown --include-locators=true"; - gfsh.executeAndAssertThat(command).statusIsSuccess().containsOutput("Shutdown is triggered"); +gfsh.executeAndAssertThat(command) +.statusIsSuccess() +.containsOutput("Shutdown is triggered"); + server1.invoke(() -> verifyNotConnected(SERVER_LAUNCHER.get().getCache())); server2.invoke(() -> verifyNotConnected(SERVER_LAUNCHER.get().getCache())); locator.invoke(() -> verifyNotConnected(LOCATOR_LAUNCHER.get().getCache())); } private void verifyNotConnected(Cache cache) { -await().untilAsserted(() -> assertThat(cache.getDistributedSystem().isConnected()).isFalse()); +await().untilAsserted(() -> { + assertThat(cache.getDistributedSystem().isConnected()) + .as("cache.getDistributedSystem().isConnected()") Review comment: I use `as` to indicate an alias for the subject of the assertion, and `withFailMessage` as a full replacement of the failure message. `distributed system isConnected` is probably a better example of English for an `as` in this case. It's kind of interesting to compare the output when using `as` vs `withFailMessage`. Using `as`: ``` org.junit.ComparisonFailure: [cache.getDistributedSystem().isConnected()] Expected :false Actual :true at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at org.apache.geode.test.awaitility.WithFailMessageTest.foo(WithFailMessageTest.java:79) ``` Using `withFailMessage`: ``` java.lang.AssertionError: cache.getDistributedSystem().isConnected() at org.apache.geode.test.awaitility.WithFailMessageTest.foo(WithFailMessageTest.java:79) ``` So I only use `withFailMessage` if I want to actually suppress and replace the native assertion failure message. This is an automated message from the Apache Git Service. To respond to the message, please log on to 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: ShutdownCommandOverHttpDUnitTest > testShutdownAll > -- > > Key: GEODE-6070 > URL: https://issues.apache.org/jira/browse/GEODE-6070 > Project: Geode > Issue Type: Bug >Affects Versions: 1.12.0 >Reporter: Helena Bales >Assignee: Kirk Lund >Priority: Major > Labels: GeodeCommons, flaky > Time Spent: 20m > Remaining Estimate: 0h > > Failed with stacktrace: > {noformat} > org.apache.geode.management.internal.cli.commands.ShutdownCommandOverHttpDUnitTest > > testShutdownAll FAILED > java.lang.AssertionError: Suspicious strings
[jira] [Commented] (GEODE-6070) CI Failure: ShutdownCommandOverHttpDUnitTest > testShutdownAll
[ https://issues.apache.org/jira/browse/GEODE-6070?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17119118#comment-17119118 ] ASF GitHub Bot commented on GEODE-6070: --- kirklund commented on a change in pull request #5162: URL: https://github.com/apache/geode/pull/5162#discussion_r432154188 ## File path: geode-web/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/ShutdownCommandOverHttpDUnitTest.java ## @@ -96,48 +93,61 @@ public void setup() throws Exception { locatorString = "localhost[" + locatorPort + "]"; -locator.invoke( -() -> startLocator(locatorDir, locatorPort, locatorJmxPort, locatorHttpPort)); +locator.invoke(() -> startLocator(locatorDir, locatorPort, locatorJmxPort, locatorHttpPort)); server1.invoke(() -> startServer(SERVER1_NAME, server1Dir, locatorString)); server2.invoke(() -> startServer(SERVER2_NAME, server2Dir, locatorString)); gfsh.connectAndVerify(locatorHttpPort, PortType.http); + +addIgnoredException(DistributedSystemDisconnectedException.class); } @Test public void testShutdownServers() { String command = "shutdown"; - gfsh.executeAndAssertThat(command).statusIsSuccess().containsOutput("Shutdown is triggered"); +gfsh.executeAndAssertThat(command) +.statusIsSuccess() +.containsOutput("Shutdown is triggered"); for (VM vm : toArray(server1, server2)) { vm.invoke(() -> verifyNotConnected(SERVER_LAUNCHER.get().getCache())); } -gfsh.executeAndAssertThat("list members").statusIsSuccess(); +gfsh.executeAndAssertThat("list members") +.statusIsSuccess(); + assertThat(gfsh.getGfshOutput()).contains("locator"); } @Test public void testShutdownAll() { String command = "shutdown --include-locators=true"; - gfsh.executeAndAssertThat(command).statusIsSuccess().containsOutput("Shutdown is triggered"); +gfsh.executeAndAssertThat(command) +.statusIsSuccess() +.containsOutput("Shutdown is triggered"); + server1.invoke(() -> verifyNotConnected(SERVER_LAUNCHER.get().getCache())); server2.invoke(() -> verifyNotConnected(SERVER_LAUNCHER.get().getCache())); locator.invoke(() -> verifyNotConnected(LOCATOR_LAUNCHER.get().getCache())); } private void verifyNotConnected(Cache cache) { -await().untilAsserted(() -> assertThat(cache.getDistributedSystem().isConnected()).isFalse()); +await().untilAsserted(() -> { + assertThat(cache.getDistributedSystem().isConnected()) + .as("cache.getDistributedSystem().isConnected()") Review comment: I use `as` to indicate an alias for the subject of the assertion, and `withFailMessage` as a full replacement of the failure message. `distributed system isConnected` is probably a better example of English for an `as` in this case. It's kind of interesting to compare the output when using `as` vs `withFailMessage`. Using `as`: ``` org.junit.ComparisonFailure: [cache.getDistributedSystem().isConnected()] Expected :false Actual :true at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at org.apache.geode.test.awaitility.WithFailMessageTest.foo(WithFailMessageTest.java:79) ``` Using `withFailMessage`: java.lang.AssertionError: cache.getDistributedSystem().isConnected() at org.apache.geode.test.awaitility.WithFailMessageTest.foo(WithFailMessageTest.java:79) ``` So I only use `withFailMessage` if I want to actually suppress and replace the native assertion failure message. This is an automated message from the Apache Git Service. To respond to the message, please log on to 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: ShutdownCommandOverHttpDUnitTest > testShutdownAll > -- > > Key: GEODE-6070 > URL: https://issues.apache.org/jira/browse/GEODE-6070 > Project: Geode > Issue Type: Bug >Affects Versions: 1.12.0 >Reporter: Helena Bales >Assignee: Kirk Lund >Priority: Major > Labels: GeodeCommons, flaky > Time Spent: 20m > Remaining Estimate: 0h > > Failed with stacktrace: > {noformat} > org.apache.geode.management.internal.cli.commands.ShutdownCommandOverHttpDUnitTest > > testShutdownAll FAILED > java.lang.AssertionError: Suspicious strings were wr
[jira] [Resolved] (GEODE-8174) JCAManagedConnection throws ConcurrentModificationExceptions
[ https://issues.apache.org/jira/browse/GEODE-8174?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Owen Nichols resolved GEODE-8174. - Resolution: Fixed > JCAManagedConnection throws ConcurrentModificationExceptions > - > > Key: GEODE-8174 > URL: https://issues.apache.org/jira/browse/GEODE-8174 > Project: Geode > Issue Type: Bug > Components: transactions >Reporter: Udo Kohlmeyer >Assignee: Udo Kohlmeyer >Priority: Major > Fix For: 1.12.1, 1.13.0, 1.14.0 > > > {code:java} > Caused by: java.util.ConcurrentModificationException > at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:920) > ~[?:1.8.0] > at java.util.ArrayList$Itr.next(ArrayList.java:870) ~[?:1.8.0] > at > org.apache.geode.internal.ra.spi.JCAManagedConnection.onClose(JCAManagedConnection.java:212) > ~[geode-core-9.8.3.jar:?] > at > org.apache.geode.internal.ra.GFConnectionImpl.close(GFConnectionImpl.java:42) > ~[geode-core-9.8.3.jar:?] > at > org.springframework.data.gemfire.config.annotation.support.AbstractGemFireAsLastResourceAspectSupport$GemFireConnectionHolder.lambda$close$0(AbstractGemFireAsLastResourceAspectSupport.java:561) > ~[spring-data-gemfire-2.1.10.RELEASE.jar:2.1.10.RELEASE] > at > org.springframework.data.gemfire.config.annotation.support.AbstractGemFireAsLastResourceAspectSupport$GemFireConnectionHolder$$Lambda$970.1C3AB4F0.accept(Unknown > Source) ~[?:?] > at java.util.Optional.ifPresent(Optional.java:170) ~[?:1.8.0] > {code} > Under testing the JCAManagedConnection throws a CME when trying to close the > connection. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-8144) endpoint identification in servers is not working
[ https://issues.apache.org/jira/browse/GEODE-8144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17119101#comment-17119101 ] ASF subversion and git services commented on GEODE-8144: Commit 367e0a1557307ab6b8ba30c5a8b8c15324f6b552 in geode's branch refs/heads/support/1.13 from Bruce Schuchardt [ https://gitbox.apache.org/repos/asf?p=geode.git;h=367e0a1 ] GEODE-8144 another attempt to fix a failing test (#5172) one more test change (cherry picked from commit 42c11640c75ae87038e07cbde3c98a3ca6b36987) > endpoint identification in servers is not working > - > > Key: GEODE-8144 > URL: https://issues.apache.org/jira/browse/GEODE-8144 > Project: Geode > Issue Type: Bug > Components: membership, messaging >Reporter: Bruce J Schuchardt >Priority: Major > Fix For: 1.14.0 > > > *update 5/20/2020*: this needs to be ported to 1.13 so it's picked up ASAP by > TGF for VMs. > If you enable endpoint identification in a server the server will not start. > It will log exceptions like this: > > {noformat} > javax.net.ssl.SSLHandshakeException: General SSLEngine problem > at sun.security.ssl.Handshaker.checkThrown(Handshaker.java:1566) > at > sun.security.ssl.SSLEngineImpl.checkTaskThrown(SSLEngineImpl.java:545) > at > sun.security.ssl.SSLEngineImpl.writeAppRecord(SSLEngineImpl.java:1217) > at sun.security.ssl.SSLEngineImpl.wrap(SSLEngineImpl.java:1185) > at javax.net.ssl.SSLEngine.wrap(SSLEngine.java:471) > at > org.apache.geode.internal.net.NioSslEngine.handshake(NioSslEngine.java:158) > at > org.apache.geode.internal.net.SocketCreator.handshakeSSLSocketChannel(SocketCreator.java:597) > at > org.apache.geode.internal.tcp.Connection.createIoFilter(Connection.java:1731) > at org.apache.geode.internal.tcp.Connection.(Connection.java:1167) > at > org.apache.geode.internal.tcp.Connection.createSender(Connection.java:1004) > at > org.apache.geode.internal.tcp.ConnectionTable.handleNewPendingConnection(ConnectionTable.java:288) > at > org.apache.geode.internal.tcp.ConnectionTable.getSharedConnection(ConnectionTable.java:392) > at > org.apache.geode.internal.tcp.ConnectionTable.get(ConnectionTable.java:571) > at > org.apache.geode.internal.tcp.TCPConduit.getConnection(TCPConduit.java:800) > at > org.apache.geode.distributed.internal.direct.DirectChannel.getConnections(DirectChannel.java:451) > at > org.apache.geode.distributed.internal.direct.DirectChannel.sendToMany(DirectChannel.java:268) > at > org.apache.geode.distributed.internal.direct.DirectChannel.sendToOne(DirectChannel.java:182) > at > org.apache.geode.distributed.internal.direct.DirectChannel.send(DirectChannel.java:510) > at > org.apache.geode.distributed.internal.DistributionImpl.directChannelSend(DistributionImpl.java:346) > at > org.apache.geode.distributed.internal.DistributionImpl.send(DistributionImpl.java:291) > at > org.apache.geode.distributed.internal.ClusterDistributionManager.sendViaMembershipManager(ClusterDistributionManager.java:2058) > at > org.apache.geode.distributed.internal.ClusterDistributionManager.sendOutgoing(ClusterDistributionManager.java:1986) > at > org.apache.geode.distributed.internal.StartupOperation.sendStartupMessage(StartupOperation.java:74) > at > org.apache.geode.distributed.internal.ClusterDistributionManager.sendStartupMessage(ClusterDistributionManager.java:1623) > at > org.apache.geode.distributed.internal.ClusterDistributionManager.create(ClusterDistributionManager.java:361) > at > org.apache.geode.distributed.internal.InternalDistributedSystem.initialize(InternalDistributedSystem.java:779) > at > org.apache.geode.distributed.internal.InternalDistributedSystem.access$200(InternalDistributedSystem.java:135) > at > org.apache.geode.distributed.internal.InternalDistributedSystem$Builder.build(InternalDistributedSystem.java:3033) > at > org.apache.geode.distributed.internal.InternalDistributedSystem.connectInternal(InternalDistributedSystem.java:290) > at > org.apache.geode.distributed.internal.InternalDistributedSystem.connectInternal(InternalDistributedSystem.java:216) > at > org.apache.geode.distributed.DistributedSystem.connect(DistributedSystem.java:159) > at src.EntryConsumer.initialize(EntryConsumer.java:69) > at src.EntryConsumer.main(EntryConsumer.java:340) > Caused by: javax.net.ssl.SSLHandshakeException: General SSLEngine problem > at sun.security.ssl.Alerts.getSSLException(Alerts.java:198) > at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1729) > at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:333) >
[jira] [Created] (GEODE-8200) Rebalance operations stuck in "IN_PROGRESS" state forever
Aaron Lindsey created GEODE-8200: Summary: Rebalance operations stuck in "IN_PROGRESS" state forever Key: GEODE-8200 URL: https://issues.apache.org/jira/browse/GEODE-8200 Project: Geode Issue Type: Bug Components: management Reporter: Aaron Lindsey We use the management REST API to call rebalance immediately before stopping a server to limit the possibility of data loss. In a cluster with 3 locators, 3 servers, and no regions, we noticed that sometimes the rebalance operation never ends if one of the locators is restarting concurrently with the rebalance operation. More specifically, the scenario where we see this issue crop up is during an automated "rolling restart" operation in a Kubernetes environment which proceeds as follows: * At most one locator and one server are restarting at any point in time * Each locator/server waits until the previous locator/server is fully online before restarting * Immediately before stopping a server, a rebalance operation is performed and the server is not stopped until the rebalance operation is completed The impact of this issue is that the "rolling restart" operation will never complete, because it cannot proceed with stopping a server until the rebalance operation is completed. A human is then required to intervene and manually trigger a rebalance and stop the server. This type of "rolling restart" operation is triggered fairly often in Kubernetes — any time part of the configuration of the locators or servers changes. The following JSON is a sample response from the management REST API that shows the rebalance operation stuck in "IN_PROGRESS". {code} { "statusCode": "IN_PROGRESS", "links": { "self": "http://geodecluster-sample-locator.default/management/v1/operations/rebalances/a47f23c8-02b3-443c-a367-636fd6921ea7";, "list": "http://geodecluster-sample-locator.default/management/v1/operations/rebalances"; }, "operationStart": "2020-05-27T22:38:30.619Z", "operationId": "a47f23c8-02b3-443c-a367-636fd6921ea7", "operation": { "simulate": false } } {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Assigned] (GEODE-8199) optimize ByteArrayWrapper serialization and memory usage
[ https://issues.apache.org/jira/browse/GEODE-8199?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Darrel Schneider reassigned GEODE-8199: --- Assignee: Darrel Schneider > optimize ByteArrayWrapper serialization and memory usage > > > Key: GEODE-8199 > URL: https://issues.apache.org/jira/browse/GEODE-8199 > Project: Geode > Issue Type: Improvement > Components: redis >Reporter: Darrel Schneider >Assignee: Darrel Schneider >Priority: Major > > ByteArrayWrapper is currently DataSerializable but it would be even better to > make it DataSerializableFixedID. > Also toString on it should not call String.intern and the string form should > not be kept in memory since that will double the memory footprint of each > ByteArrayWrapper instance. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (GEODE-8199) optimize ByteArrayWrapper serialization and memory usage
Darrel Schneider created GEODE-8199: --- Summary: optimize ByteArrayWrapper serialization and memory usage Key: GEODE-8199 URL: https://issues.apache.org/jira/browse/GEODE-8199 Project: Geode Issue Type: Improvement Components: redis Reporter: Darrel Schneider ByteArrayWrapper is currently DataSerializable but it would be even better to make it DataSerializableFixedID. Also toString on it should not call String.intern and the string form should not be kept in memory since that will double the memory footprint of each ByteArrayWrapper instance. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-8144) endpoint identification in servers is not working
[ https://issues.apache.org/jira/browse/GEODE-8144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17119004#comment-17119004 ] ASF subversion and git services commented on GEODE-8144: Commit 207e3ee0c3aae704216bd0e9ec1275606b9116a2 in geode's branch refs/heads/support/1.13 from Bruce Schuchardt [ https://gitbox.apache.org/repos/asf?p=geode.git;h=207e3ee ] GEODE-8144: endpoint identification in servers is not working (#5131) * GEODE-8144: endpoint identification in servers is not working Set the SNI server-name field in SSL parameters for p2p communications, allowing endpoint identification to work properly. I modified one of the SNI haproxy tests to have keystores with the proper subject-alternative-names for p2p communications in the docker containers and for client/server off-platform communications. I used Sai's keystore/truststore construction CertificateMaterial/CertStores classes to generate the stores... .sanDnsName("geode") // for inside the docker container .sanDnsName("localhost") // for inside the docker container .sanIpAddress(InetAddress.getByName("0.0.0.0")) // for inside the docker container .sanDnsName(certName) // for client endpoint validation (locator-maeve for instance) * modified SocketCreator to look for a hostname if one is not present and endpoint verification is enabled This fixes some problems when running in docker containers * removed test shell script * sanction used of getCanonicalHostName() in SocketCreator (cherry picked from commit b22df8cf0f11b73237dd88dc1de9217f5f7cc8c3) > endpoint identification in servers is not working > - > > Key: GEODE-8144 > URL: https://issues.apache.org/jira/browse/GEODE-8144 > Project: Geode > Issue Type: Bug > Components: membership, messaging >Reporter: Bruce J Schuchardt >Priority: Major > Fix For: 1.14.0 > > > *update 5/20/2020*: this needs to be ported to 1.13 so it's picked up ASAP by > TGF for VMs. > If you enable endpoint identification in a server the server will not start. > It will log exceptions like this: > > {noformat} > javax.net.ssl.SSLHandshakeException: General SSLEngine problem > at sun.security.ssl.Handshaker.checkThrown(Handshaker.java:1566) > at > sun.security.ssl.SSLEngineImpl.checkTaskThrown(SSLEngineImpl.java:545) > at > sun.security.ssl.SSLEngineImpl.writeAppRecord(SSLEngineImpl.java:1217) > at sun.security.ssl.SSLEngineImpl.wrap(SSLEngineImpl.java:1185) > at javax.net.ssl.SSLEngine.wrap(SSLEngine.java:471) > at > org.apache.geode.internal.net.NioSslEngine.handshake(NioSslEngine.java:158) > at > org.apache.geode.internal.net.SocketCreator.handshakeSSLSocketChannel(SocketCreator.java:597) > at > org.apache.geode.internal.tcp.Connection.createIoFilter(Connection.java:1731) > at org.apache.geode.internal.tcp.Connection.(Connection.java:1167) > at > org.apache.geode.internal.tcp.Connection.createSender(Connection.java:1004) > at > org.apache.geode.internal.tcp.ConnectionTable.handleNewPendingConnection(ConnectionTable.java:288) > at > org.apache.geode.internal.tcp.ConnectionTable.getSharedConnection(ConnectionTable.java:392) > at > org.apache.geode.internal.tcp.ConnectionTable.get(ConnectionTable.java:571) > at > org.apache.geode.internal.tcp.TCPConduit.getConnection(TCPConduit.java:800) > at > org.apache.geode.distributed.internal.direct.DirectChannel.getConnections(DirectChannel.java:451) > at > org.apache.geode.distributed.internal.direct.DirectChannel.sendToMany(DirectChannel.java:268) > at > org.apache.geode.distributed.internal.direct.DirectChannel.sendToOne(DirectChannel.java:182) > at > org.apache.geode.distributed.internal.direct.DirectChannel.send(DirectChannel.java:510) > at > org.apache.geode.distributed.internal.DistributionImpl.directChannelSend(DistributionImpl.java:346) > at > org.apache.geode.distributed.internal.DistributionImpl.send(DistributionImpl.java:291) > at > org.apache.geode.distributed.internal.ClusterDistributionManager.sendViaMembershipManager(ClusterDistributionManager.java:2058) > at > org.apache.geode.distributed.internal.ClusterDistributionManager.sendOutgoing(ClusterDistributionManager.java:1986) > at > org.apache.geode.distributed.internal.StartupOperation.sendStartupMessage(StartupOperation.java:74) > at > org.apache.geode.distributed.internal.ClusterDistributionManager.sendStartupMessage(ClusterDistributionManager.java:1623) > at > org.apache.geode.distributed.internal.ClusterDistributionManager.create(ClusterDistributionManager.java:361) > at > org.apache.geode.distributed.internal.InternalDistributedSystem.initialize(
[jira] [Commented] (GEODE-8179) gfsh query command returns incorrect results if '=' sign is missing for query option
[ https://issues.apache.org/jira/browse/GEODE-8179?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17119009#comment-17119009 ] ASF GitHub Bot commented on GEODE-8179: --- agingade commented on a change in pull request #5178: URL: https://github.com/apache/geode/pull/5178#discussion_r432044428 ## File path: geode-docs/tools_modules/gfsh/command-pages/query.html.md.erb ## @@ -42,11 +42,36 @@ query --query=value [--file=path/to/results/file] [--member=member-name] -| Name | Description | -|--|| -| ‑‑query | *Required.* The OQL string | -| ‑‑file | When specified, all query results are written to the specified file. An error is issued if the file already exists. | -| ‑‑member | Name/Id of the member on which to execute the query (as shown in the output of the gfsh `describe region` command, for example) | + + + + + + + +Name +Description + + + + +\-\-query +Required. The OQL string. + + +Note: It is important not to forget the `=` sign and follow the pattern `\-\-query=value`. `gfsh` automatically removes the `=` so if it is not introduced, the first `=` in the query (if any) will be removed changing the query statement. Review comment: Instead of updating the doc; my request will be fixing the issue. You mentioned that we can't upgrade, the "spring shell", is the reason for that is, it is not active anymore. Have we tried requesting change with spring-shell team... This is an automated message from the Apache Git Service. To respond to the message, please log on to 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 query command returns incorrect results if '=' sign is missing for query > option > > > Key: GEODE-8179 > URL: https://issues.apache.org/jira/browse/GEODE-8179 > Project: Geode > Issue Type: Bug > Components: gfsh >Reporter: Eric Shu >Assignee: Alberto Bustamante Reyes >Priority: Major > > gfsh returns correct result when "=" is there for the query option: > gfsh>query --query="Select ID from /portfolio where ID = 3" > Result : true > Limit : 100 > Rows : 1 > Result > -- > 3 > It returns wrong result when "=" is missing for the query option. > gfsh>query --query "Select ID from /portfolio where ID <= 3 " > Result : true > Limit : 100 > Rows : 3 > Result > -- > 0 > 1 > 2 > gfsh>query --query " Select ID from /portfolio where ID = 3 " > Result : false > Message : Query is invalid due to error : token: ID> > gfsh>query --query " Select ID from /portfolio where ID == 3 " > Result : true > Limit : 100 > Rows: 1 > Query Trace : Query Executed in 0.968059 ms; indexesUsed(0) > Result > -- > 3 > gfsh>query --query " Select ID from /portfolio where ID =<= 3 " > Result : true > Limit : 100 > Rows: 4 > Query Trace : Query Executed in 1.427194 ms; indexesUsed(0) > Result > -- > 0 > 1 > 2 > 3 > Seems that first '=' in the query string is discarded by gfsh. > Either fail the query if the query option'=' is missing or gfsh should return > correct result from the query string. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-8144) endpoint identification in servers is not working
[ https://issues.apache.org/jira/browse/GEODE-8144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17119007#comment-17119007 ] ASF subversion and git services commented on GEODE-8144: Commit bcc097a6dda38ab276720521ab0308cef7a4c1be in geode's branch refs/heads/support/1.13 from Bruce Schuchardt [ https://gitbox.apache.org/repos/asf?p=geode.git;h=bcc097a ] GEODE-8144 another attempt to fix a failing test (#5172) * modified SocketCreator to look for a hostname if one is not present and endpoint verification is enabled This fixes some problems when running in docker containers * removed test shell script * GEODE-8144 another attempt to fix a failing test The JMX tests in this test class use "localhost" to connect to a Manager. This is being transformed somehow into an IP numeric address and is failing endpoint verification. The test passes on my Windows machine and also passes on Mac and Ubuntu when I run it there. I'm adding the "localhost" IP address to the certificate to get past this. Another fix would be to change the Rule that's using "localhost" to use the real host name but that would affect a lot of other tests. Before I started messing with this test it was adding InetAddress.getLocalHost() as an IP address to the certificate so I don't think this is a big change to the original test. The test now uses LocalHostUtils.getLocalHost() to get an IP to add to the certificate, which is the correct "localhost" to use with Geode. (cherry picked from commit 42c11640c75ae87038e07cbde3c98a3ca6b36987) > endpoint identification in servers is not working > - > > Key: GEODE-8144 > URL: https://issues.apache.org/jira/browse/GEODE-8144 > Project: Geode > Issue Type: Bug > Components: membership, messaging >Reporter: Bruce J Schuchardt >Priority: Major > Fix For: 1.14.0 > > > *update 5/20/2020*: this needs to be ported to 1.13 so it's picked up ASAP by > TGF for VMs. > If you enable endpoint identification in a server the server will not start. > It will log exceptions like this: > > {noformat} > javax.net.ssl.SSLHandshakeException: General SSLEngine problem > at sun.security.ssl.Handshaker.checkThrown(Handshaker.java:1566) > at > sun.security.ssl.SSLEngineImpl.checkTaskThrown(SSLEngineImpl.java:545) > at > sun.security.ssl.SSLEngineImpl.writeAppRecord(SSLEngineImpl.java:1217) > at sun.security.ssl.SSLEngineImpl.wrap(SSLEngineImpl.java:1185) > at javax.net.ssl.SSLEngine.wrap(SSLEngine.java:471) > at > org.apache.geode.internal.net.NioSslEngine.handshake(NioSslEngine.java:158) > at > org.apache.geode.internal.net.SocketCreator.handshakeSSLSocketChannel(SocketCreator.java:597) > at > org.apache.geode.internal.tcp.Connection.createIoFilter(Connection.java:1731) > at org.apache.geode.internal.tcp.Connection.(Connection.java:1167) > at > org.apache.geode.internal.tcp.Connection.createSender(Connection.java:1004) > at > org.apache.geode.internal.tcp.ConnectionTable.handleNewPendingConnection(ConnectionTable.java:288) > at > org.apache.geode.internal.tcp.ConnectionTable.getSharedConnection(ConnectionTable.java:392) > at > org.apache.geode.internal.tcp.ConnectionTable.get(ConnectionTable.java:571) > at > org.apache.geode.internal.tcp.TCPConduit.getConnection(TCPConduit.java:800) > at > org.apache.geode.distributed.internal.direct.DirectChannel.getConnections(DirectChannel.java:451) > at > org.apache.geode.distributed.internal.direct.DirectChannel.sendToMany(DirectChannel.java:268) > at > org.apache.geode.distributed.internal.direct.DirectChannel.sendToOne(DirectChannel.java:182) > at > org.apache.geode.distributed.internal.direct.DirectChannel.send(DirectChannel.java:510) > at > org.apache.geode.distributed.internal.DistributionImpl.directChannelSend(DistributionImpl.java:346) > at > org.apache.geode.distributed.internal.DistributionImpl.send(DistributionImpl.java:291) > at > org.apache.geode.distributed.internal.ClusterDistributionManager.sendViaMembershipManager(ClusterDistributionManager.java:2058) > at > org.apache.geode.distributed.internal.ClusterDistributionManager.sendOutgoing(ClusterDistributionManager.java:1986) > at > org.apache.geode.distributed.internal.StartupOperation.sendStartupMessage(StartupOperation.java:74) > at > org.apache.geode.distributed.internal.ClusterDistributionManager.sendStartupMessage(ClusterDistributionManager.java:1623) > at > org.apache.geode.distributed.internal.ClusterDistributionManager.create(ClusterDistributionManager.java:361) > at > org.apache.geode.distributed.internal.InternalDistributedSystem.initialize(InternalDistributedSystem.java:779
[jira] [Commented] (GEODE-8144) endpoint identification in servers is not working
[ https://issues.apache.org/jira/browse/GEODE-8144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17119003#comment-17119003 ] ASF subversion and git services commented on GEODE-8144: Commit 207e3ee0c3aae704216bd0e9ec1275606b9116a2 in geode's branch refs/heads/support/1.13 from Bruce Schuchardt [ https://gitbox.apache.org/repos/asf?p=geode.git;h=207e3ee ] GEODE-8144: endpoint identification in servers is not working (#5131) * GEODE-8144: endpoint identification in servers is not working Set the SNI server-name field in SSL parameters for p2p communications, allowing endpoint identification to work properly. I modified one of the SNI haproxy tests to have keystores with the proper subject-alternative-names for p2p communications in the docker containers and for client/server off-platform communications. I used Sai's keystore/truststore construction CertificateMaterial/CertStores classes to generate the stores... .sanDnsName("geode") // for inside the docker container .sanDnsName("localhost") // for inside the docker container .sanIpAddress(InetAddress.getByName("0.0.0.0")) // for inside the docker container .sanDnsName(certName) // for client endpoint validation (locator-maeve for instance) * modified SocketCreator to look for a hostname if one is not present and endpoint verification is enabled This fixes some problems when running in docker containers * removed test shell script * sanction used of getCanonicalHostName() in SocketCreator (cherry picked from commit b22df8cf0f11b73237dd88dc1de9217f5f7cc8c3) > endpoint identification in servers is not working > - > > Key: GEODE-8144 > URL: https://issues.apache.org/jira/browse/GEODE-8144 > Project: Geode > Issue Type: Bug > Components: membership, messaging >Reporter: Bruce J Schuchardt >Priority: Major > Fix For: 1.14.0 > > > *update 5/20/2020*: this needs to be ported to 1.13 so it's picked up ASAP by > TGF for VMs. > If you enable endpoint identification in a server the server will not start. > It will log exceptions like this: > > {noformat} > javax.net.ssl.SSLHandshakeException: General SSLEngine problem > at sun.security.ssl.Handshaker.checkThrown(Handshaker.java:1566) > at > sun.security.ssl.SSLEngineImpl.checkTaskThrown(SSLEngineImpl.java:545) > at > sun.security.ssl.SSLEngineImpl.writeAppRecord(SSLEngineImpl.java:1217) > at sun.security.ssl.SSLEngineImpl.wrap(SSLEngineImpl.java:1185) > at javax.net.ssl.SSLEngine.wrap(SSLEngine.java:471) > at > org.apache.geode.internal.net.NioSslEngine.handshake(NioSslEngine.java:158) > at > org.apache.geode.internal.net.SocketCreator.handshakeSSLSocketChannel(SocketCreator.java:597) > at > org.apache.geode.internal.tcp.Connection.createIoFilter(Connection.java:1731) > at org.apache.geode.internal.tcp.Connection.(Connection.java:1167) > at > org.apache.geode.internal.tcp.Connection.createSender(Connection.java:1004) > at > org.apache.geode.internal.tcp.ConnectionTable.handleNewPendingConnection(ConnectionTable.java:288) > at > org.apache.geode.internal.tcp.ConnectionTable.getSharedConnection(ConnectionTable.java:392) > at > org.apache.geode.internal.tcp.ConnectionTable.get(ConnectionTable.java:571) > at > org.apache.geode.internal.tcp.TCPConduit.getConnection(TCPConduit.java:800) > at > org.apache.geode.distributed.internal.direct.DirectChannel.getConnections(DirectChannel.java:451) > at > org.apache.geode.distributed.internal.direct.DirectChannel.sendToMany(DirectChannel.java:268) > at > org.apache.geode.distributed.internal.direct.DirectChannel.sendToOne(DirectChannel.java:182) > at > org.apache.geode.distributed.internal.direct.DirectChannel.send(DirectChannel.java:510) > at > org.apache.geode.distributed.internal.DistributionImpl.directChannelSend(DistributionImpl.java:346) > at > org.apache.geode.distributed.internal.DistributionImpl.send(DistributionImpl.java:291) > at > org.apache.geode.distributed.internal.ClusterDistributionManager.sendViaMembershipManager(ClusterDistributionManager.java:2058) > at > org.apache.geode.distributed.internal.ClusterDistributionManager.sendOutgoing(ClusterDistributionManager.java:1986) > at > org.apache.geode.distributed.internal.StartupOperation.sendStartupMessage(StartupOperation.java:74) > at > org.apache.geode.distributed.internal.ClusterDistributionManager.sendStartupMessage(ClusterDistributionManager.java:1623) > at > org.apache.geode.distributed.internal.ClusterDistributionManager.create(ClusterDistributionManager.java:361) > at > org.apache.geode.distributed.internal.InternalDistributedSystem.initialize(
[jira] [Commented] (GEODE-8144) endpoint identification in servers is not working
[ https://issues.apache.org/jira/browse/GEODE-8144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17119006#comment-17119006 ] ASF subversion and git services commented on GEODE-8144: Commit bcc097a6dda38ab276720521ab0308cef7a4c1be in geode's branch refs/heads/support/1.13 from Bruce Schuchardt [ https://gitbox.apache.org/repos/asf?p=geode.git;h=bcc097a ] GEODE-8144 another attempt to fix a failing test (#5172) * modified SocketCreator to look for a hostname if one is not present and endpoint verification is enabled This fixes some problems when running in docker containers * removed test shell script * GEODE-8144 another attempt to fix a failing test The JMX tests in this test class use "localhost" to connect to a Manager. This is being transformed somehow into an IP numeric address and is failing endpoint verification. The test passes on my Windows machine and also passes on Mac and Ubuntu when I run it there. I'm adding the "localhost" IP address to the certificate to get past this. Another fix would be to change the Rule that's using "localhost" to use the real host name but that would affect a lot of other tests. Before I started messing with this test it was adding InetAddress.getLocalHost() as an IP address to the certificate so I don't think this is a big change to the original test. The test now uses LocalHostUtils.getLocalHost() to get an IP to add to the certificate, which is the correct "localhost" to use with Geode. (cherry picked from commit 42c11640c75ae87038e07cbde3c98a3ca6b36987) > endpoint identification in servers is not working > - > > Key: GEODE-8144 > URL: https://issues.apache.org/jira/browse/GEODE-8144 > Project: Geode > Issue Type: Bug > Components: membership, messaging >Reporter: Bruce J Schuchardt >Priority: Major > Fix For: 1.14.0 > > > *update 5/20/2020*: this needs to be ported to 1.13 so it's picked up ASAP by > TGF for VMs. > If you enable endpoint identification in a server the server will not start. > It will log exceptions like this: > > {noformat} > javax.net.ssl.SSLHandshakeException: General SSLEngine problem > at sun.security.ssl.Handshaker.checkThrown(Handshaker.java:1566) > at > sun.security.ssl.SSLEngineImpl.checkTaskThrown(SSLEngineImpl.java:545) > at > sun.security.ssl.SSLEngineImpl.writeAppRecord(SSLEngineImpl.java:1217) > at sun.security.ssl.SSLEngineImpl.wrap(SSLEngineImpl.java:1185) > at javax.net.ssl.SSLEngine.wrap(SSLEngine.java:471) > at > org.apache.geode.internal.net.NioSslEngine.handshake(NioSslEngine.java:158) > at > org.apache.geode.internal.net.SocketCreator.handshakeSSLSocketChannel(SocketCreator.java:597) > at > org.apache.geode.internal.tcp.Connection.createIoFilter(Connection.java:1731) > at org.apache.geode.internal.tcp.Connection.(Connection.java:1167) > at > org.apache.geode.internal.tcp.Connection.createSender(Connection.java:1004) > at > org.apache.geode.internal.tcp.ConnectionTable.handleNewPendingConnection(ConnectionTable.java:288) > at > org.apache.geode.internal.tcp.ConnectionTable.getSharedConnection(ConnectionTable.java:392) > at > org.apache.geode.internal.tcp.ConnectionTable.get(ConnectionTable.java:571) > at > org.apache.geode.internal.tcp.TCPConduit.getConnection(TCPConduit.java:800) > at > org.apache.geode.distributed.internal.direct.DirectChannel.getConnections(DirectChannel.java:451) > at > org.apache.geode.distributed.internal.direct.DirectChannel.sendToMany(DirectChannel.java:268) > at > org.apache.geode.distributed.internal.direct.DirectChannel.sendToOne(DirectChannel.java:182) > at > org.apache.geode.distributed.internal.direct.DirectChannel.send(DirectChannel.java:510) > at > org.apache.geode.distributed.internal.DistributionImpl.directChannelSend(DistributionImpl.java:346) > at > org.apache.geode.distributed.internal.DistributionImpl.send(DistributionImpl.java:291) > at > org.apache.geode.distributed.internal.ClusterDistributionManager.sendViaMembershipManager(ClusterDistributionManager.java:2058) > at > org.apache.geode.distributed.internal.ClusterDistributionManager.sendOutgoing(ClusterDistributionManager.java:1986) > at > org.apache.geode.distributed.internal.StartupOperation.sendStartupMessage(StartupOperation.java:74) > at > org.apache.geode.distributed.internal.ClusterDistributionManager.sendStartupMessage(ClusterDistributionManager.java:1623) > at > org.apache.geode.distributed.internal.ClusterDistributionManager.create(ClusterDistributionManager.java:361) > at > org.apache.geode.distributed.internal.InternalDistributedSystem.initialize(InternalDistributedSystem.java:779
[jira] [Commented] (GEODE-8127) redis function+delta may not always execute function on primary
[ https://issues.apache.org/jira/browse/GEODE-8127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118989#comment-17118989 ] ASF GitHub Bot commented on GEODE-8127: --- jhutchison opened a new pull request #5179: URL: https://github.com/apache/geode/pull/5179 flaky test ignored This reverts commit f243c4d99e1a223af0a3134d6a423b972195c507. 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, check Concourse 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 to 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 > redis function+delta may not always execute function on primary > --- > > Key: GEODE-8127 > URL: https://issues.apache.org/jira/browse/GEODE-8127 > Project: Geode > Issue Type: Bug > Components: redis >Reporter: Darrel Schneider >Assignee: Darrel Schneider >Priority: Major > > The redis use of regions depends on the code that will modify the region that > is storing redis data, to always execute on the primary. It thought it was > accomplishing this by marking the function as "optimizeForWrite=true" and by > routing the function to the node with the bucket using "withFilter(key)". > This works most of the time. But in some cases the function executes on a > redundant copy. It looks like what is happening is that at the time the > function is dispatched it has one idea of who the primary is and sends the > function to that node. But before it executes the primary moves from this > node to another that is doing redundancy recovery. Then when our function > finally does a "put" on the localDataSet it ends up being a remote operation > that is sent to the other node. > If our redis function could get a lock that prevents the bucket primary > status from changing (see BucketRegion doLockForPrimary) and then check to > see if we are the primary (if not throw an exception that causes the function > sender to retry (see BucketMovedException) otherwise execute the function > and at the end release the lock (see BucketRegion doUnlockForPrimary). > We could enable this with a new method added to Function (much like the > existing isHA and optimizeForWrite). This new method could be > executeOnPrimary and default to false (adding a default method to the > Function interface will not cause backwards compatibility issues unless a > current class that implements Function already had added a method named > "executeOnPrimary"). -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-8179) gfsh query command returns incorrect results if '=' sign is missing for query option
[ https://issues.apache.org/jira/browse/GEODE-8179?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118969#comment-17118969 ] ASF GitHub Bot commented on GEODE-8179: --- alb3rtobr opened a new pull request #5178: URL: https://github.com/apache/geode/pull/5178 @davebarnes97 please take a look. As we cannot upgrade `spring shell` version I agreed with @pivotal-eshu to add a note in the `--query` option. This is an automated message from the Apache Git Service. To respond to the message, please log on to 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 query command returns incorrect results if '=' sign is missing for query > option > > > Key: GEODE-8179 > URL: https://issues.apache.org/jira/browse/GEODE-8179 > Project: Geode > Issue Type: Bug > Components: gfsh >Reporter: Eric Shu >Assignee: Alberto Bustamante Reyes >Priority: Major > > gfsh returns correct result when "=" is there for the query option: > gfsh>query --query="Select ID from /portfolio where ID = 3" > Result : true > Limit : 100 > Rows : 1 > Result > -- > 3 > It returns wrong result when "=" is missing for the query option. > gfsh>query --query "Select ID from /portfolio where ID <= 3 " > Result : true > Limit : 100 > Rows : 3 > Result > -- > 0 > 1 > 2 > gfsh>query --query " Select ID from /portfolio where ID = 3 " > Result : false > Message : Query is invalid due to error : token: ID> > gfsh>query --query " Select ID from /portfolio where ID == 3 " > Result : true > Limit : 100 > Rows: 1 > Query Trace : Query Executed in 0.968059 ms; indexesUsed(0) > Result > -- > 3 > gfsh>query --query " Select ID from /portfolio where ID =<= 3 " > Result : true > Limit : 100 > Rows: 4 > Query Trace : Query Executed in 1.427194 ms; indexesUsed(0) > Result > -- > 0 > 1 > 2 > 3 > Seems that first '=' in the query string is discarded by gfsh. > Either fail the query if the query option'=' is missing or gfsh should return > correct result from the query string. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (GEODE-8198) Revise docs to better specify putAll() behavior
Karen Smoler Miller created GEODE-8198: -- Summary: Revise docs to better specify putAll() behavior Key: GEODE-8198 URL: https://issues.apache.org/jira/browse/GEODE-8198 Project: Geode Issue Type: Improvement Components: docs Reporter: Karen Smoler Miller [GEODE-8171|https://issues.apache.org/jira/browse/GEODE-8171] updated the Javadocs for the Region.putAll() method. Our user guide should also specify the behavior under exceptions and give readers more context such that they can produce better apps. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-8197) Embedded Pulse fails to start with custom log4j2.xml
[ https://issues.apache.org/jira/browse/GEODE-8197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118959#comment-17118959 ] Geode Integration commented on GEODE-8197: -- A Pivotal Tracker story has been created for this Issue: https://www.pivotaltracker.com/story/show/173065603 > Embedded Pulse fails to start with custom log4j2.xml > > > Key: GEODE-8197 > URL: https://issues.apache.org/jira/browse/GEODE-8197 > Project: Geode > Issue Type: Bug > Components: logging, pulse >Reporter: Kirk Lund >Assignee: Kirk Lund >Priority: Major > Labels: GeodeOperationAPI > > Starting a Locator with a custom log4j2.xml referencing Geode appenders or > converters fails to correctly start embedded Pulse web application. > {noformat} > [info 2020/05/28 10:51:51.954 PDT tid=1] Adding webapp /pulse > 2020-05-28 10:51:53,328 main ERROR Unable to invoke factory method in class > org.apache.geode.alerting.log4j.internal.impl.AlertAppender for element > GeodeAlert: java.lang.IllegalStateException: No factory method found for > class org.apache.geode.alerting.log4j.internal.impl.AlertAppender > java.lang.IllegalStateException: No factory method found for class > org.apache.geode.alerting.log4j.internal.impl.AlertAppender > at > org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.findFactoryMethod(PluginBuilder.java:234) > at > org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:134) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1002) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:942) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:934) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:552) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:241) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:288) > at > org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:618) > at > org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:691) > at > org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:708) > at > org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:263) > at > org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:153) > at > org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45) > at org.apache.logging.log4j.LogManager.getContext(LogManager.java:194) > at > org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:138) > at > org.apache.logging.log4j.jcl.LogAdapter.getContext(LogAdapter.java:39) > at > org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:48) > at > org.apache.logging.log4j.jcl.LogFactoryImpl.getInstance(LogFactoryImpl.java:40) > at > org.apache.logging.log4j.jcl.LogFactoryImpl.getInstance(LogFactoryImpl.java:55) > at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:655) > at > org.springframework.web.filter.GenericFilterBean.(GenericFilterBean.java:86) > at > org.springframework.web.filter.DelegatingFilterProxy.(DelegatingFilterProxy.java:107) > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at java.lang.reflect.Constructor.newInstance(Constructor.java:423) > at > org.eclipse.jetty.server.handler.ContextHandler$Context.createInstance(ContextHandler.java:2520) > at > org.eclipse.jetty.servlet.ServletContextHandler$Context.createFilter(ServletContextHandler.java:1284) > at > org.eclipse.jetty.servlet.FilterHolder.initialize(FilterHolder.java:118) > at > org.eclipse.jetty.servlet.ServletHandler.lambda$initialize$0(ServletHandler.java:751) > at > java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) > at > java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:742) > at > java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:742) > at > java.util.stream.ReferencePipeline$Head.forEach(ReferencePi
[jira] [Updated] (GEODE-8197) Embedded Pulse fails to start with custom log4j2.xml
[ https://issues.apache.org/jira/browse/GEODE-8197?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kirk Lund updated GEODE-8197: - Labels: GeodeOperationAPI (was: ) > Embedded Pulse fails to start with custom log4j2.xml > > > Key: GEODE-8197 > URL: https://issues.apache.org/jira/browse/GEODE-8197 > Project: Geode > Issue Type: Bug > Components: logging, pulse >Reporter: Kirk Lund >Assignee: Kirk Lund >Priority: Major > Labels: GeodeOperationAPI > > Starting a Locator with a custom log4j2.xml referencing Geode appenders or > converters fails to correctly start embedded Pulse web application. > {noformat} > [info 2020/05/28 10:51:51.954 PDT tid=1] Adding webapp /pulse > 2020-05-28 10:51:53,328 main ERROR Unable to invoke factory method in class > org.apache.geode.alerting.log4j.internal.impl.AlertAppender for element > GeodeAlert: java.lang.IllegalStateException: No factory method found for > class org.apache.geode.alerting.log4j.internal.impl.AlertAppender > java.lang.IllegalStateException: No factory method found for class > org.apache.geode.alerting.log4j.internal.impl.AlertAppender > at > org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.findFactoryMethod(PluginBuilder.java:234) > at > org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:134) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1002) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:942) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:934) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:552) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:241) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:288) > at > org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:618) > at > org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:691) > at > org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:708) > at > org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:263) > at > org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:153) > at > org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45) > at org.apache.logging.log4j.LogManager.getContext(LogManager.java:194) > at > org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:138) > at > org.apache.logging.log4j.jcl.LogAdapter.getContext(LogAdapter.java:39) > at > org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:48) > at > org.apache.logging.log4j.jcl.LogFactoryImpl.getInstance(LogFactoryImpl.java:40) > at > org.apache.logging.log4j.jcl.LogFactoryImpl.getInstance(LogFactoryImpl.java:55) > at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:655) > at > org.springframework.web.filter.GenericFilterBean.(GenericFilterBean.java:86) > at > org.springframework.web.filter.DelegatingFilterProxy.(DelegatingFilterProxy.java:107) > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at java.lang.reflect.Constructor.newInstance(Constructor.java:423) > at > org.eclipse.jetty.server.handler.ContextHandler$Context.createInstance(ContextHandler.java:2520) > at > org.eclipse.jetty.servlet.ServletContextHandler$Context.createFilter(ServletContextHandler.java:1284) > at > org.eclipse.jetty.servlet.FilterHolder.initialize(FilterHolder.java:118) > at > org.eclipse.jetty.servlet.ServletHandler.lambda$initialize$0(ServletHandler.java:751) > at > java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) > at > java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:742) > at > java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:742) > at > java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580) > at > org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:744) > at > org.eclipse.jetty.servl
[jira] [Commented] (GEODE-8197) Embedded Pulse fails to start with custom log4j2.xml
[ https://issues.apache.org/jira/browse/GEODE-8197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118946#comment-17118946 ] Kirk Lund commented on GEODE-8197: -- So far, I've been able to fix this problem in my local repo by adding log4j-web jar to the Pulse web app. I'll file a PR after I write an acceptance test. > Embedded Pulse fails to start with custom log4j2.xml > > > Key: GEODE-8197 > URL: https://issues.apache.org/jira/browse/GEODE-8197 > Project: Geode > Issue Type: Bug > Components: logging, pulse >Reporter: Kirk Lund >Assignee: Kirk Lund >Priority: Major > > Starting a Locator with a custom log4j2.xml referencing Geode appenders or > converters fails to correctly start embedded Pulse web application. > {noformat} > [info 2020/05/28 10:51:51.954 PDT tid=1] Adding webapp /pulse > 2020-05-28 10:51:53,328 main ERROR Unable to invoke factory method in class > org.apache.geode.alerting.log4j.internal.impl.AlertAppender for element > GeodeAlert: java.lang.IllegalStateException: No factory method found for > class org.apache.geode.alerting.log4j.internal.impl.AlertAppender > java.lang.IllegalStateException: No factory method found for class > org.apache.geode.alerting.log4j.internal.impl.AlertAppender > at > org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.findFactoryMethod(PluginBuilder.java:234) > at > org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:134) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1002) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:942) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:934) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:552) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:241) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:288) > at > org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:618) > at > org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:691) > at > org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:708) > at > org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:263) > at > org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:153) > at > org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45) > at org.apache.logging.log4j.LogManager.getContext(LogManager.java:194) > at > org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:138) > at > org.apache.logging.log4j.jcl.LogAdapter.getContext(LogAdapter.java:39) > at > org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:48) > at > org.apache.logging.log4j.jcl.LogFactoryImpl.getInstance(LogFactoryImpl.java:40) > at > org.apache.logging.log4j.jcl.LogFactoryImpl.getInstance(LogFactoryImpl.java:55) > at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:655) > at > org.springframework.web.filter.GenericFilterBean.(GenericFilterBean.java:86) > at > org.springframework.web.filter.DelegatingFilterProxy.(DelegatingFilterProxy.java:107) > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at java.lang.reflect.Constructor.newInstance(Constructor.java:423) > at > org.eclipse.jetty.server.handler.ContextHandler$Context.createInstance(ContextHandler.java:2520) > at > org.eclipse.jetty.servlet.ServletContextHandler$Context.createFilter(ServletContextHandler.java:1284) > at > org.eclipse.jetty.servlet.FilterHolder.initialize(FilterHolder.java:118) > at > org.eclipse.jetty.servlet.ServletHandler.lambda$initialize$0(ServletHandler.java:751) > at > java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) > at > java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:742) > at > java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:742) > at > java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java
[jira] [Created] (GEODE-8197) Embedded Pulse fails to start with custom log4j2.xml
Kirk Lund created GEODE-8197: Summary: Embedded Pulse fails to start with custom log4j2.xml Key: GEODE-8197 URL: https://issues.apache.org/jira/browse/GEODE-8197 Project: Geode Issue Type: Bug Components: logging, pulse Reporter: Kirk Lund Starting a Locator with a custom log4j2.xml referencing Geode appenders or converters fails to correctly start embedded Pulse web application. {noformat} [info 2020/05/28 10:51:51.954 PDT tid=1] Adding webapp /pulse 2020-05-28 10:51:53,328 main ERROR Unable to invoke factory method in class org.apache.geode.alerting.log4j.internal.impl.AlertAppender for element GeodeAlert: java.lang.IllegalStateException: No factory method found for class org.apache.geode.alerting.log4j.internal.impl.AlertAppender java.lang.IllegalStateException: No factory method found for class org.apache.geode.alerting.log4j.internal.impl.AlertAppender at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.findFactoryMethod(PluginBuilder.java:234) at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:134) at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1002) at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:942) at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:934) at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:552) at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:241) at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:288) at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:618) at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:691) at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:708) at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:263) at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:153) at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45) at org.apache.logging.log4j.LogManager.getContext(LogManager.java:194) at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:138) at org.apache.logging.log4j.jcl.LogAdapter.getContext(LogAdapter.java:39) at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:48) at org.apache.logging.log4j.jcl.LogFactoryImpl.getInstance(LogFactoryImpl.java:40) at org.apache.logging.log4j.jcl.LogFactoryImpl.getInstance(LogFactoryImpl.java:55) at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:655) at org.springframework.web.filter.GenericFilterBean.(GenericFilterBean.java:86) at org.springframework.web.filter.DelegatingFilterProxy.(DelegatingFilterProxy.java:107) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.eclipse.jetty.server.handler.ContextHandler$Context.createInstance(ContextHandler.java:2520) at org.eclipse.jetty.servlet.ServletContextHandler$Context.createFilter(ServletContextHandler.java:1284) at org.eclipse.jetty.servlet.FilterHolder.initialize(FilterHolder.java:118) at org.eclipse.jetty.servlet.ServletHandler.lambda$initialize$0(ServletHandler.java:751) at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) at java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:742) at java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:742) at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580) at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:744) at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:361) at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1443) at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1407) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:821) at org.eclipse.jetty.servlet.ServletContextHand
[jira] [Assigned] (GEODE-8197) Embedded Pulse fails to start with custom log4j2.xml
[ https://issues.apache.org/jira/browse/GEODE-8197?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kirk Lund reassigned GEODE-8197: Assignee: Kirk Lund > Embedded Pulse fails to start with custom log4j2.xml > > > Key: GEODE-8197 > URL: https://issues.apache.org/jira/browse/GEODE-8197 > Project: Geode > Issue Type: Bug > Components: logging, pulse >Reporter: Kirk Lund >Assignee: Kirk Lund >Priority: Major > > Starting a Locator with a custom log4j2.xml referencing Geode appenders or > converters fails to correctly start embedded Pulse web application. > {noformat} > [info 2020/05/28 10:51:51.954 PDT tid=1] Adding webapp /pulse > 2020-05-28 10:51:53,328 main ERROR Unable to invoke factory method in class > org.apache.geode.alerting.log4j.internal.impl.AlertAppender for element > GeodeAlert: java.lang.IllegalStateException: No factory method found for > class org.apache.geode.alerting.log4j.internal.impl.AlertAppender > java.lang.IllegalStateException: No factory method found for class > org.apache.geode.alerting.log4j.internal.impl.AlertAppender > at > org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.findFactoryMethod(PluginBuilder.java:234) > at > org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:134) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1002) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:942) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:934) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:552) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:241) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:288) > at > org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:618) > at > org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:691) > at > org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:708) > at > org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:263) > at > org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:153) > at > org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45) > at org.apache.logging.log4j.LogManager.getContext(LogManager.java:194) > at > org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:138) > at > org.apache.logging.log4j.jcl.LogAdapter.getContext(LogAdapter.java:39) > at > org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:48) > at > org.apache.logging.log4j.jcl.LogFactoryImpl.getInstance(LogFactoryImpl.java:40) > at > org.apache.logging.log4j.jcl.LogFactoryImpl.getInstance(LogFactoryImpl.java:55) > at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:655) > at > org.springframework.web.filter.GenericFilterBean.(GenericFilterBean.java:86) > at > org.springframework.web.filter.DelegatingFilterProxy.(DelegatingFilterProxy.java:107) > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at java.lang.reflect.Constructor.newInstance(Constructor.java:423) > at > org.eclipse.jetty.server.handler.ContextHandler$Context.createInstance(ContextHandler.java:2520) > at > org.eclipse.jetty.servlet.ServletContextHandler$Context.createFilter(ServletContextHandler.java:1284) > at > org.eclipse.jetty.servlet.FilterHolder.initialize(FilterHolder.java:118) > at > org.eclipse.jetty.servlet.ServletHandler.lambda$initialize$0(ServletHandler.java:751) > at > java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) > at > java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:742) > at > java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:742) > at > java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580) > at > org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:744) > at > org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletCont
[jira] [Commented] (GEODE-2484) Remove ACE from native client dependencies
[ https://issues.apache.org/jira/browse/GEODE-2484?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118921#comment-17118921 ] ASF GitHub Bot commented on GEODE-2484: --- codecov-commenter edited a comment on pull request #607: URL: https://github.com/apache/geode-native/pull/607#issuecomment-635137877 # [Codecov](https://codecov.io/gh/apache/geode-native/pull/607?src=pr&el=h1) Report > Merging [#607](https://codecov.io/gh/apache/geode-native/pull/607?src=pr&el=desc) into [develop](https://codecov.io/gh/apache/geode-native/commit/35b6d5260b2c04cf25e84b34d38bacbf56f0445e&el=desc) will **decrease** coverage by `0.01%`. > The diff coverage is `85.53%`. [![Impacted file tree graph](https://codecov.io/gh/apache/geode-native/pull/607/graphs/tree.svg?width=650&height=150&src=pr&token=plpAqoqGag)](https://codecov.io/gh/apache/geode-native/pull/607?src=pr&el=tree) ```diff @@ Coverage Diff @@ ## develop #607 +/- ## === - Coverage73.42% 73.40% -0.02% === Files 639 641 +2 Lines5092650984 +58 === + Hits 3739037426 +36 - Misses 1353613558 +22 ``` | [Impacted Files](https://codecov.io/gh/apache/geode-native/pull/607?src=pr&el=tree) | Coverage Δ | | |---|---|---| | [cppcache/include/geode/CacheableString.hpp](https://codecov.io/gh/apache/geode-native/pull/607/diff?src=pr&el=tree#diff-Y3BwY2FjaGUvaW5jbHVkZS9nZW9kZS9DYWNoZWFibGVTdHJpbmcuaHBw) | `96.07% <ø> (ø)` | | | [cppcache/src/AdminRegion.cpp](https://codecov.io/gh/apache/geode-native/pull/607/diff?src=pr&el=tree#diff-Y3BwY2FjaGUvc3JjL0FkbWluUmVnaW9uLmNwcA==) | `40.67% <0.00%> (-31.74%)` | :arrow_down: | | [cppcache/src/AdminRegion.hpp](https://codecov.io/gh/apache/geode-native/pull/607/diff?src=pr&el=tree#diff-Y3BwY2FjaGUvc3JjL0FkbWluUmVnaW9uLmhwcA==) | `100.00% <ø> (ø)` | | | [cppcache/src/CacheImpl.cpp](https://codecov.io/gh/apache/geode-native/pull/607/diff?src=pr&el=tree#diff-Y3BwY2FjaGUvc3JjL0NhY2hlSW1wbC5jcHA=) | `77.98% <ø> (ø)` | | | [cppcache/src/CacheImpl.hpp](https://codecov.io/gh/apache/geode-native/pull/607/diff?src=pr&el=tree#diff-Y3BwY2FjaGUvc3JjL0NhY2hlSW1wbC5ocHA=) | `97.56% <ø> (+2.43%)` | :arrow_up: | | [cppcache/src/ClientProxyMembershipID.hpp](https://codecov.io/gh/apache/geode-native/pull/607/diff?src=pr&el=tree#diff-Y3BwY2FjaGUvc3JjL0NsaWVudFByb3h5TWVtYmVyc2hpcElELmhwcA==) | `82.60% <ø> (ø)` | | | [cppcache/src/ClientProxyMembershipIDFactory.hpp](https://codecov.io/gh/apache/geode-native/pull/607/diff?src=pr&el=tree#diff-Y3BwY2FjaGUvc3JjL0NsaWVudFByb3h5TWVtYmVyc2hpcElERmFjdG9yeS5ocHA=) | `100.00% <ø> (ø)` | | | [cppcache/src/DistributedSystemImpl.cpp](https://codecov.io/gh/apache/geode-native/pull/607/diff?src=pr&el=tree#diff-Y3BwY2FjaGUvc3JjL0Rpc3RyaWJ1dGVkU3lzdGVtSW1wbC5jcHA=) | `66.66% <ø> (ø)` | | | [...che/src/InternalCacheTransactionManager2PCImpl.cpp](https://codecov.io/gh/apache/geode-native/pull/607/diff?src=pr&el=tree#diff-Y3BwY2FjaGUvc3JjL0ludGVybmFsQ2FjaGVUcmFuc2FjdGlvbk1hbmFnZXIyUENJbXBsLmNwcA==) | `32.18% <0.00%> (-0.76%)` | :arrow_down: | | [cppcache/src/SystemProperties.cpp](https://codecov.io/gh/apache/geode-native/pull/607/diff?src=pr&el=tree#diff-Y3BwY2FjaGUvc3JjL1N5c3RlbVByb3BlcnRpZXMuY3Bw) | `88.17% <ø> (ø)` | | | ... and [55 more](https://codecov.io/gh/apache/geode-native/pull/607/diff?src=pr&el=tree-more) | | -- [Continue to review full report at Codecov](https://codecov.io/gh/apache/geode-native/pull/607?src=pr&el=continue). > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta) > `Δ = absolute (impact)`, `ø = not affected`, `? = missing data` > Powered by [Codecov](https://codecov.io/gh/apache/geode-native/pull/607?src=pr&el=footer). Last update [35b6d52...44a2ece](https://codecov.io/gh/apache/geode-native/pull/607?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments). This is an automated message from the Apache Git Service. To respond to the message, please log on to 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 > Remove ACE from native client dependencies > -- > > Key: GEODE-2484 > URL: https://issues.apache.org/jira/browse/GEODE-2484 > Project: Geode > Issue Type: Task > Components: native client >Reporter: David Kimura >Priority:
[jira] [Commented] (GEODE-2484) Remove ACE from native client dependencies
[ https://issues.apache.org/jira/browse/GEODE-2484?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118919#comment-17118919 ] ASF GitHub Bot commented on GEODE-2484: --- pdxcodemonkey commented on a change in pull request #607: URL: https://github.com/apache/geode-native/pull/607#discussion_r431929721 ## File path: cppcache/src/ClientProxyMembershipIDFactory.cpp ## @@ -53,12 +54,13 @@ ClientProxyMembershipIDFactory::ClientProxyMembershipIDFactory( } std::unique_ptr ClientProxyMembershipIDFactory::create( -const char* hostname, const ACE_INET_Addr& address, uint32_t hostPort, -const char* durableClientId, +const std::string& durableClientId, const std::chrono::seconds durableClntTimeOut) { - return std::unique_ptr(new ClientProxyMembershipID( - dsName, randString, hostname, address, hostPort, durableClientId, - durableClntTimeOut)); + auto hostname = boost::asio::ip::host_name(); Review comment: const auto? ## File path: cppcache/src/AdminRegion.hpp-a968f121 ## @@ -0,0 +1,84 @@ +/* Review comment: What the heck is this filename about??? This looks like a leftover file from a Git operation or something, pls delete. ## File path: cppcache/src/AdminRegion.hpp ## @@ -74,7 +73,8 @@ class AdminRegion : public std::enable_shared_from_this { void init(); void put(const std::shared_ptr& keyPtr, const std::shared_ptr& valuePtr); - friend class apache::geode::statistics::HostStatSampler; + // friend class apache::geode::statistics::HostStatSampler; Review comment: Should just delete this commented line. Also hooray for removing 'friend' declaration! ## File path: cppcache/include/geode/CacheableString.hpp ## @@ -25,8 +25,7 @@ #include "internal/DataSerializablePrimitive.hpp" #include "internal/geode_globals.hpp" -/** @file - */ +#undef max Review comment: Need some explanation here, this is really odd. ## File path: cppcache/src/SystemProperties.cpp ## @@ -88,7 +88,7 @@ constexpr auto DefaultConnectWaitTimeout = std::chrono::seconds::zero(); constexpr auto DefaultBucketWaitTimeout = std::chrono::seconds::zero(); constexpr auto DefaultSamplingInterval = std::chrono::seconds(1); -const bool DefaultSamplingEnabled = true; +constexpr bool DefaultSamplingEnabled = false; Review comment: auto? ## File path: cppcache/src/CppCacheLibrary.hpp ## @@ -31,17 +31,28 @@ namespace client { // initialize GEODE runtime if it has not already been initialized. class APACHE_GEODE_EXPORT CppCacheLibrary { public: - // Call to this to trigger initialization. + /** + * Call to this to trigger initialization. + */ static void initLib(void); Review comment: Do we need the initLib/closeLib methods? closeLib is empty, and initLib has one line of code. initLib is called in one place in the code base, by a wrapper function (initLibDllEntry) that also only contains one line of code. Said wrapper function is only called in one place, by _another_ wrapper function (initgflib) that contains _two_ lines of code: ``` initLibDllEntry(); return true; ``` initgflib is called in, you guessed it, one place in the code, on this line in dllmain.cpp: ``` static bool initgflibDone = initgflib(); ``` initgflibDone is in turn checked in both the Windows and non-Windows versions of the function DllMainGetPath(), but _it can never be false_(!!!) This is an automated message from the Apache Git Service. To respond to the message, please log on to 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 > Remove ACE from native client dependencies > -- > > Key: GEODE-2484 > URL: https://issues.apache.org/jira/browse/GEODE-2484 > Project: Geode > Issue Type: Task > Components: native client >Reporter: David Kimura >Priority: Major > Labels: pull-request-available > Fix For: 1.9.0 > > Time Spent: 11h 20m > Remaining Estimate: 0h > > Remove ACE from native client dependencies. > Replace ACE usage with C++11 and/or Boost 1.63+ -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-7680) Partitioned region clear operations must be successful while interacting with rebalance
[ https://issues.apache.org/jira/browse/GEODE-7680?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118917#comment-17118917 ] ASF GitHub Bot commented on GEODE-7680: --- DonalEvans commented on a change in pull request #5095: URL: https://github.com/apache/geode/pull/5095#discussion_r432000642 ## File path: geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionClearWithRebalanceDUnitTest.java ## @@ -0,0 +1,386 @@ +/* + * 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.cache; + +import static org.apache.geode.cache.PartitionAttributesFactory.GLOBAL_MAX_BUCKETS_DEFAULT; +import static org.apache.geode.cache.RegionShortcut.PARTITION; +import static org.apache.geode.cache.RegionShortcut.PARTITION_REDUNDANT; +import static org.apache.geode.cache.RegionShortcut.PARTITION_REDUNDANT_PERSISTENT; +import static org.apache.geode.internal.util.ArrayUtils.asList; +import static org.apache.geode.test.awaitility.GeodeAwaitility.await; +import static org.apache.geode.test.dunit.VM.getVM; +import static org.hamcrest.CoreMatchers.is; +import static org.hamcrest.Matchers.greaterThan; +import static org.junit.Assert.assertThat; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.concurrent.TimeUnit; +import java.util.stream.IntStream; + +import junitparams.JUnitParamsRunner; +import junitparams.Parameters; +import junitparams.naming.TestCaseName; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.runner.RunWith; + +import org.apache.geode.cache.PartitionAttributes; +import org.apache.geode.cache.PartitionAttributesFactory; +import org.apache.geode.cache.Region; +import org.apache.geode.cache.RegionFactory; +import org.apache.geode.cache.RegionShortcut; +import org.apache.geode.cache.control.RebalanceOperation; +import org.apache.geode.cache.control.RebalanceResults; +import org.apache.geode.distributed.internal.DMStats; +import org.apache.geode.test.awaitility.GeodeAwaitility; +import org.apache.geode.test.dunit.AsyncInvocation; +import org.apache.geode.test.dunit.DUnitBlackboard; +import org.apache.geode.test.dunit.SerializableRunnableIF; +import org.apache.geode.test.dunit.VM; +import org.apache.geode.test.dunit.rules.CacheRule; +import org.apache.geode.test.dunit.rules.DistributedDiskDirRule; +import org.apache.geode.test.dunit.rules.DistributedRule; + +@RunWith(JUnitParamsRunner.class) +public class PartitionedRegionClearWithRebalanceDUnitTest implements Serializable { Review comment: Using three servers, with a PartitionedRegion with one redundant copy, and killing the non-coordinator server when the clear operation starts, I am still seeing a PartialClearException some of the time. It seems to be flaky whether the clear operation has enough time to find the new primary in the case that a server goes down. This happens even if there is no rebalance happening at the time; as long as some data is hosted on the member that is killed, there is a chance of a PartialClearException, it seems. I don't know if it will be possible to write a useful test in this scenario, since we have to either assert that the clear succeeds, or that it fails, but it doesn't do either reliably. This is an automated message from the Apache Git Service. To respond to the message, please log on to 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 > Partitioned region clear operations must be successful while interacting with > rebalance > > > Key: GEODE-7680 > URL: https://issues.apache.org/jira/browse/GEODE-7680 > Project: Geode > Issue Type: Sub-task > Components: regions >Reporter: Nabarun Nag >Assign
[jira] [Resolved] (GEODE-8193) Broken link in statistics list
[ https://issues.apache.org/jira/browse/GEODE-8193?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Alberto Bustamante Reyes resolved GEODE-8193. - Fix Version/s: 1.14.0 Resolution: Fixed > Broken link in statistics list > -- > > Key: GEODE-8193 > URL: https://issues.apache.org/jira/browse/GEODE-8193 > Project: Geode > Issue Type: Improvement > Components: docs >Reporter: Alberto Bustamante Reyes >Assignee: Alberto Bustamante Reyes >Priority: Major > Labels: pull-request-available > Fix For: 1.14.0 > > > The link of region entry heap-based eviction is wrong and shows the html > anchor id in the statistics lists: > * Region Entry Eviction - Heap-based eviction > (HeapLRUStatistics)#section_3B74F6FA08A374FBD92AA23047929B4F) > [https://geode.apache.org/docs/guide/112/reference/statistics_list.html] -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-6070) CI Failure: ShutdownCommandOverHttpDUnitTest > testShutdownAll
[ https://issues.apache.org/jira/browse/GEODE-6070?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118914#comment-17118914 ] ASF GitHub Bot commented on GEODE-6070: --- jchen21 commented on a change in pull request #5162: URL: https://github.com/apache/geode/pull/5162#discussion_r431997075 ## File path: geode-web/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/ShutdownCommandOverHttpDUnitTest.java ## @@ -96,48 +93,61 @@ public void setup() throws Exception { locatorString = "localhost[" + locatorPort + "]"; -locator.invoke( -() -> startLocator(locatorDir, locatorPort, locatorJmxPort, locatorHttpPort)); +locator.invoke(() -> startLocator(locatorDir, locatorPort, locatorJmxPort, locatorHttpPort)); server1.invoke(() -> startServer(SERVER1_NAME, server1Dir, locatorString)); server2.invoke(() -> startServer(SERVER2_NAME, server2Dir, locatorString)); gfsh.connectAndVerify(locatorHttpPort, PortType.http); + +addIgnoredException(DistributedSystemDisconnectedException.class); } @Test public void testShutdownServers() { String command = "shutdown"; - gfsh.executeAndAssertThat(command).statusIsSuccess().containsOutput("Shutdown is triggered"); +gfsh.executeAndAssertThat(command) +.statusIsSuccess() +.containsOutput("Shutdown is triggered"); for (VM vm : toArray(server1, server2)) { vm.invoke(() -> verifyNotConnected(SERVER_LAUNCHER.get().getCache())); } -gfsh.executeAndAssertThat("list members").statusIsSuccess(); +gfsh.executeAndAssertThat("list members") +.statusIsSuccess(); + assertThat(gfsh.getGfshOutput()).contains("locator"); } @Test public void testShutdownAll() { String command = "shutdown --include-locators=true"; - gfsh.executeAndAssertThat(command).statusIsSuccess().containsOutput("Shutdown is triggered"); +gfsh.executeAndAssertThat(command) +.statusIsSuccess() +.containsOutput("Shutdown is triggered"); + server1.invoke(() -> verifyNotConnected(SERVER_LAUNCHER.get().getCache())); server2.invoke(() -> verifyNotConnected(SERVER_LAUNCHER.get().getCache())); locator.invoke(() -> verifyNotConnected(LOCATOR_LAUNCHER.get().getCache())); } private void verifyNotConnected(Cache cache) { -await().untilAsserted(() -> assertThat(cache.getDistributedSystem().isConnected()).isFalse()); +await().untilAsserted(() -> { + assertThat(cache.getDistributedSystem().isConnected()) + .as("cache.getDistributedSystem().isConnected()") Review comment: Is it preferable to use `withFailMessage` than `as` for this case? This is an automated message from the Apache Git Service. To respond to the message, please log on to 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: ShutdownCommandOverHttpDUnitTest > testShutdownAll > -- > > Key: GEODE-6070 > URL: https://issues.apache.org/jira/browse/GEODE-6070 > Project: Geode > Issue Type: Bug >Affects Versions: 1.12.0 >Reporter: Helena Bales >Assignee: Kirk Lund >Priority: Major > Labels: GeodeCommons, flaky > Time Spent: 20m > Remaining Estimate: 0h > > Failed with stacktrace: > {noformat} > org.apache.geode.management.internal.cli.commands.ShutdownCommandOverHttpDUnitTest > > testShutdownAll FAILED > java.lang.AssertionError: Suspicious strings were written to the log > during this run. > Fix the strings or use IgnoredException.addIgnoredException to ignore. > --- > Found suspect string in log4j at line 302 > org.apache.geode.distributed.DistributedSystemDisconnectedException: > Distribution manager on 172.17.0.3(server-1:496):41002 started at Thu Nov > 15 19:47:58 UTC 2018: Message distribution has terminated > {noformat} > Test results can be found here: > http://files.apachegeode-ci.info/builds/apache-develop-main/1.9.0-build.158/test-results/distributedTest/1542315851/classes/org.apache.geode.management.internal.cli.commands.ShutdownCommandOverHttpDUnitTest.html#testShutdownAll > > Test Artifacts can be found here: > http://files.apachegeode-ci.info/builds/apache-develop-main/1.9.0-build.158/test-artifacts/1542315851/distributedtestfiles-OpenJDK8-1.9.0-build.158.tgz -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-7864) Code improvement refactoring
[ https://issues.apache.org/jira/browse/GEODE-7864?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118912#comment-17118912 ] ASF GitHub Bot commented on GEODE-7864: --- DonalEvans commented on a change in pull request #4866: URL: https://github.com/apache/geode/pull/4866#discussion_r431995682 ## File path: geode-junit/src/main/java/org/apache/geode/pdx/TestObjectForJSONFormatter.java ## @@ -992,6 +993,34 @@ boolean compareMaps(Map m1, Map m2) { return true; } + @Override + public int hashCode() { +int result = +Objects +.hash(p_bool, p_byte, p_short, p_int, p_long, p_float, p_double, w_bool, w_byte, +w_short, +w_int, w_long, w_bigInt, w_float, w_bigDec, w_double, w_string, c_list, c_set, +c_queue, c_deque, m_empByCity, day); Review comment: Could this be formatted slightly neater? The following seems to make spotless happy on my machine: ```suggestion int result = Objects .hash(p_bool, p_byte, p_short, p_int, p_long, p_float, p_double, w_bool, w_byte, w_short, w_int, w_long, w_bigInt, w_float, w_bigDec, w_double, w_string, c_list, c_set, c_queue, c_deque, m_empByCity, day); ``` This is an automated message from the Apache Git Service. To respond to the message, please log on to 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 > Code improvement refactoring > > > Key: GEODE-7864 > URL: https://issues.apache.org/jira/browse/GEODE-7864 > Project: Geode > Issue Type: Improvement >Reporter: Nabarun Nag >Priority: Major > Time Spent: 13h 10m > Remaining Estimate: 0h > > This is a placeholder ticket. > * this is used to do refactoring. > * this ticket number is used to number the commit message. > * this ticket will never be closed. > * it will be used to mark improvements like correcting spelling mistakes, > efficient java code, etc. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-7864) Code improvement refactoring
[ https://issues.apache.org/jira/browse/GEODE-7864?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118913#comment-17118913 ] ASF GitHub Bot commented on GEODE-7864: --- DonalEvans commented on a change in pull request #4866: URL: https://github.com/apache/geode/pull/4866#discussion_r431995682 ## File path: geode-junit/src/main/java/org/apache/geode/pdx/TestObjectForJSONFormatter.java ## @@ -992,6 +993,34 @@ boolean compareMaps(Map m1, Map m2) { return true; } + @Override + public int hashCode() { +int result = +Objects +.hash(p_bool, p_byte, p_short, p_int, p_long, p_float, p_double, w_bool, w_byte, +w_short, +w_int, w_long, w_bigInt, w_float, w_bigDec, w_double, w_string, c_list, c_set, +c_queue, c_deque, m_empByCity, day); Review comment: Could this be formatted slightly neater? The following seems to make spotless happy on my machine: ```suggestion int result = Objects.hash(p_bool, p_byte, p_short, p_int, p_long, p_float, p_double, w_bool, w_byte, w_short, w_int, w_long, w_bigInt, w_float, w_bigDec, w_double, w_string, c_list, c_set, c_queue, c_deque, m_empByCity, day); ``` This is an automated message from the Apache Git Service. To respond to the message, please log on to 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 > Code improvement refactoring > > > Key: GEODE-7864 > URL: https://issues.apache.org/jira/browse/GEODE-7864 > Project: Geode > Issue Type: Improvement >Reporter: Nabarun Nag >Priority: Major > Time Spent: 13h 10m > Remaining Estimate: 0h > > This is a placeholder ticket. > * this is used to do refactoring. > * this ticket number is used to number the commit message. > * this ticket will never be closed. > * it will be used to mark improvements like correcting spelling mistakes, > efficient java code, etc. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-7864) Code improvement refactoring
[ https://issues.apache.org/jira/browse/GEODE-7864?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118911#comment-17118911 ] ASF GitHub Bot commented on GEODE-7864: --- DonalEvans commented on a change in pull request #4866: URL: https://github.com/apache/geode/pull/4866#discussion_r431995682 ## File path: geode-junit/src/main/java/org/apache/geode/pdx/TestObjectForJSONFormatter.java ## @@ -992,6 +993,34 @@ boolean compareMaps(Map m1, Map m2) { return true; } + @Override + public int hashCode() { +int result = +Objects +.hash(p_bool, p_byte, p_short, p_int, p_long, p_float, p_double, w_bool, w_byte, +w_short, +w_int, w_long, w_bigInt, w_float, w_bigDec, w_double, w_string, c_list, c_set, +c_queue, c_deque, m_empByCity, day); Review comment: Could this be formatted slightly neater? The following seems to make spotless happy on my machine: `int result = Objects.hash(p_bool, p_byte, p_short, p_int, p_long, p_float, p_double, w_bool, w_byte, w_short, w_int, w_long, w_bigInt, w_float, w_bigDec, w_double, w_string, c_list, c_set, c_queue, c_deque, m_empByCity, day);` This is an automated message from the Apache Git Service. To respond to the message, please log on to 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 > Code improvement refactoring > > > Key: GEODE-7864 > URL: https://issues.apache.org/jira/browse/GEODE-7864 > Project: Geode > Issue Type: Improvement >Reporter: Nabarun Nag >Priority: Major > Time Spent: 13h 10m > Remaining Estimate: 0h > > This is a placeholder ticket. > * this is used to do refactoring. > * this ticket number is used to number the commit message. > * this ticket will never be closed. > * it will be used to mark improvements like correcting spelling mistakes, > efficient java code, etc. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-8166) Change redis expiration commands to use function+delta
[ https://issues.apache.org/jira/browse/GEODE-8166?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118889#comment-17118889 ] ASF GitHub Bot commented on GEODE-8166: --- dschneider-pivotal commented on a change in pull request #5174: URL: https://github.com/apache/geode/pull/5174#discussion_r431980369 ## File path: geode-redis/src/distributedTest/java/org/apache/geode/redis/executors/ExpireDUnitTest.java ## @@ -115,7 +113,7 @@ public static void tearDown() { public void expireOnOneServer_shouldPropagateToAllServers() { String key = "key"; -jedis1.set(key, "value"); +jedis1.sadd(key, "value"); Review comment: early on this branch, the new expiration was only working on sets and hashes. So I changed these tests to use sets instead of strings. It seems like this test is okay with any data type so I left it using a set. ## File path: geode-redis/src/distributedTest/java/org/apache/geode/redis/executors/keys/PersistDUnitTest.java ## @@ -134,10 +133,8 @@ public void testConcurrentPersistOperations() throws InterruptedException { private void setKeysWithExpiration(Jedis jedis, Long iterationCount, String key) { for (int i = 0; i < iterationCount; i++) { - SetParams setParams = new SetParams(); - setParams.ex(600); - - jedis.set(key + i, "value" + i, setParams); + jedis.sadd(key + i, "value" + 9); + jedis.expire(key + i, 600); Review comment: early on this branch, the new expiration was only working on sets and hashes. So I changed these tests to use sets instead of strings. It seems like this test is okay with any data type so I left it using a set. This is an automated message from the Apache Git Service. To respond to the message, please log on to 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 > Change redis expiration commands to use function+delta > -- > > Key: GEODE-8166 > URL: https://issues.apache.org/jira/browse/GEODE-8166 > Project: Geode > Issue Type: Improvement > Components: redis >Reporter: Darrel Schneider >Assignee: Darrel Schneider >Priority: Major > > The redis expiration commands (expire, pexpire, expireat, pexpireat, ttl, > pttl, and persist) need to be reimplemented to use the new function+delta > data model. They should also be careful to work correctly in a multi-node > cluster if one of the servers die. > -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-8166) Change redis expiration commands to use function+delta
[ https://issues.apache.org/jira/browse/GEODE-8166?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=1711#comment-1711 ] ASF GitHub Bot commented on GEODE-8166: --- dschneider-pivotal commented on a change in pull request #5174: URL: https://github.com/apache/geode/pull/5174#discussion_r431979408 ## File path: geode-redis/src/distributedTest/java/org/apache/geode/redis/executors/ExpireDUnitTest.java ## @@ -115,7 +113,7 @@ public static void tearDown() { public void expireOnOneServer_shouldPropagateToAllServers() { String key = "key"; -jedis1.set(key, "value"); +jedis1.sadd(key, "value"); Review comment: c This is an automated message from the Apache Git Service. To respond to the message, please log on to 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 > Change redis expiration commands to use function+delta > -- > > Key: GEODE-8166 > URL: https://issues.apache.org/jira/browse/GEODE-8166 > Project: Geode > Issue Type: Improvement > Components: redis >Reporter: Darrel Schneider >Assignee: Darrel Schneider >Priority: Major > > The redis expiration commands (expire, pexpire, expireat, pexpireat, ttl, > pttl, and persist) need to be reimplemented to use the new function+delta > data model. They should also be careful to work correctly in a multi-node > cluster if one of the servers die. > -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-8166) Change redis expiration commands to use function+delta
[ https://issues.apache.org/jira/browse/GEODE-8166?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118887#comment-17118887 ] ASF GitHub Bot commented on GEODE-8166: --- dschneider-pivotal commented on a change in pull request #5174: URL: https://github.com/apache/geode/pull/5174#discussion_r431978288 ## File path: geode-redis/src/integrationTest/java/org/apache/geode/redis/general/ExpireIntegrationTest.java ## @@ -366,4 +371,12 @@ public void CallingExpireOnAKeyThatAlreadyHasAnExiprationTime_ShouldUpdateTheExp Long timeToLive = jedis.ttl(key); assertThat(timeToLive).isGreaterThan(21); } + + @Test + public void should_passivelyExpireKeys() { +jedis.sadd("key", "value"); +jedis.pexpire("key", 100); + +GeodeAwaitility.await().until(() -> jedis.keys("key").isEmpty()); Review comment: right This is an automated message from the Apache Git Service. To respond to the message, please log on to 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 > Change redis expiration commands to use function+delta > -- > > Key: GEODE-8166 > URL: https://issues.apache.org/jira/browse/GEODE-8166 > Project: Geode > Issue Type: Improvement > Components: redis >Reporter: Darrel Schneider >Assignee: Darrel Schneider >Priority: Major > > The redis expiration commands (expire, pexpire, expireat, pexpireat, ttl, > pttl, and persist) need to be reimplemented to use the new function+delta > data model. They should also be careful to work correctly in a multi-node > cluster if one of the servers die. > -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-7846) Clear in Partitioned Region should have its own stats
[ https://issues.apache.org/jira/browse/GEODE-7846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118876#comment-17118876 ] ASF subversion and git services commented on GEODE-7846: Commit 0fd56e418752c14ed8ebebe5a370164034aafc39 in geode's branch refs/heads/develop from Donal Evans [ https://gitbox.apache.org/repos/asf?p=geode.git;h=0fd56e4 ] GEODE-7846: Replace all uses of hardcoded / with Region.SEPARATOR (#5157) Authored-by: Donal Evans > Clear in Partitioned Region should have its own stats > - > > Key: GEODE-7846 > URL: https://issues.apache.org/jira/browse/GEODE-7846 > Project: Geode > Issue Type: Improvement > Components: core >Reporter: Xiaojian Zhou >Priority: Major > Labels: GeodeCommons > > Clear operation in PR should have its own stats: > 1) clear operation executed. > 2) clear operation failed > 3) clear messages sends to buckets -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-7846) Clear in Partitioned Region should have its own stats
[ https://issues.apache.org/jira/browse/GEODE-7846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118875#comment-17118875 ] ASF GitHub Bot commented on GEODE-7846: --- DonalEvans merged pull request #5157: URL: https://github.com/apache/geode/pull/5157 This is an automated message from the Apache Git Service. To respond to the message, please log on to 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 > Clear in Partitioned Region should have its own stats > - > > Key: GEODE-7846 > URL: https://issues.apache.org/jira/browse/GEODE-7846 > Project: Geode > Issue Type: Improvement > Components: core >Reporter: Xiaojian Zhou >Priority: Major > Labels: GeodeCommons > > Clear operation in PR should have its own stats: > 1) clear operation executed. > 2) clear operation failed > 3) clear messages sends to buckets -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-7864) Code improvement refactoring
[ https://issues.apache.org/jira/browse/GEODE-7864?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118871#comment-17118871 ] ASF subversion and git services commented on GEODE-7864: Commit bd2d118ba3e5a5d07dacc8cb2ce3fd153b171f5c in geode's branch refs/heads/develop from Nabarun Nag [ https://gitbox.apache.org/repos/asf?p=geode.git;h=bd2d118 ] GEODE-7864: Override the default implementation of write(byte[],int,int) (#4871) * Prevent overheads of writing one byte at a time. > Code improvement refactoring > > > Key: GEODE-7864 > URL: https://issues.apache.org/jira/browse/GEODE-7864 > Project: Geode > Issue Type: Improvement >Reporter: Nabarun Nag >Priority: Major > Time Spent: 13h 10m > Remaining Estimate: 0h > > This is a placeholder ticket. > * this is used to do refactoring. > * this ticket number is used to number the commit message. > * this ticket will never be closed. > * it will be used to mark improvements like correcting spelling mistakes, > efficient java code, etc. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-7864) Code improvement refactoring
[ https://issues.apache.org/jira/browse/GEODE-7864?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118869#comment-17118869 ] ASF GitHub Bot commented on GEODE-7864: --- nabarunnag merged pull request #4871: URL: https://github.com/apache/geode/pull/4871 This is an automated message from the Apache Git Service. To respond to the message, please log on to 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 > Code improvement refactoring > > > Key: GEODE-7864 > URL: https://issues.apache.org/jira/browse/GEODE-7864 > Project: Geode > Issue Type: Improvement >Reporter: Nabarun Nag >Priority: Major > Time Spent: 13h 10m > Remaining Estimate: 0h > > This is a placeholder ticket. > * this is used to do refactoring. > * this ticket number is used to number the commit message. > * this ticket will never be closed. > * it will be used to mark improvements like correcting spelling mistakes, > efficient java code, etc. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (GEODE-8195) ConcurrentModificationException from LocatorMembershipListenerImpl$DistributeLocatorsRunnable.run
[ https://issues.apache.org/jira/browse/GEODE-8195?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Bill Burcham updated GEODE-8195: Description: this WAN code in {{LocatorMembershipListenerImpl$DistributeLocatorsRunnable.run}}: {code} Set joinMessages = entry.getValue(); for (LocatorJoinMessage locatorJoinMessage : joinMessages) { if (retryMessage(targetLocator, locatorJoinMessage, attempt)) { joinMessages.remove(locatorJoinMessage); } else { {code} modifies the {{joinMessages}} set as it is iterating over the set, resulting in a {{ConcurrentModificationException}}. This bug will cause (inter-site) notification of locators (of the presence of a new locator) to fail early if retry is necessary. If we have to retry notifying any locator, and we succeed, we’ll throw the {{ConcurrentModificationException}} and stop trying to notify any of the other locators. See the _Discovery For Multi-Site Systems_ section of the [Overview of Multi-Site Caching|https://geode.apache.org/docs/guide/14/topologies_and_comm/topology_concepts/multisite_overview.html] documentation for an overview of the locator's role in WAN. Here is a scratch file that illustrates the issue, throwing {{ConcurrentModificationException}}: {code} import java.util.HashSet; import java.util.Set; class Scratch { public static void main(String[] args) { final Set joinMessages = new HashSet<>(); joinMessages.add("one"); joinMessages.add("two"); for( final String entry:joinMessages ) { if (entry.equals("one")) joinMessages.remove(entry); } } } {code} >From looking at the Geode code, {{joinMessages}} is not used outside the loop >so there is no need to modify it at all—I think we can simply remove this line: {code} joinMessages.remove(locatorJoinMessage); {code} was: this WAN code in {{LocatorMembershipListenerImpl$DistributeLocatorsRunnable.run}}: {code} Set joinMessages = entry.getValue(); for (LocatorJoinMessage locatorJoinMessage : joinMessages) { if (retryMessage(targetLocator, locatorJoinMessage, attempt)) { joinMessages.remove(locatorJoinMessage); } else { {code} modifies the {{joinMessages}} set as it is iterating over the set, resulting in a {{ConcurrentModificationException}}. This bug will cause (inter-site) notification of locators (of the presence of a new locator) to fail early if retry is necessary. If we have to retry notifying any locator, and we succeed, we’ll throw the {{ConcurrentModificationException}} and stop trying to notify any of the other locators. Here is a scratch file that illustrates the issue, throwing {{ConcurrentModificationException}}: {code} import java.util.HashSet; import java.util.Set; class Scratch { public static void main(String[] args) { final Set joinMessages = new HashSet<>(); joinMessages.add("one"); joinMessages.add("two"); for( final String entry:joinMessages ) { if (entry.equals("one")) joinMessages.remove(entry); } } } {code} >From looking at the Geode code, {{joinMessages}} is not used outside the loop >so there is no need to modify it at all—I think we can simply remove this line: {code} joinMessages.remove(locatorJoinMessage); {code} > ConcurrentModificationException from > LocatorMembershipListenerImpl$DistributeLocatorsRunnable.run > - > > Key: GEODE-8195 > URL: https://issues.apache.org/jira/browse/GEODE-8195 > Project: Geode > Issue Type: Bug > Components: membership >Reporter: Bill Burcham >Priority: Major > > this WAN code in > {{LocatorMembershipListenerImpl$DistributeLocatorsRunnable.run}}: > {code} > Set joinMessages = entry.getValue(); > for (LocatorJoinMessage locatorJoinMessage : joinMessages) { > if (retryMessage(targetLocator, locatorJoinMessage, attempt)) { > joinMessages.remove(locatorJoinMessage); > } else { > {code} > modifies the {{joinMessages}} set as it is iterating over the set, resulting > in a {{ConcurrentModificationException}}. > This bug will cause (inter-site) notification of locators (of the presence of > a new locator) to fail early if retry is necessary. If we have to retry > notifying any locator, and we succeed, we’ll throw the > {{ConcurrentModificationException}} and stop trying to notify any of the > other locators. See the _Discovery For Multi-Site Systems_ section of the > [Overview of Multi-Site > Caching|https://geode.apache.org/docs/guide/14/topologies_and_comm/topology_concepts/multisite_overview.html] > documentation for an overview of the locator's rol
[jira] [Commented] (GEODE-8166) Change redis expiration commands to use function+delta
[ https://issues.apache.org/jira/browse/GEODE-8166?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118862#comment-17118862 ] ASF GitHub Bot commented on GEODE-8166: --- ringles commented on a change in pull request #5174: URL: https://github.com/apache/geode/pull/5174#discussion_r431961890 ## File path: geode-redis/src/integrationTest/java/org/apache/geode/redis/general/ExpireIntegrationTest.java ## @@ -366,4 +371,12 @@ public void CallingExpireOnAKeyThatAlreadyHasAnExiprationTime_ShouldUpdateTheExp Long timeToLive = jedis.ttl(key); assertThat(timeToLive).isGreaterThan(21); } + + @Test + public void should_passivelyExpireKeys() { +jedis.sadd("key", "value"); +jedis.pexpire("key", 100); + +GeodeAwaitility.await().until(() -> jedis.keys("key").isEmpty()); Review comment: To check my understanding - the jedis.keys() command will just get the keyset, but since it doesn't get the values of the keys it doesn't trigger the active expiration. Right? This is an automated message from the Apache Git Service. To respond to the message, please log on to 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 > Change redis expiration commands to use function+delta > -- > > Key: GEODE-8166 > URL: https://issues.apache.org/jira/browse/GEODE-8166 > Project: Geode > Issue Type: Improvement > Components: redis >Reporter: Darrel Schneider >Assignee: Darrel Schneider >Priority: Major > > The redis expiration commands (expire, pexpire, expireat, pexpireat, ttl, > pttl, and persist) need to be reimplemented to use the new function+delta > data model. They should also be careful to work correctly in a multi-node > cluster if one of the servers die. > -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-8166) Change redis expiration commands to use function+delta
[ https://issues.apache.org/jira/browse/GEODE-8166?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118859#comment-17118859 ] ASF GitHub Bot commented on GEODE-8166: --- ringles commented on a change in pull request #5174: URL: https://github.com/apache/geode/pull/5174#discussion_r431956870 ## File path: geode-redis/src/distributedTest/java/org/apache/geode/redis/executors/ExpireDUnitTest.java ## @@ -115,7 +113,7 @@ public static void tearDown() { public void expireOnOneServer_shouldPropagateToAllServers() { String key = "key"; -jedis1.set(key, "value"); +jedis1.sadd(key, "value"); Review comment: Is there a reason for switching from string values to Sets? This is an automated message from the Apache Git Service. To respond to the message, please log on to 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 > Change redis expiration commands to use function+delta > -- > > Key: GEODE-8166 > URL: https://issues.apache.org/jira/browse/GEODE-8166 > Project: Geode > Issue Type: Improvement > Components: redis >Reporter: Darrel Schneider >Assignee: Darrel Schneider >Priority: Major > > The redis expiration commands (expire, pexpire, expireat, pexpireat, ttl, > pttl, and persist) need to be reimplemented to use the new function+delta > data model. They should also be careful to work correctly in a multi-node > cluster if one of the servers die. > -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-8166) Change redis expiration commands to use function+delta
[ https://issues.apache.org/jira/browse/GEODE-8166?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118857#comment-17118857 ] ASF GitHub Bot commented on GEODE-8166: --- ringles commented on a change in pull request #5174: URL: https://github.com/apache/geode/pull/5174#discussion_r431955425 ## File path: geode-redis/src/distributedTest/java/org/apache/geode/redis/executors/keys/PersistDUnitTest.java ## @@ -134,10 +133,8 @@ public void testConcurrentPersistOperations() throws InterruptedException { private void setKeysWithExpiration(Jedis jedis, Long iterationCount, String key) { for (int i = 0; i < iterationCount; i++) { - SetParams setParams = new SetParams(); - setParams.ex(600); - - jedis.set(key + i, "value" + i, setParams); + jedis.sadd(key + i, "value" + 9); + jedis.expire(key + i, 600); Review comment: Is there a resion why we're calling expire separately instead of using a set option? This is an automated message from the Apache Git Service. To respond to the message, please log on to 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 > Change redis expiration commands to use function+delta > -- > > Key: GEODE-8166 > URL: https://issues.apache.org/jira/browse/GEODE-8166 > Project: Geode > Issue Type: Improvement > Components: redis >Reporter: Darrel Schneider >Assignee: Darrel Schneider >Priority: Major > > The redis expiration commands (expire, pexpire, expireat, pexpireat, ttl, > pttl, and persist) need to be reimplemented to use the new function+delta > data model. They should also be careful to work correctly in a multi-node > cluster if one of the servers die. > -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-8193) Broken link in statistics list
[ https://issues.apache.org/jira/browse/GEODE-8193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118856#comment-17118856 ] ASF subversion and git services commented on GEODE-8193: Commit dd990e8e38ebd1a4b120339df262ed9b3095356b in geode's branch refs/heads/develop from Alberto Bustamante Reyes [ https://gitbox.apache.org/repos/asf?p=geode.git;h=dd990e8 ] GEODE-8193: Broken link in statistics list (#5166) > Broken link in statistics list > -- > > Key: GEODE-8193 > URL: https://issues.apache.org/jira/browse/GEODE-8193 > Project: Geode > Issue Type: Improvement > Components: docs >Reporter: Alberto Bustamante Reyes >Assignee: Alberto Bustamante Reyes >Priority: Major > Labels: pull-request-available > > The link of region entry heap-based eviction is wrong and shows the html > anchor id in the statistics lists: > * Region Entry Eviction - Heap-based eviction > (HeapLRUStatistics)#section_3B74F6FA08A374FBD92AA23047929B4F) > [https://geode.apache.org/docs/guide/112/reference/statistics_list.html] -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-8193) Broken link in statistics list
[ https://issues.apache.org/jira/browse/GEODE-8193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118855#comment-17118855 ] ASF GitHub Bot commented on GEODE-8193: --- karensmolermiller merged pull request #5166: URL: https://github.com/apache/geode/pull/5166 This is an automated message from the Apache Git Service. To respond to the message, please log on to 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 > Broken link in statistics list > -- > > Key: GEODE-8193 > URL: https://issues.apache.org/jira/browse/GEODE-8193 > Project: Geode > Issue Type: Improvement > Components: docs >Reporter: Alberto Bustamante Reyes >Assignee: Alberto Bustamante Reyes >Priority: Major > Labels: pull-request-available > > The link of region entry heap-based eviction is wrong and shows the html > anchor id in the statistics lists: > * Region Entry Eviction - Heap-based eviction > (HeapLRUStatistics)#section_3B74F6FA08A374FBD92AA23047929B4F) > [https://geode.apache.org/docs/guide/112/reference/statistics_list.html] -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-8181) C++ client defaults statistic-sampling-enabled to true
[ https://issues.apache.org/jira/browse/GEODE-8181?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118819#comment-17118819 ] ASF GitHub Bot commented on GEODE-8181: --- pivotal-jbarrett commented on a change in pull request #606: URL: https://github.com/apache/geode-native/pull/606#discussion_r431922763 ## File path: cppcache/integration-test/resources/system.properties ## @@ -14,7 +14,7 @@ # limitations under the License. # All the configurable parameters. statistic-sample-rate=700s -statistic-sampling-enabled=false +statistic-sampling-enabled=true Review comment: Yeah, when I need more time in C++ again after ACE is gone... This is an automated message from the Apache Git Service. To respond to the message, please log on to 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 > C++ client defaults statistic-sampling-enabled to true > -- > > Key: GEODE-8181 > URL: https://issues.apache.org/jira/browse/GEODE-8181 > Project: Geode > Issue Type: Bug >Reporter: Jacob Barrett >Assignee: Jacob Barrett >Priority: Major > > The Geode documentation, Java client and server all say the default value is > {{false}} but the C++ client library sets the default to {{true}}. This > causes files to be generated when it is not expected. It can cause failures > were writing to the current working directory is not allowed. Causes file > access violations if two caches are created in the same process space without > setting unique files or explicitly disabling. > https://geode.apache.org/docs/guide/12/reference/topics/gemfire_properties.html -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-6641) Add support for two phase commit transactions
[ https://issues.apache.org/jira/browse/GEODE-6641?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118812#comment-17118812 ] ASF GitHub Bot commented on GEODE-6641: --- pdxcodemonkey merged pull request #603: URL: https://github.com/apache/geode-native/pull/603 This is an automated message from the Apache Git Service. To respond to the message, please log on to 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 support for two phase commit transactions > - > > Key: GEODE-6641 > URL: https://issues.apache.org/jira/browse/GEODE-6641 > Project: Geode > Issue Type: Bug > Components: native client >Reporter: Mario Ivanac >Assignee: Mario Ivanac >Priority: Major > Labels: needs-review, pull-request-available > Fix For: 1.10.0 > > Time Spent: 1h 10m > Remaining Estimate: 0h > > Add in geode-native public API support for two phase commit transactions. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-6641) Add support for two phase commit transactions
[ https://issues.apache.org/jira/browse/GEODE-6641?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118811#comment-17118811 ] ASF subversion and git services commented on GEODE-6641: Commit a1f92449c76bc9041a60e8f7a310ded5f85926bb in geode-native's branch refs/heads/develop from M. Oleske [ https://gitbox.apache.org/repos/asf?p=geode-native.git;h=a1f9244 ] GEODE-6641: Add ClientTransactionXATest to run (#603) - sort integration tests in CMakeLists > Add support for two phase commit transactions > - > > Key: GEODE-6641 > URL: https://issues.apache.org/jira/browse/GEODE-6641 > Project: Geode > Issue Type: Bug > Components: native client >Reporter: Mario Ivanac >Assignee: Mario Ivanac >Priority: Major > Labels: needs-review, pull-request-available > Fix For: 1.10.0 > > Time Spent: 1h 10m > Remaining Estimate: 0h > > Add in geode-native public API support for two phase commit transactions. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-8181) C++ client defaults statistic-sampling-enabled to true
[ https://issues.apache.org/jira/browse/GEODE-8181?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118807#comment-17118807 ] ASF GitHub Bot commented on GEODE-8181: --- pdxcodemonkey commented on a change in pull request #606: URL: https://github.com/apache/geode-native/pull/606#discussion_r431915373 ## File path: cppcache/integration-test/resources/system.properties ## @@ -14,7 +14,7 @@ # limitations under the License. # All the configurable parameters. statistic-sample-rate=700s -statistic-sampling-enabled=false +statistic-sampling-enabled=true Review comment: Ugh. I'd ask that we rename this file to reflect that it's test-case-specific, but I think time is better spent just getting rid of the old tests in general. Thanks for the clarification. This is an automated message from the Apache Git Service. To respond to the message, please log on to 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 > C++ client defaults statistic-sampling-enabled to true > -- > > Key: GEODE-8181 > URL: https://issues.apache.org/jira/browse/GEODE-8181 > Project: Geode > Issue Type: Bug >Reporter: Jacob Barrett >Assignee: Jacob Barrett >Priority: Major > > The Geode documentation, Java client and server all say the default value is > {{false}} but the C++ client library sets the default to {{true}}. This > causes files to be generated when it is not expected. It can cause failures > were writing to the current working directory is not allowed. Causes file > access violations if two caches are created in the same process space without > setting unique files or explicitly disabling. > https://geode.apache.org/docs/guide/12/reference/topics/gemfire_properties.html -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-8181) C++ client defaults statistic-sampling-enabled to true
[ https://issues.apache.org/jira/browse/GEODE-8181?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118798#comment-17118798 ] ASF GitHub Bot commented on GEODE-8181: --- pivotal-jbarrett commented on a change in pull request #606: URL: https://github.com/apache/geode-native/pull/606#discussion_r431913457 ## File path: cppcache/integration-test/resources/system.properties ## @@ -14,7 +14,7 @@ # limitations under the License. # All the configurable parameters. statistic-sample-rate=700s -statistic-sampling-enabled=false +statistic-sampling-enabled=true Review comment: No it’s used by a single integration test. This is an automated message from the Apache Git Service. To respond to the message, please log on to 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 > C++ client defaults statistic-sampling-enabled to true > -- > > Key: GEODE-8181 > URL: https://issues.apache.org/jira/browse/GEODE-8181 > Project: Geode > Issue Type: Bug >Reporter: Jacob Barrett >Assignee: Jacob Barrett >Priority: Major > > The Geode documentation, Java client and server all say the default value is > {{false}} but the C++ client library sets the default to {{true}}. This > causes files to be generated when it is not expected. It can cause failures > were writing to the current working directory is not allowed. Causes file > access violations if two caches are created in the same process space without > setting unique files or explicitly disabling. > https://geode.apache.org/docs/guide/12/reference/topics/gemfire_properties.html -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-8181) C++ client defaults statistic-sampling-enabled to true
[ https://issues.apache.org/jira/browse/GEODE-8181?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118794#comment-17118794 ] ASF GitHub Bot commented on GEODE-8181: --- pivotal-jbarrett commented on a change in pull request #606: URL: https://github.com/apache/geode-native/pull/606#discussion_r431913049 ## File path: cppcache/integration-test/testSystemProperties.cpp ## @@ -51,7 +51,7 @@ BEGIN_TEST(DEFAULT) ASSERT( systemProperties->statisticsSampleInterval() == std::chrono::seconds(1), "expected 1"); -ASSERT(systemProperties->statisticsEnabled() == true, "expected true"); +ASSERT(systemProperties->statisticsEnabled() == false, "expected true"); Review comment: Ha! Details! This is an automated message from the Apache Git Service. To respond to the message, please log on to 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 > C++ client defaults statistic-sampling-enabled to true > -- > > Key: GEODE-8181 > URL: https://issues.apache.org/jira/browse/GEODE-8181 > Project: Geode > Issue Type: Bug >Reporter: Jacob Barrett >Assignee: Jacob Barrett >Priority: Major > > The Geode documentation, Java client and server all say the default value is > {{false}} but the C++ client library sets the default to {{true}}. This > causes files to be generated when it is not expected. It can cause failures > were writing to the current working directory is not allowed. Causes file > access violations if two caches are created in the same process space without > setting unique files or explicitly disabling. > https://geode.apache.org/docs/guide/12/reference/topics/gemfire_properties.html -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-8181) C++ client defaults statistic-sampling-enabled to true
[ https://issues.apache.org/jira/browse/GEODE-8181?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118790#comment-17118790 ] ASF GitHub Bot commented on GEODE-8181: --- pdxcodemonkey commented on a change in pull request #606: URL: https://github.com/apache/geode-native/pull/606#discussion_r431908122 ## File path: cppcache/integration-test/testSystemProperties.cpp ## @@ -80,7 +80,7 @@ BEGIN_TEST(NEW_CONFIG) std::chrono::seconds(700), "expected 700"); -ASSERT(systemProperties->statisticsEnabled() == false, "expected false"); +ASSERT(systemProperties->statisticsEnabled() == true, "expected false"); Review comment: Same here ## File path: cppcache/integration-test/testSystemProperties.cpp ## @@ -51,7 +51,7 @@ BEGIN_TEST(DEFAULT) ASSERT( systemProperties->statisticsSampleInterval() == std::chrono::seconds(1), "expected 1"); -ASSERT(systemProperties->statisticsEnabled() == true, "expected true"); +ASSERT(systemProperties->statisticsEnabled() == false, "expected true"); Review comment: The string description should now be "expected false," no? ## File path: cppcache/integration-test/resources/system.properties ## @@ -14,7 +14,7 @@ # limitations under the License. # All the configurable parameters. statistic-sample-rate=700s -statistic-sampling-enabled=false +statistic-sampling-enabled=true Review comment: I don't understand this change. Doesn't this change the value to true for _all_ integration tests now? I thought only the expiration tests required this, i.e. the two places where you're now explicitly enabling them in test code. This is an automated message from the Apache Git Service. To respond to the message, please log on to 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 > C++ client defaults statistic-sampling-enabled to true > -- > > Key: GEODE-8181 > URL: https://issues.apache.org/jira/browse/GEODE-8181 > Project: Geode > Issue Type: Bug >Reporter: Jacob Barrett >Assignee: Jacob Barrett >Priority: Major > > The Geode documentation, Java client and server all say the default value is > {{false}} but the C++ client library sets the default to {{true}}. This > causes files to be generated when it is not expected. It can cause failures > were writing to the current working directory is not allowed. Causes file > access violations if two caches are created in the same process space without > setting unique files or explicitly disabling. > https://geode.apache.org/docs/guide/12/reference/topics/gemfire_properties.html -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Closed] (GEODE-8183) Travis Dockerfile doesn't match committed Dockerfile
[ https://issues.apache.org/jira/browse/GEODE-8183?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Blake Bender closed GEODE-8183. --- > Travis Dockerfile doesn't match committed Dockerfile > > > Key: GEODE-8183 > URL: https://issues.apache.org/jira/browse/GEODE-8183 > Project: Geode > Issue Type: Bug > Components: native client >Reporter: Michael Oleske >Priority: Major > > I'm not sure how geode-native keeps the Travis Dockerfile up to date, but it > is not with the committed one. The docker image currently used by Travis has > geode 1.12 while the committed one uses 1.9. It also fails to build because > tzdata is interactive. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Resolved] (GEODE-8183) Travis Dockerfile doesn't match committed Dockerfile
[ https://issues.apache.org/jira/browse/GEODE-8183?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Blake Bender resolved GEODE-8183. - Resolution: Fixed > Travis Dockerfile doesn't match committed Dockerfile > > > Key: GEODE-8183 > URL: https://issues.apache.org/jira/browse/GEODE-8183 > Project: Geode > Issue Type: Bug > Components: native client >Reporter: Michael Oleske >Priority: Major > > I'm not sure how geode-native keeps the Travis Dockerfile up to date, but it > is not with the committed one. The docker image currently used by Travis has > geode 1.12 while the committed one uses 1.9. It also fails to build because > tzdata is interactive. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Resolved] (GEODE-8184) Enforece no-extra-semi
[ https://issues.apache.org/jira/browse/GEODE-8184?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Blake Bender resolved GEODE-8184. - Resolution: Fixed > Enforece no-extra-semi > -- > > Key: GEODE-8184 > URL: https://issues.apache.org/jira/browse/GEODE-8184 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Michael Oleske >Priority: Major > > {{no-extra-semi}} was added as an exception to warnings as errors. This has > a todo and should be enforced. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Closed] (GEODE-8184) Enforece no-extra-semi
[ https://issues.apache.org/jira/browse/GEODE-8184?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Blake Bender closed GEODE-8184. --- > Enforece no-extra-semi > -- > > Key: GEODE-8184 > URL: https://issues.apache.org/jira/browse/GEODE-8184 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Michael Oleske >Priority: Major > > {{no-extra-semi}} was added as an exception to warnings as errors. This has > a todo and should be enforced. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-8176) CI Failure: ClientServerMiscBCDUnitTest > testPingWrongServer[1]
[ https://issues.apache.org/jira/browse/GEODE-8176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118777#comment-17118777 ] ASF GitHub Bot commented on GEODE-8176: --- alb3rtobr opened a new pull request #5176: URL: https://github.com/apache/geode/pull/5176 Hi @metatype I have been trying to reproduce the failure reported in the ticket, but I have not been able to do it yet. I dont know if you have progressed with this issue but just in case I think that we could add these checks to the test case in develop branch to have more information next time it appears. This is an automated message from the Apache Git Service. To respond to the message, please log on to 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: ClientServerMiscBCDUnitTest > testPingWrongServer[1] > - > > Key: GEODE-8176 > URL: https://issues.apache.org/jira/browse/GEODE-8176 > Project: Geode > Issue Type: Bug >Reporter: Donal Evans >Assignee: Anthony Baker >Priority: Major > > Failed in > https://concourse.apachegeode-ci.info/teams/main/pipelines/apache-develop-main/jobs/UpgradeTestOpenJDK8/builds/192#A > {noformat} > org.apache.geode.internal.cache.tier.sockets.ClientServerMiscBCDUnitTest > > testPingWrongServer[1] FAILED > org.apache.geode.test.dunit.RMIException: While invoking > org.apache.geode.internal.cache.tier.sockets.ClientServerMiscDUnitTestBase$$Lambda$310/201549247.run > in VM 3 running on Host c0a964e32781 with 5 VMs > Caused by: > org.junit.ComparisonFailure: expected:<[tru]e> but was:<[fals]e> > {noformat} > I ran the test 200 times locally with no failure, so this is possibly just a > blip. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-6641) Add support for two phase commit transactions
[ https://issues.apache.org/jira/browse/GEODE-6641?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118753#comment-17118753 ] ASF GitHub Bot commented on GEODE-6641: --- codecov-commenter commented on pull request #603: URL: https://github.com/apache/geode-native/pull/603#issuecomment-635385889 # [Codecov](https://codecov.io/gh/apache/geode-native/pull/603?src=pr&el=h1) Report > Merging [#603](https://codecov.io/gh/apache/geode-native/pull/603?src=pr&el=desc) into [develop](https://codecov.io/gh/apache/geode-native/commit/35b6d5260b2c04cf25e84b34d38bacbf56f0445e&el=desc) will **decrease** coverage by `0.06%`. > The diff coverage is `n/a`. [![Impacted file tree graph](https://codecov.io/gh/apache/geode-native/pull/603/graphs/tree.svg?width=650&height=150&src=pr&token=plpAqoqGag)](https://codecov.io/gh/apache/geode-native/pull/603?src=pr&el=tree) ```diff @@ Coverage Diff @@ ## develop #603 +/- ## === - Coverage73.42% 73.35% -0.07% === Files 639 639 Lines5092650926 === - Hits 3739037356 -34 - Misses 1353613570 +34 ``` | [Impacted Files](https://codecov.io/gh/apache/geode-native/pull/603?src=pr&el=tree) | Coverage Δ | | |---|---|---| | [cppcache/src/ReadWriteLock.cpp](https://codecov.io/gh/apache/geode-native/pull/603/diff?src=pr&el=tree#diff-Y3BwY2FjaGUvc3JjL1JlYWRXcml0ZUxvY2suY3Bw) | `81.25% <0.00%> (-18.75%)` | :arrow_down: | | [cppcache/src/ThinClientStickyManager.cpp](https://codecov.io/gh/apache/geode-native/pull/603/diff?src=pr&el=tree#diff-Y3BwY2FjaGUvc3JjL1RoaW5DbGllbnRTdGlja3lNYW5hZ2VyLmNwcA==) | `77.88% <0.00%> (-10.58%)` | :arrow_down: | | [cppcache/src/ServerLocation.hpp](https://codecov.io/gh/apache/geode-native/pull/603/diff?src=pr&el=tree#diff-Y3BwY2FjaGUvc3JjL1NlcnZlckxvY2F0aW9uLmhwcA==) | `85.41% <0.00%> (-4.17%)` | :arrow_down: | | [...tion-test/testThinClientRemoteQueryFailoverPdx.cpp](https://codecov.io/gh/apache/geode-native/pull/603/diff?src=pr&el=tree#diff-Y3BwY2FjaGUvaW50ZWdyYXRpb24tdGVzdC90ZXN0VGhpbkNsaWVudFJlbW90ZVF1ZXJ5RmFpbG92ZXJQZHguY3Bw) | `85.48% <0.00%> (-4.04%)` | :arrow_down: | | [cppcache/src/ThinClientBaseDM.cpp](https://codecov.io/gh/apache/geode-native/pull/603/diff?src=pr&el=tree#diff-Y3BwY2FjaGUvc3JjL1RoaW5DbGllbnRCYXNlRE0uY3Bw) | `67.51% <0.00%> (-2.55%)` | :arrow_down: | | [cppcache/src/ClientMetadata.cpp](https://codecov.io/gh/apache/geode-native/pull/603/diff?src=pr&el=tree#diff-Y3BwY2FjaGUvc3JjL0NsaWVudE1ldGFkYXRhLmNwcA==) | `65.43% <0.00%> (-1.24%)` | :arrow_down: | | [cppcache/src/TcrEndpoint.cpp](https://codecov.io/gh/apache/geode-native/pull/603/diff?src=pr&el=tree#diff-Y3BwY2FjaGUvc3JjL1RjckVuZHBvaW50LmNwcA==) | `54.97% <0.00%> (-1.13%)` | :arrow_down: | | [cppcache/src/ThinClientRedundancyManager.cpp](https://codecov.io/gh/apache/geode-native/pull/603/diff?src=pr&el=tree#diff-Y3BwY2FjaGUvc3JjL1RoaW5DbGllbnRSZWR1bmRhbmN5TWFuYWdlci5jcHA=) | `74.84% <0.00%> (-1.10%)` | :arrow_down: | | [cppcache/src/RemoteQuery.cpp](https://codecov.io/gh/apache/geode-native/pull/603/diff?src=pr&el=tree#diff-Y3BwY2FjaGUvc3JjL1JlbW90ZVF1ZXJ5LmNwcA==) | `75.53% <0.00%> (-1.07%)` | :arrow_down: | | [cppcache/src/TcrConnection.cpp](https://codecov.io/gh/apache/geode-native/pull/603/diff?src=pr&el=tree#diff-Y3BwY2FjaGUvc3JjL1RjckNvbm5lY3Rpb24uY3Bw) | `71.33% <0.00%> (-0.95%)` | :arrow_down: | | ... and [11 more](https://codecov.io/gh/apache/geode-native/pull/603/diff?src=pr&el=tree-more) | | -- [Continue to review full report at Codecov](https://codecov.io/gh/apache/geode-native/pull/603?src=pr&el=continue). > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta) > `Δ = absolute (impact)`, `ø = not affected`, `? = missing data` > Powered by [Codecov](https://codecov.io/gh/apache/geode-native/pull/603?src=pr&el=footer). Last update [35b6d52...f42e1f4](https://codecov.io/gh/apache/geode-native/pull/603?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments). This is an automated message from the Apache Git Service. To respond to the message, please log on to 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 support for two phase commit transactions > - > > Key: GEODE-6641 > URL: https://issues.apache.org/jira/browse/GEODE-6641 >
[jira] [Commented] (GEODE-8184) Enforece no-extra-semi
[ https://issues.apache.org/jira/browse/GEODE-8184?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118724#comment-17118724 ] ASF subversion and git services commented on GEODE-8184: Commit 7ed0bc5f369e3e30f437fc71652ae02c4d6bc18c in geode-native's branch refs/heads/develop from M. Oleske [ https://gitbox.apache.org/repos/asf?p=geode-native.git;h=7ed0bc5 ] GEODE-8184: Enforce no-extra-semi as error (#605) > Enforece no-extra-semi > -- > > Key: GEODE-8184 > URL: https://issues.apache.org/jira/browse/GEODE-8184 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Michael Oleske >Priority: Major > > {{no-extra-semi}} was added as an exception to warnings as errors. This has > a todo and should be enforced. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-8184) Enforece no-extra-semi
[ https://issues.apache.org/jira/browse/GEODE-8184?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118725#comment-17118725 ] ASF GitHub Bot commented on GEODE-8184: --- pdxcodemonkey merged pull request #605: URL: https://github.com/apache/geode-native/pull/605 This is an automated message from the Apache Git Service. To respond to the message, please log on to 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 > Enforece no-extra-semi > -- > > Key: GEODE-8184 > URL: https://issues.apache.org/jira/browse/GEODE-8184 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Michael Oleske >Priority: Major > > {{no-extra-semi}} was added as an exception to warnings as errors. This has > a todo and should be enforced. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-8166) Change redis expiration commands to use function+delta
[ https://issues.apache.org/jira/browse/GEODE-8166?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118490#comment-17118490 ] ASF GitHub Bot commented on GEODE-8166: --- dschneider-pivotal closed pull request #5137: URL: https://github.com/apache/geode/pull/5137 This is an automated message from the Apache Git Service. To respond to the message, please log on to 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 > Change redis expiration commands to use function+delta > -- > > Key: GEODE-8166 > URL: https://issues.apache.org/jira/browse/GEODE-8166 > Project: Geode > Issue Type: Improvement > Components: redis >Reporter: Darrel Schneider >Assignee: Darrel Schneider >Priority: Major > > The redis expiration commands (expire, pexpire, expireat, pexpireat, ttl, > pttl, and persist) need to be reimplemented to use the new function+delta > data model. They should also be careful to work correctly in a multi-node > cluster if one of the servers die. > -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-8166) Change redis expiration commands to use function+delta
[ https://issues.apache.org/jira/browse/GEODE-8166?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118492#comment-17118492 ] ASF GitHub Bot commented on GEODE-8166: --- dschneider-pivotal commented on pull request #5137: URL: https://github.com/apache/geode/pull/5137#issuecomment-635229163 closing in favor of: https://github.com/apache/geode/pull/5174 This is an automated message from the Apache Git Service. To respond to the message, please log on to 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 > Change redis expiration commands to use function+delta > -- > > Key: GEODE-8166 > URL: https://issues.apache.org/jira/browse/GEODE-8166 > Project: Geode > Issue Type: Improvement > Components: redis >Reporter: Darrel Schneider >Assignee: Darrel Schneider >Priority: Major > > The redis expiration commands (expire, pexpire, expireat, pexpireat, ttl, > pttl, and persist) need to be reimplemented to use the new function+delta > data model. They should also be careful to work correctly in a multi-node > cluster if one of the servers die. > -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-8119) Threads are not properly closed when offline disk-store commands are invoked
[ https://issues.apache.org/jira/browse/GEODE-8119?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118455#comment-17118455 ] ASF GitHub Bot commented on GEODE-8119: --- mkevo commented on a change in pull request #5167: URL: https://github.com/apache/geode/pull/5167#discussion_r431672982 ## File path: geode-core/src/upgradeTest/java/org/apache/geode/internal/cache/Geode8119RegressionDistributedTest.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.internal.cache; + +import static org.apache.geode.distributed.ConfigurationProperties.LOCATORS; +import static org.apache.geode.distributed.ConfigurationProperties.MCAST_PORT; +import static org.apache.geode.distributed.ConfigurationProperties.START_LOCATOR; +import static org.apache.geode.internal.AvailablePortHelper.getRandomAvailableTCPPortsForDUnitSite; +import static org.apache.geode.test.awaitility.GeodeAwaitility.await; +import static org.apache.geode.test.dunit.VM.getVM; +import static org.assertj.core.api.Assertions.assertThat; + +import java.io.File; +import java.io.IOException; +import java.io.Serializable; +import java.util.Arrays; +import java.util.Properties; +import java.util.stream.Collectors; +import java.util.stream.IntStream; + +import org.junit.Rule; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; + +import org.apache.geode.cache.DiskStoreFactory; +import org.apache.geode.cache.Region; +import org.apache.geode.cache.RegionShortcut; +import org.apache.geode.distributed.internal.InternalDistributedSystem; +import org.apache.geode.internal.serialization.Version; +import org.apache.geode.test.dunit.Host; +import org.apache.geode.test.dunit.VM; +import org.apache.geode.test.dunit.rules.CacheRule; +import org.apache.geode.test.dunit.rules.DistributedRule; +import org.apache.geode.test.junit.rules.GfshCommandRule; +import org.apache.geode.test.junit.rules.serializable.SerializableTemporaryFolder; + +@RunWith(Parameterized.class) +public class Geode8119RegressionDistributedTest implements Serializable { + private static final String REGION_NAME = "TestRegion"; + private static final String DISK_STORE_ID = "testDisk"; + + @Rule + public CacheRule cacheRule = new CacheRule(); + + @Rule + public transient GfshCommandRule gfsh = new GfshCommandRule(); + + @Rule + public DistributedRule distributedRule = new DistributedRule(); + + @Rule + public SerializableTemporaryFolder temporaryFolder = new SerializableTemporaryFolder(); + + @Parameterized.Parameter + public RegionShortcut regionShortcut; + + @Parameterized.Parameters(name = "RegionType={0}") + public static Iterable data() { +return Arrays.asList(RegionShortcut.PARTITION_PERSISTENT, RegionShortcut.REPLICATE_PERSISTENT); + } + + private Properties createLocatorConfiguration(int localLocatorPort) { +Properties config = new Properties(); +config.setProperty(MCAST_PORT, "0"); +config.setProperty(LOCATORS, "localhost[" + localLocatorPort + ']'); +config.setProperty(START_LOCATOR, +"localhost[" + localLocatorPort + "],server=true,peer=true,hostname-for-clients=localhost"); + +return config; + } + + private Properties createServerConfiguration(int localLocatorPort) { +Properties config = new Properties(); +config.setProperty(MCAST_PORT, "0"); +config.setProperty(LOCATORS, "localhost[" + localLocatorPort + ']'); + +return config; + } + + private void createDiskStore(File[] diskStoreDirectories) { +DiskStoreFactory diskStoreFactory = cacheRule.getCache().createDiskStoreFactory(); +diskStoreFactory.setMaxOplogSize(1); +diskStoreFactory.setAutoCompact(true); +diskStoreFactory.setAllowForceCompaction(true); +diskStoreFactory.setDiskDirs(diskStoreDirectories); + +diskStoreFactory.create(DISK_STORE_ID); + } + + private void createRegion() { +cacheRule.getCache() +.createRegionFactory(regionShortcut) +.setDiskStoreName(DISK_STORE_ID) +.create(REGION_NAME); + } + + private void createServerWithRegionAndPersistentRegion(File[] diskSt
[jira] [Commented] (GEODE-8119) Threads are not properly closed when offline disk-store commands are invoked
[ https://issues.apache.org/jira/browse/GEODE-8119?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118454#comment-17118454 ] ASF GitHub Bot commented on GEODE-8119: --- mkevo commented on a change in pull request #5167: URL: https://github.com/apache/geode/pull/5167#discussion_r431672982 ## File path: geode-core/src/upgradeTest/java/org/apache/geode/internal/cache/Geode8119RegressionDistributedTest.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.internal.cache; + +import static org.apache.geode.distributed.ConfigurationProperties.LOCATORS; +import static org.apache.geode.distributed.ConfigurationProperties.MCAST_PORT; +import static org.apache.geode.distributed.ConfigurationProperties.START_LOCATOR; +import static org.apache.geode.internal.AvailablePortHelper.getRandomAvailableTCPPortsForDUnitSite; +import static org.apache.geode.test.awaitility.GeodeAwaitility.await; +import static org.apache.geode.test.dunit.VM.getVM; +import static org.assertj.core.api.Assertions.assertThat; + +import java.io.File; +import java.io.IOException; +import java.io.Serializable; +import java.util.Arrays; +import java.util.Properties; +import java.util.stream.Collectors; +import java.util.stream.IntStream; + +import org.junit.Rule; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; + +import org.apache.geode.cache.DiskStoreFactory; +import org.apache.geode.cache.Region; +import org.apache.geode.cache.RegionShortcut; +import org.apache.geode.distributed.internal.InternalDistributedSystem; +import org.apache.geode.internal.serialization.Version; +import org.apache.geode.test.dunit.Host; +import org.apache.geode.test.dunit.VM; +import org.apache.geode.test.dunit.rules.CacheRule; +import org.apache.geode.test.dunit.rules.DistributedRule; +import org.apache.geode.test.junit.rules.GfshCommandRule; +import org.apache.geode.test.junit.rules.serializable.SerializableTemporaryFolder; + +@RunWith(Parameterized.class) +public class Geode8119RegressionDistributedTest implements Serializable { + private static final String REGION_NAME = "TestRegion"; + private static final String DISK_STORE_ID = "testDisk"; + + @Rule + public CacheRule cacheRule = new CacheRule(); + + @Rule + public transient GfshCommandRule gfsh = new GfshCommandRule(); + + @Rule + public DistributedRule distributedRule = new DistributedRule(); + + @Rule + public SerializableTemporaryFolder temporaryFolder = new SerializableTemporaryFolder(); + + @Parameterized.Parameter + public RegionShortcut regionShortcut; + + @Parameterized.Parameters(name = "RegionType={0}") + public static Iterable data() { +return Arrays.asList(RegionShortcut.PARTITION_PERSISTENT, RegionShortcut.REPLICATE_PERSISTENT); + } + + private Properties createLocatorConfiguration(int localLocatorPort) { +Properties config = new Properties(); +config.setProperty(MCAST_PORT, "0"); +config.setProperty(LOCATORS, "localhost[" + localLocatorPort + ']'); +config.setProperty(START_LOCATOR, +"localhost[" + localLocatorPort + "],server=true,peer=true,hostname-for-clients=localhost"); + +return config; + } + + private Properties createServerConfiguration(int localLocatorPort) { +Properties config = new Properties(); +config.setProperty(MCAST_PORT, "0"); +config.setProperty(LOCATORS, "localhost[" + localLocatorPort + ']'); + +return config; + } + + private void createDiskStore(File[] diskStoreDirectories) { +DiskStoreFactory diskStoreFactory = cacheRule.getCache().createDiskStoreFactory(); +diskStoreFactory.setMaxOplogSize(1); +diskStoreFactory.setAutoCompact(true); +diskStoreFactory.setAllowForceCompaction(true); +diskStoreFactory.setDiskDirs(diskStoreDirectories); + +diskStoreFactory.create(DISK_STORE_ID); + } + + private void createRegion() { +cacheRule.getCache() +.createRegionFactory(regionShortcut) +.setDiskStoreName(DISK_STORE_ID) +.create(REGION_NAME); + } + + private void createServerWithRegionAndPersistentRegion(File[] diskSt
[jira] [Commented] (GEODE-8119) Threads are not properly closed when offline disk-store commands are invoked
[ https://issues.apache.org/jira/browse/GEODE-8119?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118442#comment-17118442 ] ASF GitHub Bot commented on GEODE-8119: --- mkevo commented on pull request #5167: URL: https://github.com/apache/geode/pull/5167#issuecomment-635198597 I tried to run it and it failed with: ``` [Could not find: "/tmp/junit5454972723589376526/diskDir2/BACKUPtestDisk.if, /tmp/junit5454972723589376526/diskDir3/BACKUPtestDisk.if" ] expected:<[OK]> but was:<[ERROR]> ``` Also I tried to run it locally on the gfsh(without my changes) and see that if you create disk-store with multiple dirs added it will create this .if file only in first dir, and when doing validate it can't found it in other dirs. This is an automated message from the Apache Git Service. To respond to the message, please log on to 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 > Threads are not properly closed when offline disk-store commands are invoked > > > Key: GEODE-8119 > URL: https://issues.apache.org/jira/browse/GEODE-8119 > Project: Geode > Issue Type: Bug > Components: gfsh >Reporter: Mario Kevo >Assignee: Mario Kevo >Priority: Major > > Threads can be opened when you are online and offline, but close only when > you are online. Once some offline command started thread it cannot be closed > and after some time if there is a bigger number of this threads it can lead > to OOM exception. > Also the problem is that its validating only disk-dirs but not diskStore > name. So thread can be created but there is no diskStore with that name and > it will also hang. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-8193) Broken link in statistics list
[ https://issues.apache.org/jira/browse/GEODE-8193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118429#comment-17118429 ] ASF GitHub Bot commented on GEODE-8193: --- alb3rtobr commented on pull request #5166: URL: https://github.com/apache/geode/pull/5166#issuecomment-635191929 > Looks good to me. Thanks for the fix. Could you merge the PR? Im not a committer so I dont have permissions to do it. Thanks. This is an automated message from the Apache Git Service. To respond to the message, please log on to 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 > Broken link in statistics list > -- > > Key: GEODE-8193 > URL: https://issues.apache.org/jira/browse/GEODE-8193 > Project: Geode > Issue Type: Improvement > Components: docs >Reporter: Alberto Bustamante Reyes >Assignee: Alberto Bustamante Reyes >Priority: Major > Labels: pull-request-available > > The link of region entry heap-based eviction is wrong and shows the html > anchor id in the statistics lists: > * Region Entry Eviction - Heap-based eviction > (HeapLRUStatistics)#section_3B74F6FA08A374FBD92AA23047929B4F) > [https://geode.apache.org/docs/guide/112/reference/statistics_list.html] -- This message was sent by Atlassian Jira (v8.3.4#803005)