[jira] [Commented] (GEODE-9300) write-buffer-size parameter not used when creating disk store
[ https://issues.apache.org/jira/browse/GEODE-9300?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17388800#comment-17388800 ] ASF subversion and git services commented on GEODE-9300: Commit 277222dbcb78edf31f228c7e95e3ba938353b5b5 in geode's branch refs/heads/develop from Alberto Bustamante Reyes [ https://gitbox.apache.org/repos/asf?p=geode.git;h=277222d ] GEODE-9300: write-buffer-size value not used when creating disk store (#6596) > write-buffer-size parameter not used when creating disk store > - > > Key: GEODE-9300 > URL: https://issues.apache.org/jira/browse/GEODE-9300 > Project: Geode > Issue Type: Bug > Components: core >Reporter: Alberto Gomez >Assignee: Alberto Bustamante Reyes >Priority: Major > Labels: pull-request-available > > According to the Geode documentation, it is possible to set the write buffer > size by using --write-buffer-size when creating a disk store > ([https://geode.apache.org/docs/guide/113/tools_modules/gfsh/command-pages/create.html]). > > Nevertheless, setting a value for that parameter either by using gfsh, > cache.xml or the DiskStoreFactory.setWriteBuffer() method has no effect. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Resolved] (GEODE-9300) write-buffer-size parameter not used when creating disk store
[ https://issues.apache.org/jira/browse/GEODE-9300?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Alberto Bustamante Reyes resolved GEODE-9300. - Fix Version/s: 1.15.0 Resolution: Fixed > write-buffer-size parameter not used when creating disk store > - > > Key: GEODE-9300 > URL: https://issues.apache.org/jira/browse/GEODE-9300 > Project: Geode > Issue Type: Bug > Components: core >Reporter: Alberto Gomez >Assignee: Alberto Bustamante Reyes >Priority: Major > Labels: pull-request-available > Fix For: 1.15.0 > > > According to the Geode documentation, it is possible to set the write buffer > size by using --write-buffer-size when creating a disk store > ([https://geode.apache.org/docs/guide/113/tools_modules/gfsh/command-pages/create.html]). > > Nevertheless, setting a value for that parameter either by using gfsh, > cache.xml or the DiskStoreFactory.setWriteBuffer() method has no effect. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-9337) CI: session.NativeRedisSessionAcceptanceTest failed with Suspicious strings
[ https://issues.apache.org/jira/browse/GEODE-9337?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17388820#comment-17388820 ] Geode Integration commented on GEODE-9337: -- Seen in [acceptance-test-openjdk11 #100|https://concourse.apachegeode-ci.info/teams/main/pipelines/apache-develop-main/jobs/acceptance-test-openjdk11/builds/100] ... see [test results|http://files.apachegeode-ci.info/builds/apache-develop-main/1.15.0-build.0384/test-results/acceptanceTest/1627438459/] or download [artifacts|http://files.apachegeode-ci.info/builds/apache-develop-main/1.15.0-build.0384/test-artifacts/1627438459/acceptancetestfiles-openjdk11-1.15.0-build.0384.tgz]. > CI: session.NativeRedisSessionAcceptanceTest failed with Suspicious strings > --- > > Key: GEODE-9337 > URL: https://issues.apache.org/jira/browse/GEODE-9337 > Project: Geode > Issue Type: Bug > Components: redis >Reporter: Xiaojian Zhou >Assignee: Ray Ingles >Priority: Major > > In acceptance test: > > Task :geode-apis-compatible-with-redis:acceptanceTest > session.NativeRedisSessionAcceptanceTest > classMethod 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 'dunit_suspect-local.log' at line 1445 > [error 2021/06/01 17:35:16.963 UTC tid=98] Failed to > return response on inboundChannel > io.netty.channel.StacklessClosedChannelException > at io.netty.channel.AbstractChannel$AbstractUnsafe.write(Object, > ChannelPromise)(Unknown Source) > at org.junit.Assert.fail(Assert.java:89) > at > org.apache.geode.test.dunit.internal.DUnitLauncher.closeAndCheckForSuspects(DUnitLauncher.java:409) > at > org.apache.geode.test.dunit.rules.ClusterStartupRule.after(ClusterStartupRule.java:185) > at > org.apache.geode.test.dunit.rules.ClusterStartupRule.access$100(ClusterStartupRule.java:69) > at > org.apache.geode.test.dunit.rules.ClusterStartupRule$1.evaluate(ClusterStartupRule.java:140) > at org.junit.rules.RunRules.evaluate(RunRules.java:20) > at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) > at org.junit.runners.ParentRunner.run(ParentRunner.java:413) > at > org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.runTestClass(JUnitTestClassExecutor.java:110) > at > org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:58) > at > org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:38) > at > org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:62) > at > org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:51) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36) > at > org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) > at > org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) > at > org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94) > at com.sun.proxy.$Proxy2.processTestClass(Unknown Source) > at > org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:119) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36) > at > org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) > at > org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182) > at > org.gradle.internal.remote.internal.hub.MessageHubB
[jira] [Commented] (GEODE-9302) Benchmark instability in PartitionedPutStringBenchmark
[ https://issues.apache.org/jira/browse/GEODE-9302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17388839#comment-17388839 ] Geode Integration commented on GEODE-9302: -- Seen in [benchmark-base #99|https://concourse.apachegeode-ci.info/teams/main/pipelines/apache-develop-main/jobs/benchmark-base/builds/99]. > Benchmark instability in PartitionedPutStringBenchmark > -- > > Key: GEODE-9302 > URL: https://issues.apache.org/jira/browse/GEODE-9302 > Project: Geode > Issue Type: Bug > Components: benchmarks >Affects Versions: 1.15.0 >Reporter: Donal Evans >Priority: Major > > A benchmark failure due to the recently-introduced > PartitionedPutStringBenchmark was observed: > {noformat} > This is ITERATION 1 of benchmarking against baseline. > P2pPartitionedGetBenchmark avg ops/sec > Baseline:853001.60 Test:867151.67 Difference: +1.7% > avg latency > Baseline:842007.55 Test:828545.06 Difference: -1.6% > P2pPartitionedPutBenchmark avg ops/sec > Baseline:128283.47 Test:126510.92 Difference: -1.4% > avg latency > Baseline: 5785619.62 Test: 5915913.49 Difference: +2.3% > P2pPartitionedPutBytesBenchmark avg ops/sec > Baseline:175658.08 Test:174865.97 Difference: -0.5% > avg latency > Baseline: 4130071.43 Test: 4130753.09 Difference: +0.0% >PartitionedFunctionExecutionBenchmark avg ops/sec > Baseline:254788.26 Test:268132.99 Difference: +5.2% > avg latency > Baseline:846158.41 Test:804199.42 Difference: -5.0% > PartitionedFunctionExecutionWithArgumentsBenchmark avg ops/sec > Baseline:278669.87 Test:281504.58 Difference: +1.0% > avg latency > Baseline: 1031826.82 Test: 1021314.54 Difference: -1.0% > PartitionedFunctionExecutionWithFiltersBenchmark avg ops/sec > Baseline:372204.82 Test:348815.81 Difference: -6.3% > avg latency > Baseline: 1545217.38 Test: 1649706.37 Difference: +6.8% > PartitionedGetBenchmark avg ops/sec > Baseline:823740.09 Test:819044.99 Difference: -0.6% > avg latency > Baseline:872172.75 Test:877580.02 Difference: +0.6% > PartitionedGetLongBenchmark avg ops/sec > Baseline: 1047221.43 Test: 1045565.89 Difference: -0.2% > avg latency > Baseline:685757.55 Test:687005.43 Difference: +0.2% >PartitionedGetStringBenchmark avg ops/sec > Baseline: 1055904.14 Test: 1045420.73 Difference: -1.0% > avg latency > Baseline:680031.44 Test:687045.15 Difference: +1.0% > PartitionedIndexedQueryBenchmark avg ops/sec > Baseline: 31596.35 Test: 31653.48 Difference: +0.2% > avg latency > Baseline: 18221302.10 Test: 18216097.86 Difference: -0.0% > PartitionedNonIndexedQueryBenchmark avg ops/sec > Baseline:95.78 Test: 100.35 Difference: +4.8% > avg latency > Baseline: 750871203.78 Test: 716853923.95 Difference: -4.5% > PartitionedPutAllBenchmark avg ops/sec > Baseline: 8675.75 Test: 8628.10 Difference: -0.5% > avg latency > Baseline: 16595044.73 Test: 16685258.91 Difference: +0.5% > PartitionedPutAllLongBenchmark avg ops/sec > Baseline: 1382.38 Test: 1380.50 Difference: -0.1% > avg latency > Baseline: 104866853.92 Test: 104775538.34 Difference: -0.1% > PartitionedPutBenchmark avg ops/sec > Baseline:491790.40 Test:479926.75 Difference: -2.4% > avg latency > Baseline: 1461947.23 Test: 1497519.77 Difference: +2.4% >
[jira] [Updated] (GEODE-9471) gfsh show dead-locks will fail on java 16 and later
[ https://issues.apache.org/jira/browse/GEODE-9471?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Darrel Schneider updated GEODE-9471: Description: The gfsh show dead-locks command ends up depending on this class: org.apache.geode.distributed.internal.deadlock.UnsafeThreadLocal Most of the time this UnsafeThreadLocal just behaves like a normal jdk ThreadLocal (its super class). But when the gfsh command is executed it causes "get" to be called on UnsafeThreadLocal. It uses a bunch of reflection to prevent "get" from setting an initial value in the case of a miss. This reflection calls setAccessible which will cause get to fail on java 16 and later (see: [https://softwaregarden.dev/en/posts/new-java/illegal-access-in-java-16]). To workaround this failure set the JVM command line option: --illegal-access=permit The current solution adds get(Thread) to UnsafeThreadLocal which is different than ThreadLocal.get(). To fix this we probably need to stop using ThreadLocal and instead keep some kind of collection of the threads waiting for a resource. It might also be possible to ask the resource what threads are waiting for it. was: The gfsh show dead-locks command ends up depending on this class: org.apache.geode.distributed.internal.deadlock.UnsafeThreadLocal Most of the time this UnsafeThreadLocal just behaves like a normal jdk ThreadLocal (its super class). But when the gfsh command is executed it causes "get" to be called on UnsafeThreadLocal. It uses a bunch of reflection to prevent "get" from setting an initial value in the case of a miss. This reflection calls setAccessible which will cause get to fail on java 16 and later (see: https://softwaregarden.dev/en/posts/new-java/illegal-access-in-java-16). To workaround this failure set the JVM command line option: --illegal-access=permit The current solution iterates all the threads in the jvm checking which are in the thread local by doing a get. This would cause the thread local to end up containing all threads. What we could do on these scans (they only happen when gfsh show dead-locks is executed) is if the get misses for a thread we could turn around and call ThreadLocal.remove. A bit more expensive than the current solution but it would be safe and work on java 16. > gfsh show dead-locks will fail on java 16 and later > --- > > Key: GEODE-9471 > URL: https://issues.apache.org/jira/browse/GEODE-9471 > Project: Geode > Issue Type: Bug > Components: core >Reporter: Darrel Schneider >Priority: Major > Labels: Java16 > > The gfsh show dead-locks command ends up depending on this class: > org.apache.geode.distributed.internal.deadlock.UnsafeThreadLocal > Most of the time this UnsafeThreadLocal just behaves like a normal jdk > ThreadLocal (its super class). But when the gfsh command is executed it > causes "get" to be called on UnsafeThreadLocal. It uses a bunch of reflection > to prevent "get" from setting an initial value in the case of a miss. This > reflection calls setAccessible which will cause get to fail on java 16 and > later (see: > [https://softwaregarden.dev/en/posts/new-java/illegal-access-in-java-16]). > To workaround this failure set the JVM command line option: > --illegal-access=permit > The current solution adds get(Thread) to UnsafeThreadLocal which is different > than ThreadLocal.get(). To fix this we probably need to stop using > ThreadLocal and instead keep some kind of collection of the threads waiting > for a resource. It might also be possible to ask the resource what threads > are waiting for it. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-9393) Apache Geode does not run on Java 16
[ https://issues.apache.org/jira/browse/GEODE-9393?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17388872#comment-17388872 ] Darrel Schneider commented on GEODE-9393: - Note that the workaround of using --illegal-access=permit will no longer be allowed in java 17 (the upcoming LTS release). The --add-opens workaround will be available in java 17. The source of this info is: https://openjdk.java.net/jeps/403 > Apache Geode does not run on Java 16 > > > Key: GEODE-9393 > URL: https://issues.apache.org/jira/browse/GEODE-9393 > Project: Geode > Issue Type: Improvement > Components: core >Affects Versions: 1.13.2 >Reporter: John Blum >Priority: Blocker > Labels: Java16 > > Due to Java 16 tightened restrictions, Apache Geode fails to run on a Java 16 > Runtime (JRE). > Exceptions like the following are thrown: > {code} > - org.apache.geode.InternalGemFireException: unable to retrieve underlying > byte buffer > - at > org.apache.geode.internal.net.BufferPool.getPoolableBuffer(BufferPool.java:346) > - at > org.apache.geode.internal.net.BufferPool.releaseBuffer(BufferPool.java:310) > - at > org.apache.geode.internal.net.BufferPool.releaseSenderBuffer(BufferPool.java:213) > - at org.apache.geode.internal.tcp.MsgStreamer.release(MsgStreamer.java:100) > - at > org.apache.geode.internal.tcp.MsgStreamer.writeMessage(MsgStreamer.java:256) > - at > org.apache.geode.distributed.internal.direct.DirectChannel.sendToMany(DirectChannel.java:306) > - at > org.apache.geode.distributed.internal.direct.DirectChannel.sendToOne(DirectChannel.java:182) > - at > org.apache.geode.distributed.internal.direct.DirectChannel.send(DirectChannel.java:511) > - 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:2050) > - at > org.apache.geode.distributed.internal.ClusterDistributionManager.sendOutgoing(ClusterDistributionManager.java:1978) > - at > org.apache.geode.distributed.internal.ClusterDistributionManager.sendMessage(ClusterDistributionManager.java:2015) > - at > org.apache.geode.distributed.internal.ClusterDistributionManager.putOutgoing(ClusterDistributionManager.java:1083) > - at > org.apache.geode.distributed.internal.StartupMessage.process(StartupMessage.java:279) > - at > org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:376) > - at > org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:441) > - at > java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) > - at > java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) > - at > org.apache.geode.distributed.internal.ClusterOperationExecutors.runUntilShutdown(ClusterOperationExecutors.java:441) > - at > org.apache.geode.distributed.internal.ClusterOperationExecutors.doWaitingThread(ClusterOperationExecutors.java:410) > - at > org.apache.geode.logging.internal.executors.LoggingThreadFactory.lambda$newThread$0(LoggingThreadFactory.java:119) > - at java.base/java.lang.Thread.run(Thread.java:831) > - Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make > public java.lang.Object java.nio.DirectByteBuffer.attachment() accessible: > module java.base does not "opens java.nio" to unnamed module @40f9161a > - at > java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:357) > - at > java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297) > - at > java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199) > - at java.base/java.lang.reflect.Method.setAccessible(Method.java:193) > - at > org.apache.geode.internal.net.BufferPool.getPoolableBuffer(BufferPool.java:343) > - ... 22 common frames omitted > - 2021-04-30 14:57:13,638 INFO ributed.internal.membership.gms.Services: 606 > - received leave request from > 10.99.199.28(CacheNotUsingSharedConfigurationIntegrationTest:29149):41001 > for > 10.99.199.28(CacheNotUsingSharedConfigurationIntegrationTest:29149):41001 > - 2021-04-30 14:57:13,640 INFO ributed.internal.membership.gms.Services: 617 > - JoinLeave.processMessage(LeaveRequestMessage) invoked. isCoordinator=true; > isStopping=false; cancelInProgress=false > - 2021-04-30 14:57:13,647 ERROR xecutors.LoggingUncaughtExceptionHandler: 92 > - Uncaught exception in thread Thread[P2P message reader for > 10.99.199.28(CacheNotUsingSharedConfigurationIntegrationTest:29149)
[jira] [Commented] (GEODE-8728) Configure Gradle to run parallel tests in isolation without Docker [PERMANENT]
[ https://issues.apache.org/jira/browse/GEODE-8728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17388876#comment-17388876 ] ASF subversion and git services commented on GEODE-8728: Commit cb2f9874ca9e8840afaff932e1ef53b93552d967 in geode's branch refs/heads/develop from Dale Emery [ https://gitbox.apache.org/repos/asf?p=geode.git;h=cb2f987 ] GEODE-8728: Isolate tests without Docker (#6720) * GEODE-8728: Isolate tests without Docker This commit changes Geode's build system to run test worker processes outside of Docker. It replaces the Dockerized test plugin with a new plugin that assigns each test worker process a distinct range of ports. BUILD SYSTEM Changed `multi-process-test.gradle` to mark relevant test tasks as isolated tests. The `IsolatedTestPlugin` applies itself to test tasks marked this way. DOCKERIZED TEST PLUGIN Removed the dockerized test plugin. SPECIFY PORT RANGES VIA SYSTEM PROPERTIES Added `AvailablePort.lowerBound` and `AvailablePort.upperBound` system properties to specify the range of non-membership ports considered by the "get random port" methods of `AvaiablePort` and `AvailablePortHelper`. Changed `AvailablePort` and `AvailablePortHelper` to use the membership port range specified by Geode's existing `membership-port-range` system property, if defined. Changed `ProcessManager`to forward the test worker JVM's port range system properties to each child VM it creates. ISOLATED TEST PLUGIN Added the `IsolatedTestPlugin`, which overrides Gradle's built-in test worker process launcher with a custom mechanism: - `PortRange`: Defines a range of ports. - `PortRangeContext`: Defines the membership and non-membership port ranges for a process. Configures each `ProcessBuilder` to set the port range system properties for the process being launched. - `CompletableProcess`: Wraps a regular Java `Process` to execute an action on termination. - `PortRangeProcessLauncher`: Assigns each test worker process a distinct port range context. Launches test worker processes. Wraps each test worker `Process` in a `CompletableProcess` that releases its port range context when the process terminates. SPECIFIC TESTS Changed several tests in `DistributedSystemDUnitTest` and `InternalDistributedSystemJUnitTest` to clear the port range system properties added by the `IsolatedTestPlugin`. These tests verify that the system applies Geode's default port ranges. For these tests to work, those system properties must not be defined. Disabled a `NetstatDUnitTest` test that executes `lsof`. When this test runs CI outside of a Docker container, in the presence of dozens of tests and potentially hundreds of Geode members, the output of `lsof` is enormous. The `NetstatFunction` attempts to collect all of the output in memory, which results in an out of memory exception. Co-authored-by: Dale Emery * Spotless Co-authored-by: Dale Emery > Configure Gradle to run parallel tests in isolation without Docker [PERMANENT] > -- > > Key: GEODE-8728 > URL: https://issues.apache.org/jira/browse/GEODE-8728 > Project: Geode > Issue Type: Test > Components: tests >Affects Versions: 1.14.0 >Reporter: Dale Emery >Assignee: Dale Emery >Priority: Major > Labels: GeodeOperationAPI, pull-request-available > > For tests to behave well when run in parallel, each must refrain from using > ports and test files that are in use by other tests. > Geode's Gradle build isolates concurrently executing tests by running each > test class in a Docker container. To do this, the build applies an open > source "Gradle Dockerized Test" plugin that is obsolete and appears to be > unmaintained. > This ticket removes the obsolete plugin and replaces it with a small amount > of custom Gradle code and a few minor changes to Geode: > - Configure Gradle to assign each concurrently executing test JVM a unique > working directory and a distinct range of ports. > - Change Geode's "available port" feature to allocate ports only from the > ranges assigned by Gradle. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-8728) Configure Gradle to run parallel tests in isolation without Docker [PERMANENT]
[ https://issues.apache.org/jira/browse/GEODE-8728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17388875#comment-17388875 ] ASF subversion and git services commented on GEODE-8728: Commit cb2f9874ca9e8840afaff932e1ef53b93552d967 in geode's branch refs/heads/develop from Dale Emery [ https://gitbox.apache.org/repos/asf?p=geode.git;h=cb2f987 ] GEODE-8728: Isolate tests without Docker (#6720) * GEODE-8728: Isolate tests without Docker This commit changes Geode's build system to run test worker processes outside of Docker. It replaces the Dockerized test plugin with a new plugin that assigns each test worker process a distinct range of ports. BUILD SYSTEM Changed `multi-process-test.gradle` to mark relevant test tasks as isolated tests. The `IsolatedTestPlugin` applies itself to test tasks marked this way. DOCKERIZED TEST PLUGIN Removed the dockerized test plugin. SPECIFY PORT RANGES VIA SYSTEM PROPERTIES Added `AvailablePort.lowerBound` and `AvailablePort.upperBound` system properties to specify the range of non-membership ports considered by the "get random port" methods of `AvaiablePort` and `AvailablePortHelper`. Changed `AvailablePort` and `AvailablePortHelper` to use the membership port range specified by Geode's existing `membership-port-range` system property, if defined. Changed `ProcessManager`to forward the test worker JVM's port range system properties to each child VM it creates. ISOLATED TEST PLUGIN Added the `IsolatedTestPlugin`, which overrides Gradle's built-in test worker process launcher with a custom mechanism: - `PortRange`: Defines a range of ports. - `PortRangeContext`: Defines the membership and non-membership port ranges for a process. Configures each `ProcessBuilder` to set the port range system properties for the process being launched. - `CompletableProcess`: Wraps a regular Java `Process` to execute an action on termination. - `PortRangeProcessLauncher`: Assigns each test worker process a distinct port range context. Launches test worker processes. Wraps each test worker `Process` in a `CompletableProcess` that releases its port range context when the process terminates. SPECIFIC TESTS Changed several tests in `DistributedSystemDUnitTest` and `InternalDistributedSystemJUnitTest` to clear the port range system properties added by the `IsolatedTestPlugin`. These tests verify that the system applies Geode's default port ranges. For these tests to work, those system properties must not be defined. Disabled a `NetstatDUnitTest` test that executes `lsof`. When this test runs CI outside of a Docker container, in the presence of dozens of tests and potentially hundreds of Geode members, the output of `lsof` is enormous. The `NetstatFunction` attempts to collect all of the output in memory, which results in an out of memory exception. Co-authored-by: Dale Emery * Spotless Co-authored-by: Dale Emery > Configure Gradle to run parallel tests in isolation without Docker [PERMANENT] > -- > > Key: GEODE-8728 > URL: https://issues.apache.org/jira/browse/GEODE-8728 > Project: Geode > Issue Type: Test > Components: tests >Affects Versions: 1.14.0 >Reporter: Dale Emery >Assignee: Dale Emery >Priority: Major > Labels: GeodeOperationAPI, pull-request-available > > For tests to behave well when run in parallel, each must refrain from using > ports and test files that are in use by other tests. > Geode's Gradle build isolates concurrently executing tests by running each > test class in a Docker container. To do this, the build applies an open > source "Gradle Dockerized Test" plugin that is obsolete and appears to be > unmaintained. > This ticket removes the obsolete plugin and replaces it with a small amount > of custom Gradle code and a few minor changes to Geode: > - Configure Gradle to assign each concurrently executing test JVM a unique > working directory and a distinct range of ports. > - Change Geode's "available port" feature to allocate ports only from the > ranges assigned by Gradle. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (GEODE-9463) Default serialization filter rejects SerializableRegionRedundancyStatusImpl
[ https://issues.apache.org/jira/browse/GEODE-9463?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Alexander Murmann updated GEODE-9463: - Affects Version/s: 1.14.0 1.13.0 > Default serialization filter rejects SerializableRegionRedundancyStatusImpl > --- > > Key: GEODE-9463 > URL: https://issues.apache.org/jira/browse/GEODE-9463 > Project: Geode > Issue Type: Bug > Components: serialization >Affects Versions: 1.13.0, 1.14.0 >Reporter: Aaron Lindsey >Assignee: Eric Shu >Priority: Major > Labels: GeodeOperationAPI, blocks-1.13.4, blocks-1.14.0 > Attachments: logs-1.tgz, logs-2.tgz > > > When validate-serializable-objects=true, there are exceptions in the logs > related to serializing the class SerializableRegionRedundancyStatusImpl. This > is an internal class which should be allowed by the default serializable > object filter. > We saw this issue happen on Kubernetes while invoking rebalance and restore > redundancy operations on the cluster. I attached logs from 2 separate test > failures due to this issue. > {code:java} > [fatal 2021/07/22 00:14:31.392 GMT system-test-gemfire-locator-1 > tid=0x51] Serialization filter is rejecting class > org.apache.geode.internal.cache.control.SerializableRegionRedundancyStatusImpljava.lang.Exception: > at > org.apache.geode.internal.ObjectInputStreamFilterWrapper.lambda$createSerializationFilter$0(ObjectInputStreamFilterWrapper.java:234) > at com.sun.proxy.$Proxy23.checkInput(Unknown Source)at > java.base/java.io.ObjectInputStream.filterCheck(ObjectInputStream.java:1336) > at > java.base/java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:2005) > at > java.base/java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1862) > at > java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2169) > at > java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1679) > at > java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:493) > at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:451) >at java.base/java.util.HashMap.readObject(HashMap.java:1460)at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native > Method)at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.base/java.lang.reflect.Method.invoke(Method.java:566)at > java.base/java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1175) > at > java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2325) > at > java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2196) > at > java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1679) > at > java.base/java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2464) > at > java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2358) > at > java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2196) > at > java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1679) > at > java.base/java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2464) > at > java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2358) > at > java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2196) > at > java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1679) > at > java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:493) > at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:451) >at > org.apache.geode.internal.InternalDataSerializer.readSerializable(InternalDataSerializer.java:2689) > at > org.apache.geode.internal.InternalDataSerializer.basicReadObject(InternalDataSerializer.java:2633) > at org.apache.geode.DataSerializer.readObject(DataSerializer.java:2864) > at > org.apache.geode.internal.util.BlobHelper.deserializeBlob(BlobHelper.java:102) > at > org.apache.geode.internal.cache.EntryEventImpl.deserialize(EntryEventImpl.java:2049) > at > org.apache.geode.internal.cache.EntryEventImpl.deserialize(EntryEventImpl.java:2041) > at > org.apache.geode.internal.cache.VMCachedDeserializable.getDeserializedValue(VMCachedDeserializable.java:138) > at > org.apache.geode.internal.cache.LocalRegion.getDeserialized(LocalRegion.java:1277) > at > org.apache.geode.internal.cache.NonTXEntry.getValue(NonTXEntry.ja
[jira] [Created] (GEODE-9472) Improve Test Stability of VerifyNoLeakedThreads
Michael Martell created GEODE-9472: -- Summary: Improve Test Stability of VerifyNoLeakedThreads Key: GEODE-9472 URL: https://issues.apache.org/jira/browse/GEODE-9472 Project: Geode Issue Type: Test Components: native client Reporter: Michael Martell This test fails occasionally in the CI due to the heuristic being a little too stringent for such a dynamic environment. Just need to broaden the acceptable range for the ratio process threads before and after a cache operation and cache close. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-9472) Improve Test Stability of VerifyNoLeakedThreads
[ https://issues.apache.org/jira/browse/GEODE-9472?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=1736#comment-1736 ] ASF subversion and git services commented on GEODE-9472: Commit ee56462efea30a7d527c7533fd6d7cb3242eaa2d in geode-native's branch refs/heads/GEODE-9472-fix-verifyNoLeakedThreads from Mike Martell [ https://gitbox.apache.org/repos/asf?p=geode-native.git;h=ee56462 ] GEODE-9472: Relax the ratio of before and after threads. > Improve Test Stability of VerifyNoLeakedThreads > --- > > Key: GEODE-9472 > URL: https://issues.apache.org/jira/browse/GEODE-9472 > Project: Geode > Issue Type: Test > Components: native client >Reporter: Michael Martell >Priority: Major > > This test fails occasionally in the CI due to the heuristic being a little > too stringent for such a dynamic environment. Just need to broaden the > acceptable range for the ratio process threads before and after a cache > operation and cache close. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-9472) Improve Test Stability of VerifyNoLeakedThreads
[ https://issues.apache.org/jira/browse/GEODE-9472?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=1737#comment-1737 ] ASF GitHub Bot commented on GEODE-9472: --- mmartell opened a new pull request #835: URL: https://github.com/apache/geode-native/pull/835 The heuristic was a bit too strict. With 25 iterations, there was no reason to have the range be so small. -- 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. To unsubscribe, e-mail: notifications-unsubscr...@geode.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Improve Test Stability of VerifyNoLeakedThreads > --- > > Key: GEODE-9472 > URL: https://issues.apache.org/jira/browse/GEODE-9472 > Project: Geode > Issue Type: Test > Components: native client >Reporter: Michael Martell >Priority: Major > > This test fails occasionally in the CI due to the heuristic being a little > too stringent for such a dynamic environment. Just need to broaden the > acceptable range for the ratio process threads before and after a cache > operation and cache close. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (GEODE-9472) Improve Test Stability of VerifyNoLeakedThreads
[ https://issues.apache.org/jira/browse/GEODE-9472?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] ASF GitHub Bot updated GEODE-9472: -- Labels: pull-request-available (was: ) > Improve Test Stability of VerifyNoLeakedThreads > --- > > Key: GEODE-9472 > URL: https://issues.apache.org/jira/browse/GEODE-9472 > Project: Geode > Issue Type: Test > Components: native client >Reporter: Michael Martell >Priority: Major > Labels: pull-request-available > > This test fails occasionally in the CI due to the heuristic being a little > too stringent for such a dynamic environment. Just need to broaden the > acceptable range for the ratio process threads before and after a cache > operation and cache close. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-9472) Improve Test Stability of VerifyNoLeakedThreads
[ https://issues.apache.org/jira/browse/GEODE-9472?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17388893#comment-17388893 ] ASF GitHub Bot commented on GEODE-9472: --- pdxcodemonkey commented on a change in pull request #835: URL: https://github.com/apache/geode-native/pull/835#discussion_r678505200 ## File path: clicache/integration-test2/GarbageCollectCache.cs ## @@ -83,10 +83,9 @@ public void VerifyNoLeakedThreads() // environment startup. if (i > 5) { -//Assert.True(.8 < ratio && ratio < 1.3); string error = "ncThreadsBefore = " + ncThreadsBefore.ToString() + ", ncThreadsAfter = " + ncThreadsAfter.ToString(); -Assert.False(!(.8 < ratio && ratio < 1.3), error); +Assert.False(!(.5 < ratio && ratio < 2.0), error); Review comment: Can we please make this a positive assert, rather than a negative? It's very hard to read. The commented-out line that you removed is MUCH clearer, while stating the same thing. ``` Assert.True(.5 < ratio < 2.0); ``` Even changing it to two different assertions is easier to read, and potentially more helpful for debugging/diagnosis: ``` Assert.False(ratio < .5, error); Assert.False(ratio > 2.0, error); ``` -- 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. To unsubscribe, e-mail: notifications-unsubscr...@geode.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Improve Test Stability of VerifyNoLeakedThreads > --- > > Key: GEODE-9472 > URL: https://issues.apache.org/jira/browse/GEODE-9472 > Project: Geode > Issue Type: Test > Components: native client >Reporter: Michael Martell >Priority: Major > Labels: pull-request-available > > This test fails occasionally in the CI due to the heuristic being a little > too stringent for such a dynamic environment. Just need to broaden the > acceptable range for the ratio process threads before and after a cache > operation and cache close. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-3481) RestServersIntegrationTest fails on Windows
[ https://issues.apache.org/jira/browse/GEODE-3481?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17388906#comment-17388906 ] Geode Integration commented on GEODE-3481: -- Seen in [integration-test-openjdk11 #99|https://concourse.apachegeode-ci.info/teams/main/pipelines/apache-develop-main/jobs/integration-test-openjdk11/builds/99] ... see [test results|http://files.apachegeode-ci.info/builds/apache-develop-main/1.15.0-build.0386/test-results/integrationTest/1627491266/] or download [artifacts|http://files.apachegeode-ci.info/builds/apache-develop-main/1.15.0-build.0386/test-artifacts/1627491266/integrationtestfiles-openjdk11-1.15.0-build.0386.tgz]. > RestServersIntegrationTest fails on Windows > --- > > Key: GEODE-3481 > URL: https://issues.apache.org/jira/browse/GEODE-3481 > Project: Geode > Issue Type: Sub-task > Components: rest (dev), tests > Environment: Windows >Reporter: Kirk Lund >Priority: Major > Labels: IntegrationTest, Windows > > {noformat} > rg.apache.geode.rest.internal.web.RestServersIntegrationTest > testGet FAILED > org.junit.ComparisonFailure: expected:<[200]> but was:<[404]> > 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.rest.internal.web.RestServersIntegrationTest.testGet(RestServersIntegrationTest.java:49) > org.apache.geode.rest.internal.web.RestServersIntegrationTest > > testServerStartedOnDefaultPort FAILED > org.json.JSONException: Value of type java.lang.String cannot be > converted to JSONArray > at org.json.JSON.typeMismatch(JSON.java:108) > at org.json.JSONArray.(JSONArray.java:85) > at > org.apache.geode.rest.internal.web.GeodeRestClient.getJsonArray(GeodeRestClient.java:99) > at > org.apache.geode.rest.internal.web.RestServersIntegrationTest.testServerStartedOnDefaultPort(RestServersIntegrationTest.java:55) > {noformat} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-9393) Apache Geode does not run on Java 16
[ https://issues.apache.org/jira/browse/GEODE-9393?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17388911#comment-17388911 ] Darrel Schneider commented on GEODE-9393: - For a helpful discussion if --add-opens and --illegal-access see: http://openjdk.java.net/jeps/261 > Apache Geode does not run on Java 16 > > > Key: GEODE-9393 > URL: https://issues.apache.org/jira/browse/GEODE-9393 > Project: Geode > Issue Type: Improvement > Components: core >Affects Versions: 1.13.2 >Reporter: John Blum >Priority: Blocker > Labels: Java16 > > Due to Java 16 tightened restrictions, Apache Geode fails to run on a Java 16 > Runtime (JRE). > Exceptions like the following are thrown: > {code} > - org.apache.geode.InternalGemFireException: unable to retrieve underlying > byte buffer > - at > org.apache.geode.internal.net.BufferPool.getPoolableBuffer(BufferPool.java:346) > - at > org.apache.geode.internal.net.BufferPool.releaseBuffer(BufferPool.java:310) > - at > org.apache.geode.internal.net.BufferPool.releaseSenderBuffer(BufferPool.java:213) > - at org.apache.geode.internal.tcp.MsgStreamer.release(MsgStreamer.java:100) > - at > org.apache.geode.internal.tcp.MsgStreamer.writeMessage(MsgStreamer.java:256) > - at > org.apache.geode.distributed.internal.direct.DirectChannel.sendToMany(DirectChannel.java:306) > - at > org.apache.geode.distributed.internal.direct.DirectChannel.sendToOne(DirectChannel.java:182) > - at > org.apache.geode.distributed.internal.direct.DirectChannel.send(DirectChannel.java:511) > - 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:2050) > - at > org.apache.geode.distributed.internal.ClusterDistributionManager.sendOutgoing(ClusterDistributionManager.java:1978) > - at > org.apache.geode.distributed.internal.ClusterDistributionManager.sendMessage(ClusterDistributionManager.java:2015) > - at > org.apache.geode.distributed.internal.ClusterDistributionManager.putOutgoing(ClusterDistributionManager.java:1083) > - at > org.apache.geode.distributed.internal.StartupMessage.process(StartupMessage.java:279) > - at > org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:376) > - at > org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:441) > - at > java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) > - at > java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) > - at > org.apache.geode.distributed.internal.ClusterOperationExecutors.runUntilShutdown(ClusterOperationExecutors.java:441) > - at > org.apache.geode.distributed.internal.ClusterOperationExecutors.doWaitingThread(ClusterOperationExecutors.java:410) > - at > org.apache.geode.logging.internal.executors.LoggingThreadFactory.lambda$newThread$0(LoggingThreadFactory.java:119) > - at java.base/java.lang.Thread.run(Thread.java:831) > - Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make > public java.lang.Object java.nio.DirectByteBuffer.attachment() accessible: > module java.base does not "opens java.nio" to unnamed module @40f9161a > - at > java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:357) > - at > java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297) > - at > java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199) > - at java.base/java.lang.reflect.Method.setAccessible(Method.java:193) > - at > org.apache.geode.internal.net.BufferPool.getPoolableBuffer(BufferPool.java:343) > - ... 22 common frames omitted > - 2021-04-30 14:57:13,638 INFO ributed.internal.membership.gms.Services: 606 > - received leave request from > 10.99.199.28(CacheNotUsingSharedConfigurationIntegrationTest:29149):41001 > for > 10.99.199.28(CacheNotUsingSharedConfigurationIntegrationTest:29149):41001 > - 2021-04-30 14:57:13,640 INFO ributed.internal.membership.gms.Services: 617 > - JoinLeave.processMessage(LeaveRequestMessage) invoked. isCoordinator=true; > isStopping=false; cancelInProgress=false > - 2021-04-30 14:57:13,647 ERROR xecutors.LoggingUncaughtExceptionHandler: 92 > - Uncaught exception in thread Thread[P2P message reader for > 10.99.199.28(CacheNotUsingSharedConfigurationIntegrationTest:29149):41001 > shared unordered uid=1 local port=53039 remote port=64063,10,main] > - org.apache.geode.InternalGemFireException: unable to retrieve un
[jira] [Updated] (GEODE-9463) Default serialization filter rejects SerializableRegionRedundancyStatusImpl
[ https://issues.apache.org/jira/browse/GEODE-9463?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Owen Nichols updated GEODE-9463: Labels: GeodeOperationAPI blocks-1.14.0 (was: GeodeOperationAPI blocks-1.13.4 blocks-1.14.0) > Default serialization filter rejects SerializableRegionRedundancyStatusImpl > --- > > Key: GEODE-9463 > URL: https://issues.apache.org/jira/browse/GEODE-9463 > Project: Geode > Issue Type: Bug > Components: serialization >Affects Versions: 1.13.0, 1.14.0 >Reporter: Aaron Lindsey >Assignee: Eric Shu >Priority: Major > Labels: GeodeOperationAPI, blocks-1.14.0 > Attachments: logs-1.tgz, logs-2.tgz > > > When validate-serializable-objects=true, there are exceptions in the logs > related to serializing the class SerializableRegionRedundancyStatusImpl. This > is an internal class which should be allowed by the default serializable > object filter. > We saw this issue happen on Kubernetes while invoking rebalance and restore > redundancy operations on the cluster. I attached logs from 2 separate test > failures due to this issue. > {code:java} > [fatal 2021/07/22 00:14:31.392 GMT system-test-gemfire-locator-1 > tid=0x51] Serialization filter is rejecting class > org.apache.geode.internal.cache.control.SerializableRegionRedundancyStatusImpljava.lang.Exception: > at > org.apache.geode.internal.ObjectInputStreamFilterWrapper.lambda$createSerializationFilter$0(ObjectInputStreamFilterWrapper.java:234) > at com.sun.proxy.$Proxy23.checkInput(Unknown Source)at > java.base/java.io.ObjectInputStream.filterCheck(ObjectInputStream.java:1336) > at > java.base/java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:2005) > at > java.base/java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1862) > at > java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2169) > at > java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1679) > at > java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:493) > at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:451) >at java.base/java.util.HashMap.readObject(HashMap.java:1460)at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native > Method)at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.base/java.lang.reflect.Method.invoke(Method.java:566)at > java.base/java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1175) > at > java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2325) > at > java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2196) > at > java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1679) > at > java.base/java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2464) > at > java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2358) > at > java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2196) > at > java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1679) > at > java.base/java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2464) > at > java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2358) > at > java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2196) > at > java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1679) > at > java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:493) > at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:451) >at > org.apache.geode.internal.InternalDataSerializer.readSerializable(InternalDataSerializer.java:2689) > at > org.apache.geode.internal.InternalDataSerializer.basicReadObject(InternalDataSerializer.java:2633) > at org.apache.geode.DataSerializer.readObject(DataSerializer.java:2864) > at > org.apache.geode.internal.util.BlobHelper.deserializeBlob(BlobHelper.java:102) > at > org.apache.geode.internal.cache.EntryEventImpl.deserialize(EntryEventImpl.java:2049) > at > org.apache.geode.internal.cache.EntryEventImpl.deserialize(EntryEventImpl.java:2041) > at > org.apache.geode.internal.cache.VMCachedDeserializable.getDeserializedValue(VMCachedDeserializable.java:138) > at > org.apache.geode.internal.cache.LocalRegion.getDeserialized(LocalRegion.java:1277) > at > org.apache.geode.internal.cache.NonTXEntry.getVal
[jira] [Commented] (GEODE-9359) add net-core-session to geode-native
[ https://issues.apache.org/jira/browse/GEODE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17388915#comment-17388915 ] ASF GitHub Bot commented on GEODE-9359: --- pivotal-jbarrett commented on a change in pull request #834: URL: https://github.com/apache/geode-native/pull/834#discussion_r678530667 ## File path: netcore/NetCore.Session/GeodeCacheServiceCollectionExtensions.cs ## @@ -0,0 +1,44 @@ +/* + * 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. + */ + using System; +using Microsoft.Extensions.Caching.Distributed; +using Microsoft.Extensions.DependencyInjection; + +namespace Apache.Geode.Session +{ +public static class GeodeCacheServiceCollectionExtensions +{ Review comment: Formatting is not consistent with the .NET Core client sources. ## File path: netcore/NetCore.Session/GeodeCacheServiceCollectionExtensions.cs ## @@ -0,0 +1,44 @@ +/* + * 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. + */ + using System; Review comment: formatting ## File path: netcore/geode-dotnet-core.sln ## @@ -7,24 +7,56 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NetCore", "NetCore\NetCore. EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NetCore.Test", "NetCore.Test\NetCore.Test.csproj", "{501DEA7E-8985-42A8-8BC9-C073E1B6DFE0}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Session", "Session", "{520C96EC-F929-4365-8D78-CC5785419B62}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NetCore.Session", "NetCore.Session\NetCore.Session.csproj", "{B88C58EB-B144-403B-85F7-7A5B45E643E3}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NetCore.Session.IntegrationTests", "NetCore.Session.IntegrationTests\NetCore.Session.IntegrationTests.csproj", "{94D2CD59-A5F3-4504-BF01-0A3B95CE12B5}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU Debug|x64 = Debug|x64 + Release|Any CPU = Release|Any CPU Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {09ABBCE7-B217-43F1-A51B-CC5BDCD8EE98}.Debug|Any CPU.ActiveCfg = Debug|x64 {09ABBCE7-B217-43F1-A51B-CC5BDCD8EE98}.Debug|x64.ActiveCfg = Debug|x64 {09ABBCE7-B217-43F1-A51B-CC5BDCD8EE98}.Debug|x64.Build.0 = Debug|x64 + {09ABBCE7-B217-43F1-A51B-CC5BDCD8EE98}.Release|Any CPU.ActiveCfg = Release|x64 Review comment: What about `RelWithDebInfo`? ## File path: netcore/NetCore.Session/NetCoreSessionState.cs ## @@ -0,0 +1,377 @@ +/* + * 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 CO
[jira] [Commented] (GEODE-6588) Cleanup internal use of generics and other static analyzer warnings
[ https://issues.apache.org/jira/browse/GEODE-6588?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17388916#comment-17388916 ] ASF subversion and git services commented on GEODE-6588: Commit cb96b926799386eb0056b305f9a5576a919cbe06 in geode's branch refs/heads/develop from Jacob Barrett [ https://gitbox.apache.org/repos/asf?p=geode.git;h=cb96b92 ] GEODE-6588: Cleanup multi-user auth. > Cleanup internal use of generics and other static analyzer warnings > --- > > Key: GEODE-6588 > URL: https://issues.apache.org/jira/browse/GEODE-6588 > Project: Geode > Issue Type: Task >Reporter: Jacob Barrett >Assignee: Jacob Barrett >Priority: Major > Labels: pull-request-available > Time Spent: 8h 40m > Remaining Estimate: 0h > > Use generics where possible. > Cleanup other static analyzer issues along the way. > Generally make the IntelliJ analyzer gutter less cluttered. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (GEODE-9473) Geode deserialization will fail on java 16
[ https://issues.apache.org/jira/browse/GEODE-9473?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Darrel Schneider updated GEODE-9473: Labels: Java16 (was: ) > Geode deserialization will fail on java 16 > -- > > Key: GEODE-9473 > URL: https://issues.apache.org/jira/browse/GEODE-9473 > Project: Geode > Issue Type: Bug > Components: serialization >Reporter: Darrel Schneider >Priority: Major > Labels: Java16 > > In three different places geode deserialization calls setAccessible in order > to make the constructor callable. This will not work on java 16 and later > because it calls Field.setAccessible which is not allowed under normal > conditions starting with java 16 (see: > https://softwaregarden.dev/en/posts/new-java/illegal-access-in-java-16 ). > To workaround this failure set the JVM command line option: > --illegal-access=permit or use --add-opens. > The places that make the calls for deserialization are: > * org.apache.geode.internal.InternalDataSerializer#newInstance > * org.apache.geode.internal.InternalDataSerializer#readDataSerializable > * org.apache.geode.internal.InternalInstantiator#newInstance -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (GEODE-9473) Geode deserialization will fail on java 16
Darrel Schneider created GEODE-9473: --- Summary: Geode deserialization will fail on java 16 Key: GEODE-9473 URL: https://issues.apache.org/jira/browse/GEODE-9473 Project: Geode Issue Type: Bug Components: serialization Reporter: Darrel Schneider In three different places geode deserialization calls setAccessible in order to make the constructor callable. This will not work on java 16 and later because it calls Field.setAccessible which is not allowed under normal conditions starting with java 16 (see: https://softwaregarden.dev/en/posts/new-java/illegal-access-in-java-16 ). To workaround this failure set the JVM command line option: --illegal-access=permit or use --add-opens. The places that make the calls for deserialization are: * org.apache.geode.internal.InternalDataSerializer#newInstance * org.apache.geode.internal.InternalDataSerializer#readDataSerializable * org.apache.geode.internal.InternalInstantiator#newInstance -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-6588) Cleanup internal use of generics and other static analyzer warnings
[ https://issues.apache.org/jira/browse/GEODE-6588?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17388922#comment-17388922 ] ASF subversion and git services commented on GEODE-6588: Commit 7e06d035828389e31634ef87435eac712fed8123 in geode's branch refs/heads/develop from Jacob Barrett [ https://gitbox.apache.org/repos/asf?p=geode.git;h=7e06d03 ] GEODE-6588: Cleanup FilterRoutingInfo > Cleanup internal use of generics and other static analyzer warnings > --- > > Key: GEODE-6588 > URL: https://issues.apache.org/jira/browse/GEODE-6588 > Project: Geode > Issue Type: Task >Reporter: Jacob Barrett >Assignee: Jacob Barrett >Priority: Major > Labels: pull-request-available > Time Spent: 8h 40m > Remaining Estimate: 0h > > Use generics where possible. > Cleanup other static analyzer issues along the way. > Generally make the IntelliJ analyzer gutter less cluttered. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-6588) Cleanup internal use of generics and other static analyzer warnings
[ https://issues.apache.org/jira/browse/GEODE-6588?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17388921#comment-17388921 ] ASF subversion and git services commented on GEODE-6588: Commit 0fd2c3267455b53b888db4944ded0099a11228b3 in geode's branch refs/heads/develop from Jacob Barrett [ https://gitbox.apache.org/repos/asf?p=geode.git;h=0fd2c32 ] GEODE-6588: Cleanup InternalDistributedMember > Cleanup internal use of generics and other static analyzer warnings > --- > > Key: GEODE-6588 > URL: https://issues.apache.org/jira/browse/GEODE-6588 > Project: Geode > Issue Type: Task >Reporter: Jacob Barrett >Assignee: Jacob Barrett >Priority: Major > Labels: pull-request-available > Time Spent: 8h 40m > Remaining Estimate: 0h > > Use generics where possible. > Cleanup other static analyzer issues along the way. > Generally make the IntelliJ analyzer gutter less cluttered. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-8870) Remove obsolete version compatibility code
[ https://issues.apache.org/jira/browse/GEODE-8870?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17388920#comment-17388920 ] ASF subversion and git services commented on GEODE-8870: Commit 536ad41e11ed355c987f25bb72a5ee7c7d697f3e in geode's branch refs/heads/develop from Jacob Barrett [ https://gitbox.apache.org/repos/asf?p=geode.git;h=536ad41 ] GEODE-8870: Removes GFE_71 > Remove obsolete version compatibility code > -- > > Key: GEODE-8870 > URL: https://issues.apache.org/jira/browse/GEODE-8870 > Project: Geode > Issue Type: Improvement >Reporter: Jacob Barrett >Assignee: Jacob Barrett >Priority: Major > Labels: pull-request-available > > As a followup to GEODE-8837 remove all obsolete backwards compatibility code. > This ticket will catch all changes to remove the obsolete code. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-6588) Cleanup internal use of generics and other static analyzer warnings
[ https://issues.apache.org/jira/browse/GEODE-6588?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17388923#comment-17388923 ] ASF subversion and git services commented on GEODE-6588: Commit 963d03a7ca8c21a95d65a152bc8ef118fa98ff10 in geode's branch refs/heads/develop from Jacob Barrett [ https://gitbox.apache.org/repos/asf?p=geode.git;h=963d03a ] GEODE-6588: Cleanup MemberIdentifierImpl > Cleanup internal use of generics and other static analyzer warnings > --- > > Key: GEODE-6588 > URL: https://issues.apache.org/jira/browse/GEODE-6588 > Project: Geode > Issue Type: Task >Reporter: Jacob Barrett >Assignee: Jacob Barrett >Priority: Major > Labels: pull-request-available > Time Spent: 8h 40m > Remaining Estimate: 0h > > Use generics where possible. > Cleanup other static analyzer issues along the way. > Generally make the IntelliJ analyzer gutter less cluttered. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (GEODE-9474) the Geode offheap feature will fail on java 16
[ https://issues.apache.org/jira/browse/GEODE-9474?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Darrel Schneider updated GEODE-9474: Labels: Java16 (was: ) > the Geode offheap feature will fail on java 16 > -- > > Key: GEODE-9474 > URL: https://issues.apache.org/jira/browse/GEODE-9474 > Project: Geode > Issue Type: Bug > Components: offheap >Reporter: Darrel Schneider >Priority: Major > Labels: Java16 > > In two different places geode offheap calls setAccessible. In one place it is > to call the "address" method. In the other it is to call the DIrectByteBuffer > constructor that passes an address in to the constructor. These will not work > on java 16 and later because it calls Method.setAccessible which is not > allowed under normal conditions starting with java 16 (see: > https://softwaregarden.dev/en/posts/new-java/illegal-access-in-java-16 ). > To workaround this failure set the JVM command line option: > --illegal-access=permit or use --add-opens. > The places that make the calls: > * > org.apache.geode.internal.offheap.AddressableMemoryManager#getDirectByteBufferAddress > * > org.apache.geode.internal.offheap.AddressableMemoryManager#createDirectByteBuffer > The "address" call does not need to use reflection and setAccessible but can > instead do it with casting. See > org.apache.geode.unsafe.internal.sun.nio.ch.DirectBuffer for how this is done. > The constructor issue is a bigger problem. This constructor can be called > from JNI NewDirectByteBuffer but needing to add native code to geode does not > seem worth the trouble. If some other solution can not be found then the > above workaround would need to be used if offheap is. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (GEODE-9474) the Geode offheap feature will fail on java 16
Darrel Schneider created GEODE-9474: --- Summary: the Geode offheap feature will fail on java 16 Key: GEODE-9474 URL: https://issues.apache.org/jira/browse/GEODE-9474 Project: Geode Issue Type: Bug Components: offheap Reporter: Darrel Schneider In two different places geode offheap calls setAccessible. In one place it is to call the "address" method. In the other it is to call the DIrectByteBuffer constructor that passes an address in to the constructor. These will not work on java 16 and later because it calls Method.setAccessible which is not allowed under normal conditions starting with java 16 (see: https://softwaregarden.dev/en/posts/new-java/illegal-access-in-java-16 ). To workaround this failure set the JVM command line option: --illegal-access=permit or use --add-opens. The places that make the calls: * org.apache.geode.internal.offheap.AddressableMemoryManager#getDirectByteBufferAddress * org.apache.geode.internal.offheap.AddressableMemoryManager#createDirectByteBuffer The "address" call does not need to use reflection and setAccessible but can instead do it with casting. See org.apache.geode.unsafe.internal.sun.nio.ch.DirectBuffer for how this is done. The constructor issue is a bigger problem. This constructor can be called from JNI NewDirectByteBuffer but needing to add native code to geode does not seem worth the trouble. If some other solution can not be found then the above workaround would need to be used if offheap is. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-9472) Improve Test Stability of VerifyNoLeakedThreads
[ https://issues.apache.org/jira/browse/GEODE-9472?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17388948#comment-17388948 ] ASF GitHub Bot commented on GEODE-9472: --- mmartell commented on a change in pull request #835: URL: https://github.com/apache/geode-native/pull/835#discussion_r678561976 ## File path: clicache/integration-test2/GarbageCollectCache.cs ## @@ -83,10 +83,9 @@ public void VerifyNoLeakedThreads() // environment startup. if (i > 5) { -//Assert.True(.8 < ratio && ratio < 1.3); string error = "ncThreadsBefore = " + ncThreadsBefore.ToString() + ", ncThreadsAfter = " + ncThreadsAfter.ToString(); -Assert.False(!(.8 < ratio && ratio < 1.3), error); +Assert.False(!(.5 < ratio && ratio < 2.0), error); Review comment: I put that in for debugging purposes. Assert.True wasn't giving me the output. Agree with your comment. Will change it back. -- 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. To unsubscribe, e-mail: notifications-unsubscr...@geode.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Improve Test Stability of VerifyNoLeakedThreads > --- > > Key: GEODE-9472 > URL: https://issues.apache.org/jira/browse/GEODE-9472 > Project: Geode > Issue Type: Test > Components: native client >Reporter: Michael Martell >Priority: Major > Labels: pull-request-available > > This test fails occasionally in the CI due to the heuristic being a little > too stringent for such a dynamic environment. Just need to broaden the > acceptable range for the ratio process threads before and after a cache > operation and cache close. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-9472) Improve Test Stability of VerifyNoLeakedThreads
[ https://issues.apache.org/jira/browse/GEODE-9472?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17388950#comment-17388950 ] ASF GitHub Bot commented on GEODE-9472: --- mmartell commented on a change in pull request #835: URL: https://github.com/apache/geode-native/pull/835#discussion_r678561976 ## File path: clicache/integration-test2/GarbageCollectCache.cs ## @@ -83,10 +83,9 @@ public void VerifyNoLeakedThreads() // environment startup. if (i > 5) { -//Assert.True(.8 < ratio && ratio < 1.3); string error = "ncThreadsBefore = " + ncThreadsBefore.ToString() + ", ncThreadsAfter = " + ncThreadsAfter.ToString(); -Assert.False(!(.8 < ratio && ratio < 1.3), error); +Assert.False(!(.5 < ratio && ratio < 2.0), error); Review comment: I put that in for debugging purposes. Assert.True wasn't giving me the output. Agree with your comment. Will change it back since we don't need to debug anymore. -- 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. To unsubscribe, e-mail: notifications-unsubscr...@geode.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Improve Test Stability of VerifyNoLeakedThreads > --- > > Key: GEODE-9472 > URL: https://issues.apache.org/jira/browse/GEODE-9472 > Project: Geode > Issue Type: Test > Components: native client >Reporter: Michael Martell >Priority: Major > Labels: pull-request-available > > This test fails occasionally in the CI due to the heuristic being a little > too stringent for such a dynamic environment. Just need to broaden the > acceptable range for the ratio process threads before and after a cache > operation and cache close. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (GEODE-9169) Remove Context Switch Between Netty and Command Queue Thread
[ https://issues.apache.org/jira/browse/GEODE-9169?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] ASF GitHub Bot updated GEODE-9169: -- Labels: performance pull-request-available redis (was: performance redis) > Remove Context Switch Between Netty and Command Queue Thread > > > Key: GEODE-9169 > URL: https://issues.apache.org/jira/browse/GEODE-9169 > Project: Geode > Issue Type: New Feature > Components: redis >Reporter: Wayne >Priority: Major > Labels: performance, pull-request-available, redis > Fix For: 1.15.0 > > > On the current develop branch, the Netty thread reads a message and then puts > it on a queue for another thread to process. Performing the region update > directly on the Netty thread significantly improved performance. > The original behavior was there to support pub/sub use cases, where we need > to push updates to the Netty channel, as well as following Netty best > practices of not blocking the Netty thread. We need to see how we can make > this same change on develop to avoid the context switch while still > supporting pub/sub and not breaking other use cases. > +Acceptance Criteria+ > The context switch between the Netty and command queue thread has been > removed for all commands that are not pub/sub related. > Geode benchmarks perform better after this change for all non-pubsub commands. > -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (GEODE-9356) Create CI pipeline for net-core
[ https://issues.apache.org/jira/browse/GEODE-9356?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] ASF GitHub Bot updated GEODE-9356: -- Labels: pull-request-available (was: ) > Create CI pipeline for net-core > --- > > Key: GEODE-9356 > URL: https://issues.apache.org/jira/browse/GEODE-9356 > Project: Geode > Issue Type: Task > Components: native client >Reporter: Ernest Burghardt >Priority: Major > Labels: pull-request-available > > This pipeline will be hosted on the Apache publicly available Concourse and > publish to NuGet -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-9356) Create CI pipeline for net-core
[ https://issues.apache.org/jira/browse/GEODE-9356?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17388978#comment-17388978 ] ASF GitHub Bot commented on GEODE-9356: --- mreddington opened a new pull request #836: URL: https://github.com/apache/geode-native/pull/836 This will cause our existing CI to build netcore on all platforms. The build tree is embedded in the source tree because as far as I can tell from the Microsoft documentation and community, that's how the MS build system works. We can separate source and build trees as soon as CSharp is supported in CMake for all platforms. -- 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. To unsubscribe, e-mail: notifications-unsubscr...@geode.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Create CI pipeline for net-core > --- > > Key: GEODE-9356 > URL: https://issues.apache.org/jira/browse/GEODE-9356 > Project: Geode > Issue Type: Task > Components: native client >Reporter: Ernest Burghardt >Priority: Major > > This pipeline will be hosted on the Apache publicly available Concourse and > publish to NuGet -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (GEODE-9475) ObjectSizer will fail on java 16 and later
[ https://issues.apache.org/jira/browse/GEODE-9475?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Darrel Schneider updated GEODE-9475: Labels: Java16 (was: ) > ObjectSizer will fail on java 16 and later > -- > > Key: GEODE-9475 > URL: https://issues.apache.org/jira/browse/GEODE-9475 > Project: Geode > Issue Type: Bug > Components: core >Reporter: Darrel Schneider >Priority: Major > Labels: Java16 > > The instances of org.apache.geode.cache.util.ObjectSizer, SIZE_CLASS_ONCE, > REFLECTION_SIZE, and DEFAULT will not work on java 16 and later because they > call Field.setAccessible which is not allowed under normal conditions > starting with java 16 (see: > https://softwaregarden.dev/en/posts/new-java/illegal-access-in-java-16 ). > To workaround this failure set the JVM command line option: > --illegal-access=permit > These ObjectSizer instances are used in a number of places internally by > geode and can also explicitly be configured by users. Internally they are > used by default for eviction (heap or mem), the wan gateway, and tombstone > gc. Most all regions produce tombstones so that is the most likely point of > failure. > The code that calls setAccessible is: > org.apache.geode.internal.size.ObjectTraverser#buildFieldSet and it is not > clear how this code can be changed to do its job without using setAccessible. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (GEODE-9475) ObjectSizer will fail on java 16 and later
Darrel Schneider created GEODE-9475: --- Summary: ObjectSizer will fail on java 16 and later Key: GEODE-9475 URL: https://issues.apache.org/jira/browse/GEODE-9475 Project: Geode Issue Type: Bug Components: core Reporter: Darrel Schneider The instances of org.apache.geode.cache.util.ObjectSizer, SIZE_CLASS_ONCE, REFLECTION_SIZE, and DEFAULT will not work on java 16 and later because they call Field.setAccessible which is not allowed under normal conditions starting with java 16 (see: https://softwaregarden.dev/en/posts/new-java/illegal-access-in-java-16 ). To workaround this failure set the JVM command line option: --illegal-access=permit These ObjectSizer instances are used in a number of places internally by geode and can also explicitly be configured by users. Internally they are used by default for eviction (heap or mem), the wan gateway, and tombstone gc. Most all regions produce tombstones so that is the most likely point of failure. The code that calls setAccessible is: org.apache.geode.internal.size.ObjectTraverser#buildFieldSet and it is not clear how this code can be changed to do its job without using setAccessible. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-9359) add net-core-session to geode-native
[ https://issues.apache.org/jira/browse/GEODE-9359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17389009#comment-17389009 ] ASF GitHub Bot commented on GEODE-9359: --- pdxcodemonkey commented on a change in pull request #834: URL: https://github.com/apache/geode-native/pull/834#discussion_r678601117 ## File path: netcore/NetCore.Session/NetCoreSessionState.cs ## @@ -0,0 +1,377 @@ +/* + * 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. + */ +using Apache.Geode.Client; +using Microsoft.Extensions.Caching.Distributed; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using System; +using System.Threading; +using System.Threading.Tasks; + +namespace Apache.Geode.Session +{ +public class GeodeSessionStateValue +{ +DateTime _lastAccessTimeUtc; +DateTime _expirationTimeUtc = DateTime.MinValue; +TimeSpan _spanUntilStale = TimeSpan.Zero; +private byte[] _value; + +public GeodeSessionStateValue() { } +public GeodeSessionStateValue(byte[] value) +{ +FromByteArray(value); +} + +public byte[] Value +{ +get { return _value; } +set { _value = value; } +} +public DateTime LastAccessTimeUtc +{ +get { return _lastAccessTimeUtc; } +set { _lastAccessTimeUtc = value; } +} + +public DateTime ExpirationTimeUtc +{ +get { return _expirationTimeUtc; } +set { _expirationTimeUtc = value; } +} + +public TimeSpan SpanUntilStale +{ +get { return _spanUntilStale; } +set { _spanUntilStale = value; } +} + +public byte[] ToByteArray() +{ +int neededBytes = 3 * sizeof(long) + _value.Length; +byte[] byteArray = new byte[neededBytes]; +int byteIndex = 0; + +// Append LastAccessTimeUtc +Array.Copy(BitConverter.GetBytes(LastAccessTimeUtc.Ticks), 0, byteArray, byteIndex, sizeof(long)); +byteIndex += sizeof(long); + +// Append ExpirationTimeUtc +Array.Copy(BitConverter.GetBytes(ExpirationTimeUtc.Ticks), 0, byteArray, byteIndex, sizeof(long)); +byteIndex += sizeof(long); + +// Append SpanUntilStale +Array.Copy(BitConverter.GetBytes(SpanUntilStale.Ticks), 0, byteArray, byteIndex, sizeof(long)); +byteIndex += sizeof(long); + +// Append the value +Array.Copy(_value, 0, byteArray, byteIndex, _value.Length); +return byteArray; +} + +public void FromByteArray(byte[] data) +{ +int byteIndex = 0; + +// Extract the LastAccessTimeUtc +LastAccessTimeUtc = DateTime.FromBinary(BitConverter.ToInt64(data, byteIndex)); +byteIndex += sizeof(long); + +// Extract the ExpirationTimeUtc +ExpirationTimeUtc = DateTime.FromBinary(BitConverter.ToInt64(data, byteIndex)); +byteIndex += sizeof(long); + +// Extract the SpanUntilStale +SpanUntilStale = TimeSpan.FromTicks(BitConverter.ToInt64(data, byteIndex)); +byteIndex += sizeof(long); + +// Extract the value +Value = new byte[data.Length - byteIndex]; +Array.Copy(data, byteIndex, _value, 0, data.Length - byteIndex); +} +} + +public class GeodeSessionStateCache : GeodeNativeObject, IDistributedCache +{ +private readonly IGeodeCache _cache; +private ILogger _logger; +private static Region _region; +private string _regionName; +private readonly SemaphoreSlim _connectLock = new SemaphoreSlim(initialCount: 1, maxCount: 1); + +public GeodeSessionStateCache(IOptions optionsAccessor) { + +var host = optionsAccessor.Value.Host; +var port = optionsAccessor.Value.Port; +_regionName = optionsAccessor.Value.RegionName; + +_cache = CacheFactory.Create() +.SetProperty("log-level", "none")
[jira] [Created] (GEODE-9476) VMStats processCpuTime, fdLimit, and fdsOpen will always be zero on java 16 and later
Darrel Schneider created GEODE-9476: --- Summary: VMStats processCpuTime, fdLimit, and fdsOpen will always be zero on java 16 and later Key: GEODE-9476 URL: https://issues.apache.org/jira/browse/GEODE-9476 Project: Geode Issue Type: Bug Components: statistics Reporter: Darrel Schneider VMStats processCpuTime, fdLimit, and fdsOpen will always be zero on java 16 and later. This is because it calls Method.setAccessible which is not allowed under normal conditions starting with java 16 (see: https://softwaregarden.dev/en/posts/new-java/illegal-access-in-java-16). A workaround for this bug is to start the jvm with --illegal-access=permit The setAccessible call is in the static initializer for: org.apache.geode.internal.stats50.VMStats50 It turns out the following works for calling processCpuTime: {code:java} OperatingSystemMXBean osBean = ManagementFactory.getOperatingSystemMXBean(); com.sun.management.OperatingSystemMXBean sunBean = (com.sun.management.OperatingSystemMXBean) osBean; System.out.println("getProcessCpuTime=" + sunBean.getProcessCpuTime()); {code} so we can get rid of the setAccessible call -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (GEODE-9476) VMStats processCpuTime, fdLimit, and fdsOpen will always be zero on java 16 and later
[ https://issues.apache.org/jira/browse/GEODE-9476?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Darrel Schneider updated GEODE-9476: Labels: Java16 (was: ) > VMStats processCpuTime, fdLimit, and fdsOpen will always be zero on java 16 > and later > - > > Key: GEODE-9476 > URL: https://issues.apache.org/jira/browse/GEODE-9476 > Project: Geode > Issue Type: Bug > Components: statistics >Reporter: Darrel Schneider >Priority: Major > Labels: Java16 > > VMStats processCpuTime, fdLimit, and fdsOpen will always be zero on java 16 > and later. > This is because it calls Method.setAccessible which is not allowed under > normal conditions starting with java 16 (see: > https://softwaregarden.dev/en/posts/new-java/illegal-access-in-java-16). > A workaround for this bug is to start the jvm with --illegal-access=permit > The setAccessible call is in the static initializer for: > org.apache.geode.internal.stats50.VMStats50 > It turns out the following works for calling processCpuTime: > {code:java} > OperatingSystemMXBean osBean = > ManagementFactory.getOperatingSystemMXBean(); > com.sun.management.OperatingSystemMXBean sunBean = > (com.sun.management.OperatingSystemMXBean) osBean; > System.out.println("getProcessCpuTime=" + > sunBean.getProcessCpuTime()); > {code} > so we can get rid of the setAccessible call -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (GEODE-9477) Geode membership will have issues on java 16 and later
Darrel Schneider created GEODE-9477: --- Summary: Geode membership will have issues on java 16 and later Key: GEODE-9477 URL: https://issues.apache.org/jira/browse/GEODE-9477 Project: Geode Issue Type: Bug Components: membership Reporter: Darrel Schneider Geode membership uses setAccessible in a number of places to access jgroups internals. This will not work on java 16 and later (see: https://softwaregarden.dev/en/posts/new-java/illegal-access-in-java-16). A workaround for this bug is to start the jvm with --illegal-access=permit The places that call setAccessible in membership are: * org.apache.geode.distributed.internal.membership.gms.messenger.AddressManager#findPingDataMethod (the catch in this method will not catch the RuntimeException thrown by setAccessible) * org.apache.geode.distributed.internal.membership.gms.messenger.JGroupsMessenger#setChannelReceiver * org.apache.geode.distributed.internal.membership.gms.messenger.JGroupsMessenger#start * org.apache.geode.distributed.internal.membership.gms.messenger.JGroupsMessenger#checkForIPv6 * org.apache.geode.distributed.internal.membership.gms.messenger.JGroupsMessenger#establishLocalAddress -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (GEODE-9477) Geode membership will have issues on java 16 and later
[ https://issues.apache.org/jira/browse/GEODE-9477?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Darrel Schneider updated GEODE-9477: Labels: Java16 (was: ) > Geode membership will have issues on java 16 and later > -- > > Key: GEODE-9477 > URL: https://issues.apache.org/jira/browse/GEODE-9477 > Project: Geode > Issue Type: Bug > Components: membership >Reporter: Darrel Schneider >Priority: Major > Labels: Java16 > > Geode membership uses setAccessible in a number of places to access jgroups > internals. > This will not work on java 16 and later (see: > https://softwaregarden.dev/en/posts/new-java/illegal-access-in-java-16). > A workaround for this bug is to start the jvm with --illegal-access=permit > The places that call setAccessible in membership are: > * > org.apache.geode.distributed.internal.membership.gms.messenger.AddressManager#findPingDataMethod > (the catch in this method will not catch the RuntimeException thrown by > setAccessible) > * > org.apache.geode.distributed.internal.membership.gms.messenger.JGroupsMessenger#setChannelReceiver > * > org.apache.geode.distributed.internal.membership.gms.messenger.JGroupsMessenger#start > * > org.apache.geode.distributed.internal.membership.gms.messenger.JGroupsMessenger#checkForIPv6 > * > org.apache.geode.distributed.internal.membership.gms.messenger.JGroupsMessenger#establishLocalAddress -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (GEODE-9185) Implement ZPOPMAX Command
[ https://issues.apache.org/jira/browse/GEODE-9185?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] ASF GitHub Bot updated GEODE-9185: -- Labels: pull-request-available redis (was: redis) > Implement ZPOPMAX Command > - > > Key: GEODE-9185 > URL: https://issues.apache.org/jira/browse/GEODE-9185 > Project: Geode > Issue Type: New Feature > Components: redis >Reporter: Wayne >Priority: Major > Labels: pull-request-available, redis > Fix For: 1.15.0 > > > Implement the [ZPOPMAX|https://redis.io/commands/zpopmax] Command. > > +Acceptance Criteria+ > The ZPOPMAX command has been implemented and unit tests have been developed > to ensure that the command works as expected. > -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-9356) Create CI pipeline for net-core
[ https://issues.apache.org/jira/browse/GEODE-9356?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17389107#comment-17389107 ] ASF GitHub Bot commented on GEODE-9356: --- pivotal-jbarrett commented on a change in pull request #836: URL: https://github.com/apache/geode-native/pull/836#discussion_r678701372 ## File path: netcore/CMakeLists.txt ## @@ -0,0 +1,19 @@ +# 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. + +project(netcore LANGUAGES NONE) + +add_custom_target(netcore ALL COMMAND dotnet build WORKING_DIRECTORY = ${CMAKE_CURRENT_SOURCE_DIR}/NetCore DEPENDS apache-geode VERBATIM) Review comment: I don't think that equals sign is supposed to be there. I am pretty surprised it doesn't scream at you or treat the path as literally "= /path/to/source/NetCore". ## File path: netcore/CMakeLists.txt ## @@ -0,0 +1,19 @@ +# 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. + +project(netcore LANGUAGES NONE) + Review comment: Should we do a `find_program()` for `dotnet`? Should we make building .NET Core bits optional with an `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. To unsubscribe, e-mail: notifications-unsubscr...@geode.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Create CI pipeline for net-core > --- > > Key: GEODE-9356 > URL: https://issues.apache.org/jira/browse/GEODE-9356 > Project: Geode > Issue Type: Task > Components: native client >Reporter: Ernest Burghardt >Priority: Major > Labels: pull-request-available > > This pipeline will be hosted on the Apache publicly available Concourse and > publish to NuGet -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-9356) Create CI pipeline for net-core
[ https://issues.apache.org/jira/browse/GEODE-9356?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17389108#comment-17389108 ] ASF GitHub Bot commented on GEODE-9356: --- pivotal-jbarrett commented on a change in pull request #836: URL: https://github.com/apache/geode-native/pull/836#discussion_r678702642 ## File path: netcore/CMakeLists.txt ## @@ -0,0 +1,19 @@ +# 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. + +project(netcore LANGUAGES NONE) + +add_custom_target(netcore ALL COMMAND dotnet build WORKING_DIRECTORY = ${CMAKE_CURRENT_SOURCE_DIR}/NetCore DEPENDS apache-geode VERBATIM) Review comment: Doesn't this technically depend on the C-bindings target? -- 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. To unsubscribe, e-mail: notifications-unsubscr...@geode.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Create CI pipeline for net-core > --- > > Key: GEODE-9356 > URL: https://issues.apache.org/jira/browse/GEODE-9356 > Project: Geode > Issue Type: Task > Components: native client >Reporter: Ernest Burghardt >Priority: Major > Labels: pull-request-available > > This pipeline will be hosted on the Apache publicly available Concourse and > publish to NuGet -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-9356) Create CI pipeline for net-core
[ https://issues.apache.org/jira/browse/GEODE-9356?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17389139#comment-17389139 ] ASF GitHub Bot commented on GEODE-9356: --- pdxcodemonkey commented on a change in pull request #836: URL: https://github.com/apache/geode-native/pull/836#discussion_r678734864 ## File path: netcore/CMakeLists.txt ## @@ -0,0 +1,19 @@ +# 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. + +project(netcore LANGUAGES NONE) + +add_custom_target(netcore ALL COMMAND dotnet build WORKING_DIRECTORY = ${CMAKE_CURRENT_SOURCE_DIR}/NetCore DEPENDS apache-geode VERBATIM) Review comment: Actually no, it's a runtime dependency. PInvoke code just says "look for this function in apache-geode-c.DLL", build doesn't verify such a file exists or anything. -- 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. To unsubscribe, e-mail: notifications-unsubscr...@geode.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Create CI pipeline for net-core > --- > > Key: GEODE-9356 > URL: https://issues.apache.org/jira/browse/GEODE-9356 > Project: Geode > Issue Type: Task > Components: native client >Reporter: Ernest Burghardt >Priority: Major > Labels: pull-request-available > > This pipeline will be hosted on the Apache publicly available Concourse and > publish to NuGet -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-9356) Create CI pipeline for net-core
[ https://issues.apache.org/jira/browse/GEODE-9356?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17389145#comment-17389145 ] ASF GitHub Bot commented on GEODE-9356: --- pdxcodemonkey commented on a change in pull request #836: URL: https://github.com/apache/geode-native/pull/836#discussion_r678736680 ## File path: netcore/CMakeLists.txt ## @@ -0,0 +1,19 @@ +# 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. + +project(netcore LANGUAGES NONE) + +add_custom_target(netcore ALL COMMAND dotnet build WORKING_DIRECTORY = ${CMAKE_CURRENT_SOURCE_DIR}/NetCore DEPENDS apache-geode VERBATIM) Review comment: >Just a runtime dependency. PInvoke code just says "look for this function in apache-geode-c.DLL", build doesn't verify such a file exists or anything. We could make it dependent in cmake, but I don't think we'll really save anyone much time or trouble in the process. The entire .net core build is < 5 seconds on my laptop. -- 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. To unsubscribe, e-mail: notifications-unsubscr...@geode.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Create CI pipeline for net-core > --- > > Key: GEODE-9356 > URL: https://issues.apache.org/jira/browse/GEODE-9356 > Project: Geode > Issue Type: Task > Components: native client >Reporter: Ernest Burghardt >Priority: Major > Labels: pull-request-available > > This pipeline will be hosted on the Apache publicly available Concourse and > publish to NuGet -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-9356) Create CI pipeline for net-core
[ https://issues.apache.org/jira/browse/GEODE-9356?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17389146#comment-17389146 ] ASF GitHub Bot commented on GEODE-9356: --- pdxcodemonkey commented on a change in pull request #836: URL: https://github.com/apache/geode-native/pull/836#discussion_r678734864 ## File path: netcore/CMakeLists.txt ## @@ -0,0 +1,19 @@ +# 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. + +project(netcore LANGUAGES NONE) + +add_custom_target(netcore ALL COMMAND dotnet build WORKING_DIRECTORY = ${CMAKE_CURRENT_SOURCE_DIR}/NetCore DEPENDS apache-geode VERBATIM) Review comment: Actually no, it's a runtime dependency. PInvoke code just says "look for this function in apache-geode-c.DLL", build doesn't verify such a file exists or anything. -- 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. To unsubscribe, e-mail: notifications-unsubscr...@geode.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Create CI pipeline for net-core > --- > > Key: GEODE-9356 > URL: https://issues.apache.org/jira/browse/GEODE-9356 > Project: Geode > Issue Type: Task > Components: native client >Reporter: Ernest Burghardt >Priority: Major > Labels: pull-request-available > > This pipeline will be hosted on the Apache publicly available Concourse and > publish to NuGet -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-9337) CI: session.NativeRedisSessionAcceptanceTest failed with Suspicious strings
[ https://issues.apache.org/jira/browse/GEODE-9337?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17389200#comment-17389200 ] Geode Integration commented on GEODE-9337: -- Seen in [acceptance-test-openjdk8 #100|https://concourse.apachegeode-ci.info/teams/main/pipelines/apache-develop-main/jobs/acceptance-test-openjdk8/builds/100] ... see [test results|http://files.apachegeode-ci.info/builds/apache-develop-main/1.15.0-build.0387/test-results/acceptanceTest/1627505912/] or download [artifacts|http://files.apachegeode-ci.info/builds/apache-develop-main/1.15.0-build.0387/test-artifacts/1627505912/acceptancetestfiles-openjdk8-1.15.0-build.0387.tgz]. > CI: session.NativeRedisSessionAcceptanceTest failed with Suspicious strings > --- > > Key: GEODE-9337 > URL: https://issues.apache.org/jira/browse/GEODE-9337 > Project: Geode > Issue Type: Bug > Components: redis >Reporter: Xiaojian Zhou >Assignee: Ray Ingles >Priority: Major > > In acceptance test: > > Task :geode-apis-compatible-with-redis:acceptanceTest > session.NativeRedisSessionAcceptanceTest > classMethod 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 'dunit_suspect-local.log' at line 1445 > [error 2021/06/01 17:35:16.963 UTC tid=98] Failed to > return response on inboundChannel > io.netty.channel.StacklessClosedChannelException > at io.netty.channel.AbstractChannel$AbstractUnsafe.write(Object, > ChannelPromise)(Unknown Source) > at org.junit.Assert.fail(Assert.java:89) > at > org.apache.geode.test.dunit.internal.DUnitLauncher.closeAndCheckForSuspects(DUnitLauncher.java:409) > at > org.apache.geode.test.dunit.rules.ClusterStartupRule.after(ClusterStartupRule.java:185) > at > org.apache.geode.test.dunit.rules.ClusterStartupRule.access$100(ClusterStartupRule.java:69) > at > org.apache.geode.test.dunit.rules.ClusterStartupRule$1.evaluate(ClusterStartupRule.java:140) > at org.junit.rules.RunRules.evaluate(RunRules.java:20) > at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) > at org.junit.runners.ParentRunner.run(ParentRunner.java:413) > at > org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.runTestClass(JUnitTestClassExecutor.java:110) > at > org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:58) > at > org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:38) > at > org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:62) > at > org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:51) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36) > at > org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) > at > org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) > at > org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94) > at com.sun.proxy.$Proxy2.processTestClass(Unknown Source) > at > org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:119) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36) > at > org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) > at > org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182) > at > org.gradle.internal.remote.internal.hub.MessageHubBack
[jira] [Commented] (GEODE-9337) CI: session.NativeRedisSessionAcceptanceTest failed with Suspicious strings
[ https://issues.apache.org/jira/browse/GEODE-9337?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17389199#comment-17389199 ] Geode Integration commented on GEODE-9337: -- Seen in [acceptance-test-openjdk11 #100|https://concourse.apachegeode-ci.info/teams/main/pipelines/apache-develop-main/jobs/acceptance-test-openjdk11/builds/100] ... see [test results|http://files.apachegeode-ci.info/builds/apache-develop-main/1.15.0-build.0384/test-results/acceptanceTest/1627438459/] or download [artifacts|http://files.apachegeode-ci.info/builds/apache-develop-main/1.15.0-build.0384/test-artifacts/1627438459/acceptancetestfiles-openjdk11-1.15.0-build.0384.tgz]. > CI: session.NativeRedisSessionAcceptanceTest failed with Suspicious strings > --- > > Key: GEODE-9337 > URL: https://issues.apache.org/jira/browse/GEODE-9337 > Project: Geode > Issue Type: Bug > Components: redis >Reporter: Xiaojian Zhou >Assignee: Ray Ingles >Priority: Major > > In acceptance test: > > Task :geode-apis-compatible-with-redis:acceptanceTest > session.NativeRedisSessionAcceptanceTest > classMethod 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 'dunit_suspect-local.log' at line 1445 > [error 2021/06/01 17:35:16.963 UTC tid=98] Failed to > return response on inboundChannel > io.netty.channel.StacklessClosedChannelException > at io.netty.channel.AbstractChannel$AbstractUnsafe.write(Object, > ChannelPromise)(Unknown Source) > at org.junit.Assert.fail(Assert.java:89) > at > org.apache.geode.test.dunit.internal.DUnitLauncher.closeAndCheckForSuspects(DUnitLauncher.java:409) > at > org.apache.geode.test.dunit.rules.ClusterStartupRule.after(ClusterStartupRule.java:185) > at > org.apache.geode.test.dunit.rules.ClusterStartupRule.access$100(ClusterStartupRule.java:69) > at > org.apache.geode.test.dunit.rules.ClusterStartupRule$1.evaluate(ClusterStartupRule.java:140) > at org.junit.rules.RunRules.evaluate(RunRules.java:20) > at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) > at org.junit.runners.ParentRunner.run(ParentRunner.java:413) > at > org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.runTestClass(JUnitTestClassExecutor.java:110) > at > org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:58) > at > org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:38) > at > org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:62) > at > org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:51) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36) > at > org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) > at > org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) > at > org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94) > at com.sun.proxy.$Proxy2.processTestClass(Unknown Source) > at > org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:119) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36) > at > org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) > at > org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182) > at > org.gradle.internal.remote.internal.hub.MessageHubB
[jira] [Commented] (GEODE-8644) SerialGatewaySenderQueueDUnitTest.unprocessedTokensMapShouldDrainCompletely() intermittently fails when queues drain too slowly
[ https://issues.apache.org/jira/browse/GEODE-8644?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17389201#comment-17389201 ] Geode Integration commented on GEODE-8644: -- Seen in [distributed-test-openjdk8 #101|https://concourse.apachegeode-ci.info/teams/main/pipelines/apache-develop-main/jobs/distributed-test-openjdk8/builds/101] ... see [test results|http://files.apachegeode-ci.info/builds/apache-develop-main/1.15.0-build.0388/test-results/distributedTest/1627505629/] or download [artifacts|http://files.apachegeode-ci.info/builds/apache-develop-main/1.15.0-build.0388/test-artifacts/1627505629/distributedtestfiles-openjdk8-1.15.0-build.0388.tgz]. > SerialGatewaySenderQueueDUnitTest.unprocessedTokensMapShouldDrainCompletely() > intermittently fails when queues drain too slowly > --- > > Key: GEODE-8644 > URL: https://issues.apache.org/jira/browse/GEODE-8644 > Project: Geode > Issue Type: Bug >Reporter: Benjamin P Ross >Assignee: Benjamin P Ross >Priority: Major > Labels: pull-request-available > Fix For: 1.14.0 > > > Currently the test > SerialGatewaySenderQueueDUnitTest.unprocessedTokensMapShouldDrainCompletely() > relies on a 2 second delay to allow for queues to finish draining after > finishing the put operation. If queues take longer than 2 seconds to drain > the test will fail. We should change the test to wait for the queues to be > empty with a long timeout in case the queues never fully drain. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (GEODE-9302) Benchmark instability in PartitionedPutStringBenchmark
[ https://issues.apache.org/jira/browse/GEODE-9302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17389204#comment-17389204 ] Geode Integration commented on GEODE-9302: -- Seen in [benchmark-base #102|https://concourse.apachegeode-ci.info/teams/main/pipelines/apache-develop-main/jobs/benchmark-base/builds/102]. > Benchmark instability in PartitionedPutStringBenchmark > -- > > Key: GEODE-9302 > URL: https://issues.apache.org/jira/browse/GEODE-9302 > Project: Geode > Issue Type: Bug > Components: benchmarks >Affects Versions: 1.15.0 >Reporter: Donal Evans >Priority: Major > > A benchmark failure due to the recently-introduced > PartitionedPutStringBenchmark was observed: > {noformat} > This is ITERATION 1 of benchmarking against baseline. > P2pPartitionedGetBenchmark avg ops/sec > Baseline:853001.60 Test:867151.67 Difference: +1.7% > avg latency > Baseline:842007.55 Test:828545.06 Difference: -1.6% > P2pPartitionedPutBenchmark avg ops/sec > Baseline:128283.47 Test:126510.92 Difference: -1.4% > avg latency > Baseline: 5785619.62 Test: 5915913.49 Difference: +2.3% > P2pPartitionedPutBytesBenchmark avg ops/sec > Baseline:175658.08 Test:174865.97 Difference: -0.5% > avg latency > Baseline: 4130071.43 Test: 4130753.09 Difference: +0.0% >PartitionedFunctionExecutionBenchmark avg ops/sec > Baseline:254788.26 Test:268132.99 Difference: +5.2% > avg latency > Baseline:846158.41 Test:804199.42 Difference: -5.0% > PartitionedFunctionExecutionWithArgumentsBenchmark avg ops/sec > Baseline:278669.87 Test:281504.58 Difference: +1.0% > avg latency > Baseline: 1031826.82 Test: 1021314.54 Difference: -1.0% > PartitionedFunctionExecutionWithFiltersBenchmark avg ops/sec > Baseline:372204.82 Test:348815.81 Difference: -6.3% > avg latency > Baseline: 1545217.38 Test: 1649706.37 Difference: +6.8% > PartitionedGetBenchmark avg ops/sec > Baseline:823740.09 Test:819044.99 Difference: -0.6% > avg latency > Baseline:872172.75 Test:877580.02 Difference: +0.6% > PartitionedGetLongBenchmark avg ops/sec > Baseline: 1047221.43 Test: 1045565.89 Difference: -0.2% > avg latency > Baseline:685757.55 Test:687005.43 Difference: +0.2% >PartitionedGetStringBenchmark avg ops/sec > Baseline: 1055904.14 Test: 1045420.73 Difference: -1.0% > avg latency > Baseline:680031.44 Test:687045.15 Difference: +1.0% > PartitionedIndexedQueryBenchmark avg ops/sec > Baseline: 31596.35 Test: 31653.48 Difference: +0.2% > avg latency > Baseline: 18221302.10 Test: 18216097.86 Difference: -0.0% > PartitionedNonIndexedQueryBenchmark avg ops/sec > Baseline:95.78 Test: 100.35 Difference: +4.8% > avg latency > Baseline: 750871203.78 Test: 716853923.95 Difference: -4.5% > PartitionedPutAllBenchmark avg ops/sec > Baseline: 8675.75 Test: 8628.10 Difference: -0.5% > avg latency > Baseline: 16595044.73 Test: 16685258.91 Difference: +0.5% > PartitionedPutAllLongBenchmark avg ops/sec > Baseline: 1382.38 Test: 1380.50 Difference: -0.1% > avg latency > Baseline: 104866853.92 Test: 104775538.34 Difference: -0.1% > PartitionedPutBenchmark avg ops/sec > Baseline:491790.40 Test:479926.75 Difference: -2.4% > avg latency > Baseline: 1461947.23 Test: 1497519.77 Difference: +2.4% >