[jira] [Updated] (GEODE-10368) New warnings Visual Studio compilation issues
[ https://issues.apache.org/jira/browse/GEODE-10368?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt updated GEODE-10368: - Labels: (was: needsTriage) > New warnings Visual Studio compilation issues > -- > > Key: GEODE-10368 > URL: https://issues.apache.org/jira/browse/GEODE-10368 > Project: Geode > Issue Type: Bug > Components: native client >Reporter: Vince Ford >Priority: Major > > Using later Visual Studio MSVC 19.29.30145.0, two new warnings are being > generated that block compilation of the native client. > nativeclient\cppcache\src\TcrMessage.cpp(3217,12): warning C4101: 'exMsg': > unreferenced local variable > [C:\build\dependencies\nativeclient\cppcache\static\apache-geode-static.vcxproj] > > nativeclient\cppcache\src\ThinClientRedundancyManager.cpp(91,58): warning > C4267: 'argument': conversion from 'size_t' to 'int32_t', possible loss of > data > [C:\build\dependencies\nativeclient\cppcache\static\apache-geode-static.vcxproj] > > Suggested fixes, delete exMsg as unused variable and do a static cast of the > value to int32_t. -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Updated] (GEODE-10368) New warnings Visual Studio compilation issues
[ https://issues.apache.org/jira/browse/GEODE-10368?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt updated GEODE-10368: - Affects Version/s: (was: 1.15.0) > New warnings Visual Studio compilation issues > -- > > Key: GEODE-10368 > URL: https://issues.apache.org/jira/browse/GEODE-10368 > Project: Geode > Issue Type: Bug > Components: native client >Reporter: Vince Ford >Priority: Major > Labels: needsTriage > > Using later Visual Studio MSVC 19.29.30145.0, two new warnings are being > generated that block compilation of the native client. > nativeclient\cppcache\src\TcrMessage.cpp(3217,12): warning C4101: 'exMsg': > unreferenced local variable > [C:\build\dependencies\nativeclient\cppcache\static\apache-geode-static.vcxproj] > > nativeclient\cppcache\src\ThinClientRedundancyManager.cpp(91,58): warning > C4267: 'argument': conversion from 'size_t' to 'int32_t', possible loss of > data > [C:\build\dependencies\nativeclient\cppcache\static\apache-geode-static.vcxproj] > > Suggested fixes, delete exMsg as unused variable and do a static cast of the > value to int32_t. -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Resolved] (GEODE-10181) GFSH needs to support JDK17 GCs
[ https://issues.apache.org/jira/browse/GEODE-10181?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-10181. -- Resolution: Fixed fixed via https://issues.apache.org/jira/browse/GEODE-10206 > GFSH needs to support JDK17 GCs > --- > > Key: GEODE-10181 > URL: https://issues.apache.org/jira/browse/GEODE-10181 > Project: Geode > Issue Type: Improvement > Components: gfsh >Reporter: Ernest Burghardt >Assignee: Kirk Lund >Priority: Major > Labels: Java17 > > Geode will be supporting JDK 17 and Gfsh needs to support GC available; > -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Resolved] (GEODE-10152) Make gfsh "wrapper" scripts compatible with Java 17
[ https://issues.apache.org/jira/browse/GEODE-10152?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-10152. -- Resolution: Won't Fix scripts are not JDK dependent > Make gfsh "wrapper" scripts compatible with Java 17 > --- > > Key: GEODE-10152 > URL: https://issues.apache.org/jira/browse/GEODE-10152 > Project: Geode > Issue Type: Improvement > Components: gfsh >Affects Versions: 1.15.0 >Reporter: Dale Emery >Assignee: Kirk Lund >Priority: Major > Labels: Java17 > > On JDK 17, the Gfsh "wrapper" scripts (geode-assembly/src/main/dist/bin/gfsh > and geode-assembly/src/main/dist/bin/gfsh.bat) must open/export all required > packages when they run the Geode CLI launcher > (org.apache.geode.management.internal.cli.Launcher) via Java. > > Also, Gfsh must open and export all required packages whenever it starts Java > process that will execute Geode code. > > Here is a possible approach: * Create argument files for each set of > opens/exports that are selected together. Each argument file will define the > {{--add-opens}} and {{--add-exports}} commands for the relevant packages. > * Change the Gfsh executables (geode-assembly/src/main/dist/bin/gfsh and > geode-assembly/src/main/dist/bin/gfsh) to: > ** Inspect the requested JDK to learn the version and OS it reports. > ** Select the argument files for the JDK based on its version and OS > ** Add the argument files to the java command line when starting the CLI > launcher. > * Change Gfsh Java classes to forward the opens/exports when launching java > subprocesses (e.g. when starting a locator or server). -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Assigned] (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 ] Ernest Burghardt reassigned GEODE-9475: --- Assignee: Ernest Burghardt > 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 >Assignee: Ernest Burghardt >Priority: Major > Labels: Java16, Java17 > > 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.20.7#820007)
[jira] [Assigned] (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 ] Ernest Burghardt reassigned GEODE-9473: --- Assignee: Ernest Burghardt > 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 >Assignee: Ernest Burghardt >Priority: Major > Labels: Java16, Java17 > > 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.20.7#820007)
[jira] [Assigned] (GEODE-9469) CopyHelper.copy will fail on java 16 and later when copying instances of Clonable
[ https://issues.apache.org/jira/browse/GEODE-9469?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt reassigned GEODE-9469: --- Assignee: Ernest Burghardt > CopyHelper.copy will fail on java 16 and later when copying instances of > Clonable > - > > Key: GEODE-9469 > URL: https://issues.apache.org/jira/browse/GEODE-9469 > Project: Geode > Issue Type: Bug > Components: core >Reporter: Darrel Schneider >Assignee: Ernest Burghardt >Priority: Major > Labels: Java16, Java17 > > CopyHelper.copy is an API that allows geode users to make copies of objects. > It is also used internally by a number of geode features. The copy-on-read > region attribute is one example. If the object being copied is an instance of > Cloneable then on java 16, copy will throw a RuntimeException which is an > instance of java.lang.reflect.InaccessibleObjectException. > The copy code tries to catch exceptions during the clone and instead use > serialization to make a copy but it does not catch RuntimeException which is > what java 16 throws from setAccessible. It would be pretty easy to fix this > exception handling. > The only work arounds are to not implement Cloneable or to start the jvm with > the command line option: --illegal-access=permit. > See: > [https://softwaregarden.dev/en/posts/new-java/illegal-access-in-java-16|https://softwaregarden.dev/en/posts/new-java/illegal-access-in-java-16/] > -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Assigned] (GEODE-9470) Some geode queries will fail on java 16 and later
[ https://issues.apache.org/jira/browse/GEODE-9470?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt reassigned GEODE-9470: --- Assignee: Ernest Burghardt > Some geode queries will fail on java 16 and later > - > > Key: GEODE-9470 > URL: https://issues.apache.org/jira/browse/GEODE-9470 > Project: Geode > Issue Type: Bug > Components: querying >Reporter: Darrel Schneider >Assignee: Ernest Burghardt >Priority: Major > Labels: Java16, Java17 > > In some cases a geode query uses reflection to read a field or call a > function. > If that happens on java 16 then the query will fail throwing a > RuntimeException that is an instance of > java.lang.reflect.InaccessibleObjectException. 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 query code that calls setAccessible is in two places: > org.apache.geode.cache.query.internal.AttributeDescriptor#getReadMember > org.apache.geode.cache.query.internal.MethodDispatch#MethodDispatch -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Assigned] (GEODE-9467) pdx ReflectionBasedAutoSerializer will fail on java 16 and later
[ https://issues.apache.org/jira/browse/GEODE-9467?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt reassigned GEODE-9467: --- Assignee: Ernest Burghardt > pdx ReflectionBasedAutoSerializer will fail on java 16 and later > > > Key: GEODE-9467 > URL: https://issues.apache.org/jira/browse/GEODE-9467 > Project: Geode > Issue Type: Bug > Components: serialization >Reporter: Darrel Schneider >Assignee: Ernest Burghardt >Priority: Major > Labels: Java16, Java17 > > The pdx ReflectionBasedAutoSerializer 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|https://softwaregarden.dev/en/posts/new-java/illegal-access-in-java-16/] > > [).|https://stackoverflow.com/questions/41265266/how-to-solve-inaccessibleobjectexception-unable-to-make-member-accessible-m).] > To workaround this failure set the JVM command line option: > --illegal-access=permit > The call is made in > org.apache.geode.pdx.internal.AutoSerializableManager#getClassInfo and is > required for the auto serializer to function correctly. > > > > -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Resolved] (GEODE-10003) Support JDK 17 on Geode
[ https://issues.apache.org/jira/browse/GEODE-10003?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-10003. -- Resolution: Fixed > Support JDK 17 on Geode > --- > > Key: GEODE-10003 > URL: https://issues.apache.org/jira/browse/GEODE-10003 > Project: Geode > Issue Type: Improvement >Reporter: Owen Nichols >Priority: Major > Labels: Java17, jdk17 > > JDK 17 Schedule: [https://openjdk.java.net/projects/jdk/17/] > The first ticket to suggest going beyond JDK8 was GEODE-3. Now that JDK17 is > LTS, and Spring and other users are embracing JDK17, Geode should at least > run (if not compile) on JDK17. > This may take a lot of work, possibly requiring a new major release. Please > add subtasks to this ticket as necessary. -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Updated] (GEODE-10007) Make o.a.geode.cache.internal.HttpService SPI part of the non-internal, public API
[ https://issues.apache.org/jira/browse/GEODE-10007?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt updated GEODE-10007: - Parent: (was: GEODE-10003) Issue Type: Improvement (was: Sub-task) > Make o.a.geode.cache.internal.HttpService SPI part of the non-internal, > public API > -- > > Key: GEODE-10007 > URL: https://issues.apache.org/jira/browse/GEODE-10007 > Project: Geode > Issue Type: Improvement >Reporter: John Blum >Priority: Minor > > The {{HttpService}} interface is defined and used as a _Service Provider > Interface_ (SPI) inside Apache Geode and even loaded as such with _Java's_ > {{ServerLoader}} > ([Javadoc|https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ServiceLoader.html]) > class in order to locate and load provider implementations. > An SPI is not much good if "providers" are not allowed to "provide" an > implementation of the service interfaces used to extend or customize Apache > Geode. A proper SPI affords any application, framework, tool or product a > degree of extensibility and flexibility, applied by users without > intervention by being able to "provide" a custom implementation or extension > as needed by the application, framework, tool or product. > 1 such example would be to be able to supply a Jakarta EE 9 (specification) > compliant implementation of an embedded HTTP server (e.g. Jetty, Tomcat or > even Undertow) used by Geode to bootstrap the embedded HTTP service hosting > the Geode provided Web apps (e.g. Pulse, Management/Admin REST API, Developer > REST API) when external hosting is not an option. Of course, these Apache > Geode provided, internal Web apps need to be updated as well (to use the new > Jakarta EE 9 specs). > There are other examples of SPIs used in Apache Geode, which are part of the > non-internal, public API. > For example, the > [ServerLaucherCacheProvider|https://geode.apache.org/releases/latest/javadoc/org/apache/geode/distributed/ServerLauncherCacheProvider.html] > interface, with 1 such > [implementation|https://docs.spring.io/spring-data/geode/docs/current/api/org/springframework/data/gemfire/support/SpringServerLauncherCacheProvider.html] > provided by _Spring Data for Apache Geode_ (SDG) itself, is highly useful > and valuable in certain configuration arrangements. -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Resolved] (GEODE-9393) Apache Geode does not run on Java 16/17
[ https://issues.apache.org/jira/browse/GEODE-9393?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-9393. - Resolution: Won't Fix Geode does not build on post Java 8 currently by designe > Apache Geode does not run on Java 16/17 > --- > > Key: GEODE-9393 > URL: https://issues.apache.org/jira/browse/GEODE-9393 > Project: Geode > Issue Type: Sub-task > Components: core >Affects Versions: 1.13.2 >Reporter: John Blum >Priority: Blocker > Labels: Java16, Java17 > > 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 underlying > byte buffer > - at >
[jira] [Resolved] (GEODE-9657) Javadoc errors occur on Java 17 due to split packages in Geode
[ https://issues.apache.org/jira/browse/GEODE-9657?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-9657. - Resolution: Won't Fix Only applicable when running with Modules > Javadoc errors occur on Java 17 due to split packages in Geode > -- > > Key: GEODE-9657 > URL: https://issues.apache.org/jira/browse/GEODE-9657 > Project: Geode > Issue Type: Sub-task > Components: core >Affects Versions: 1.13.4, 1.14.0 >Reporter: John Blum >Priority: Major > Labels: Java17 > > When trying to build any library, framework (e.g. _Spring Data for Apache > Geode_ (SDG)) or application with Apache Geode on Java 17, Javadoc errors > occur. > For example: > {code} > 22:36:52 [ERROR] > /opt/jenkins/data/workspace/spring-data-geode_3.0.x/spring-data-geode/src/main/java/org/springframework/data/gemfire/function/PojoFunctionWrapper.java:53: > error: cannot access Identifiable > 22:36:52 [ERROR] public class PojoFunctionWrapper implements Function { > 22:36:52 [ERROR]^ > 22:36:52 [ERROR] class file for org.apache.geode.lang.Identifiable not > found > {code} > As it turns out, in Java 17, the _Javadoc_ tool now uses _Java_ modules. > _Javadoc_ is started with: > {code} > javadoc … --add-modules ALL-MODULE-PATH --module-path --patch-module … > {code} > {{geode-core-1.14.0.jar}} ships > {{org.apache.geode.lang.AttachAPINotFoundException}} and > {{geode-common-1.14.0.jar}} ships {{org.apache.geode.lang.Identifiable}}. Due > to this split-package arrangement, _Javadoc_ isn’t discovering > {{Identifiable}} because it has found the package {{org.apache.geode.lang}} > in {{geode-core-1.14.0.jar}}. > The best course of action is to make sure all {{org.apache.geode.lang}} > sub-packages and class are in 1 JAR (e.g. {{geode-common}}) or the other > (i.e. {{geode-core}}). -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Updated] (GEODE-10181) GFSH needs to support JDK17 GCs
[ https://issues.apache.org/jira/browse/GEODE-10181?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt updated GEODE-10181: - Description: Geode will be supporting JDK 17 and Gfsh needs to support GC available; was: Geode will be supporting JDK 17 and Gfsh needs to support GC available; ZGC by default > GFSH needs to support JDK17 GCs > --- > > Key: GEODE-10181 > URL: https://issues.apache.org/jira/browse/GEODE-10181 > Project: Geode > Issue Type: Improvement > Components: gfsh >Reporter: Ernest Burghardt >Assignee: Kirk Lund >Priority: Major > Labels: Java17 > > Geode will be supporting JDK 17 and Gfsh needs to support GC available; > -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Resolved] (GEODE-10251) DescribedExternalResource hides test failure if after throws
[ https://issues.apache.org/jira/browse/GEODE-10251?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-10251. -- Resolution: Fixed > DescribedExternalResource hides test failure if after throws > > > Key: GEODE-10251 > URL: https://issues.apache.org/jira/browse/GEODE-10251 > Project: Geode > Issue Type: Improvement > Components: tests >Affects Versions: 1.15.0 >Reporter: Dale Emery >Assignee: Dale Emery >Priority: Major > Labels: Java17, pull-request-available > > If DescribedExternalResource.after() throws, any other exception thrown by > the statement is lost. This discards any exception thrown by a test or by a > rule further down the rule chain. -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Updated] (GEODE-9393) Apache Geode does not run on Java 16/17
[ https://issues.apache.org/jira/browse/GEODE-9393?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt updated GEODE-9393: Summary: Apache Geode does not run on Java 16/17 (was: Apache Geode does not build/run on Java 16/17) > Apache Geode does not run on Java 16/17 > --- > > Key: GEODE-9393 > URL: https://issues.apache.org/jira/browse/GEODE-9393 > Project: Geode > Issue Type: Sub-task > Components: core >Affects Versions: 1.13.2 >Reporter: John Blum >Priority: Blocker > Labels: Java16, Java17 > > 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 underlying > byte buffer > - at >
[jira] [Commented] (GEODE-9393) Apache Geode does not build/run on Java 16/17
[ https://issues.apache.org/jira/browse/GEODE-9393?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17522410#comment-17522410 ] Ernest Burghardt commented on GEODE-9393: - Changing this to "run on" Java 17... building on other than jdk 8 will have to be a separate effort > Apache Geode does not build/run on Java 16/17 > - > > Key: GEODE-9393 > URL: https://issues.apache.org/jira/browse/GEODE-9393 > Project: Geode > Issue Type: Sub-task > Components: core >Affects Versions: 1.13.2 >Reporter: John Blum >Priority: Blocker > Labels: Java16, Java17 > > 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
[jira] [Updated] (GEODE-10005) Upgrade to Eclipse Jetty 11.0.x
[ https://issues.apache.org/jira/browse/GEODE-10005?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt updated GEODE-10005: - Parent: (was: GEODE-10003) Issue Type: Improvement (was: Sub-task) > Upgrade to Eclipse Jetty 11.0.x > --- > > Key: GEODE-10005 > URL: https://issues.apache.org/jira/browse/GEODE-10005 > Project: Geode > Issue Type: Improvement >Reporter: John Blum >Priority: Blocker > > In order to release _Spring Boot for Apache Geode_ (SBDG) {{2.0}}, based on > _Spring Boot_ {{3.0}}, the transitive dependency must minimally match _Spring > Boot's_ minimum [(major.mionr) > version|https://github.com/spring-projects/spring-boot/blob/v3.0.0-M1/spring-boot-project/spring-boot-dependencies/build.gradle#L645-L651] > requirement for *Eclipse Jetty*. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Updated] (GEODE-10003) Support JDK 17 on Geode
[ https://issues.apache.org/jira/browse/GEODE-10003?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt updated GEODE-10003: - Labels: Java17 jdk17 (was: jdk17) > Support JDK 17 on Geode > --- > > Key: GEODE-10003 > URL: https://issues.apache.org/jira/browse/GEODE-10003 > Project: Geode > Issue Type: Improvement >Reporter: Owen Nichols >Priority: Major > Labels: Java17, jdk17 > > JDK 17 Schedule: [https://openjdk.java.net/projects/jdk/17/] > The first ticket to suggest going beyond JDK8 was GEODE-3. Now that JDK17 is > LTS, and Spring and other users are embracing JDK17, Geode should at least > run (if not compile) on JDK17. > This may take a lot of work, possibly requiring a new major release. Please > add subtasks to this ticket as necessary. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Updated] (GEODE-10181) GFSH needs to support JDK17 GCs
[ https://issues.apache.org/jira/browse/GEODE-10181?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt updated GEODE-10181: - Description: Geode will be supporting JDK 17 and Gfsh needs to support GC available; ZGC by default was:Geode will be supporting JDK 17 and Gfsh needs to support GC available; i.e. ZGC > GFSH needs to support JDK17 GCs > --- > > Key: GEODE-10181 > URL: https://issues.apache.org/jira/browse/GEODE-10181 > Project: Geode > Issue Type: Improvement > Components: gfsh >Reporter: Ernest Burghardt >Priority: Major > Labels: Java17 > > Geode will be supporting JDK 17 and Gfsh needs to support GC available; > ZGC by default -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Updated] (GEODE-10181) GFSH needs to support JDK17 GCs
[ https://issues.apache.org/jira/browse/GEODE-10181?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt updated GEODE-10181: - Summary: GFSH needs to support JDK17 GCs (was: GFSH needs to support GCs) > GFSH needs to support JDK17 GCs > --- > > Key: GEODE-10181 > URL: https://issues.apache.org/jira/browse/GEODE-10181 > Project: Geode > Issue Type: Improvement > Components: gfsh >Reporter: Ernest Burghardt >Priority: Major > Labels: Java17 > > Geode will be supporting JDK 17 and Gfsh needs to support GC available; i.e. > ZGC -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Updated] (GEODE-10181) GFSH needs to support GCs
[ https://issues.apache.org/jira/browse/GEODE-10181?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt updated GEODE-10181: - Labels: Java17 (was: ) > GFSH needs to support GCs > - > > Key: GEODE-10181 > URL: https://issues.apache.org/jira/browse/GEODE-10181 > Project: Geode > Issue Type: Improvement > Components: gfsh >Reporter: Ernest Burghardt >Priority: Major > Labels: Java17 > > Geode will be supporting JDK 17 and Gfsh needs to support GC available; i.e. > ZGC -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Created] (GEODE-10181) GFSH needs to support GCs
Ernest Burghardt created GEODE-10181: Summary: GFSH needs to support GCs Key: GEODE-10181 URL: https://issues.apache.org/jira/browse/GEODE-10181 Project: Geode Issue Type: Improvement Components: gfsh Reporter: Ernest Burghardt Geode will be supporting JDK 17 and Gfsh needs to support GC available; i.e. ZGC -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Resolved] (GEODE-2833) IPdxSerializable objects don't deserialize after custom PdxSerializer is registered.
[ https://issues.apache.org/jira/browse/GEODE-2833?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-2833. - Resolution: Feedback Received > IPdxSerializable objects don't deserialize after custom PdxSerializer is > registered. > > > Key: GEODE-2833 > URL: https://issues.apache.org/jira/browse/GEODE-2833 > Project: Geode > Issue Type: Bug > Components: native client >Reporter: Jacob Barrett >Priority: Major > > Registing a {IPdxSerializer} disables deserialization of {IPdxSerializable} > classes. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Closed] (GEODE-2833) IPdxSerializable objects don't deserialize after custom PdxSerializer is registered.
[ https://issues.apache.org/jira/browse/GEODE-2833?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt closed GEODE-2833. --- > IPdxSerializable objects don't deserialize after custom PdxSerializer is > registered. > > > Key: GEODE-2833 > URL: https://issues.apache.org/jira/browse/GEODE-2833 > Project: Geode > Issue Type: Bug > Components: native client >Reporter: Jacob Barrett >Priority: Major > > Registing a {IPdxSerializer} disables deserialization of {IPdxSerializable} > classes. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Resolved] (GEODE-3137) Replace all time values internally with std::chrono types
[ https://issues.apache.org/jira/browse/GEODE-3137?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-3137. - Resolution: Duplicate > Replace all time values internally with std::chrono types > - > > Key: GEODE-3137 > URL: https://issues.apache.org/jira/browse/GEODE-3137 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Jacob Barrett >Priority: Major > > Remove ambiguity of time values by using > [{{std::chrono}}|http://en.cppreference.com/w/cpp/chrono] types used > internally. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Closed] (GEODE-3137) Replace all time values internally with std::chrono types
[ https://issues.apache.org/jira/browse/GEODE-3137?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt closed GEODE-3137. --- > Replace all time values internally with std::chrono types > - > > Key: GEODE-3137 > URL: https://issues.apache.org/jira/browse/GEODE-3137 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Jacob Barrett >Priority: Major > > Remove ambiguity of time values by using > [{{std::chrono}}|http://en.cppreference.com/w/cpp/chrono] types used > internally. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Resolved] (GEODE-3432) Cleanup Find NativeClient CMake modules
[ https://issues.apache.org/jira/browse/GEODE-3432?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-3432. - Resolution: Not A Problem > Cleanup Find NativeClient CMake modules > --- > > Key: GEODE-3432 > URL: https://issues.apache.org/jira/browse/GEODE-3432 > Project: Geode > Issue Type: Task > Components: native client >Reporter: Jacob Barrett >Priority: Major > > There are multiple copies. One appears to just be a copy of CMake's FindJava. > Clean these up and put in appropriate locations. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Closed] (GEODE-3432) Cleanup Find NativeClient CMake modules
[ https://issues.apache.org/jira/browse/GEODE-3432?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt closed GEODE-3432. --- > Cleanup Find NativeClient CMake modules > --- > > Key: GEODE-3432 > URL: https://issues.apache.org/jira/browse/GEODE-3432 > Project: Geode > Issue Type: Task > Components: native client >Reporter: Jacob Barrett >Priority: Major > > There are multiple copies. One appears to just be a copy of CMake's FindJava. > Clean these up and put in appropriate locations. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Resolved] (GEODE-3585) Cleanup public headers
[ https://issues.apache.org/jira/browse/GEODE-3585?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-3585. - Resolution: Won't Fix > Cleanup public headers > -- > > Key: GEODE-3585 > URL: https://issues.apache.org/jira/browse/GEODE-3585 > Project: Geode > Issue Type: Task > Components: native client >Reporter: Jacob Barrett >Assignee: Jacob Barrett >Priority: Major > > Cleanup public headers by: > Properly ordering copyright, guard, includes, etc. > Removing unused headers. > Correct {{using}} statements to avoid leaking types. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Closed] (GEODE-3585) Cleanup public headers
[ https://issues.apache.org/jira/browse/GEODE-3585?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt closed GEODE-3585. --- > Cleanup public headers > -- > > Key: GEODE-3585 > URL: https://issues.apache.org/jira/browse/GEODE-3585 > Project: Geode > Issue Type: Task > Components: native client >Reporter: Jacob Barrett >Assignee: Jacob Barrett >Priority: Major > > Cleanup public headers by: > Properly ordering copyright, guard, includes, etc. > Removing unused headers. > Correct {{using}} statements to avoid leaking types. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Closed] (GEODE-3972) Disambiguate the Region interface template resolutions
[ https://issues.apache.org/jira/browse/GEODE-3972?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt closed GEODE-3972. --- > Disambiguate the Region interface template resolutions > -- > > Key: GEODE-3972 > URL: https://issues.apache.org/jira/browse/GEODE-3972 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: David Kimura >Priority: Major > > Region interface has unintuitive template type resolution. For example: > {{Region::put}} has following signatures: > {noformat} > virtual void put(const CacheableKeyPtr& key, const CacheablePtr& value, > const SerializablePtr& aCallbackArgument = nullptr) = 0; > template > inline void put(const KEYTYPE& key, const VALUETYPE& value, const > SerializablePtr& arg = nullptr) { > put(createKey(key), createValue(value), arg); > } > > template > inline void put(const KEYTYPE& key, const CacheablePtr& value, const > SerializablePtr& arg = nullptr) { > put(createKey(key), value, arg); > } > > template > inline void put(const CacheableKeyPtr& key, const VALUETYPE& value, const > SerializablePtr& arg = nullptr) { > put(key, createValue(value), arg); > } > {noformat} > If user calls {{region.put(a_key, CacheableString::create("a_value"), ...)}} > they might expect it to call non-templated put since CacheableString derives > from Cacheable. Instead it seems to call the templated method. Ideally, we > should probably have our API match non-templated method signature in this > particular case. > One solution may be to use type traits. So, template signature on put > interface may look something like: > {noformat} > template > inline void put( > const typename > std::enable_if::value>::type& key = 0, > const typename > std::enable_if::value>::type& value = 0, > const SerializablePtr& arg = nullptr) { > {noformat} > And then implement {{is_integral_or_char_ptr}}. We should then evaluate > whether {{createValue}} and {{createKey}} templates are needed any longer. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Resolved] (GEODE-3972) Disambiguate the Region interface template resolutions
[ https://issues.apache.org/jira/browse/GEODE-3972?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-3972. - Resolution: Abandoned > Disambiguate the Region interface template resolutions > -- > > Key: GEODE-3972 > URL: https://issues.apache.org/jira/browse/GEODE-3972 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: David Kimura >Priority: Major > > Region interface has unintuitive template type resolution. For example: > {{Region::put}} has following signatures: > {noformat} > virtual void put(const CacheableKeyPtr& key, const CacheablePtr& value, > const SerializablePtr& aCallbackArgument = nullptr) = 0; > template > inline void put(const KEYTYPE& key, const VALUETYPE& value, const > SerializablePtr& arg = nullptr) { > put(createKey(key), createValue(value), arg); > } > > template > inline void put(const KEYTYPE& key, const CacheablePtr& value, const > SerializablePtr& arg = nullptr) { > put(createKey(key), value, arg); > } > > template > inline void put(const CacheableKeyPtr& key, const VALUETYPE& value, const > SerializablePtr& arg = nullptr) { > put(key, createValue(value), arg); > } > {noformat} > If user calls {{region.put(a_key, CacheableString::create("a_value"), ...)}} > they might expect it to call non-templated put since CacheableString derives > from Cacheable. Instead it seems to call the templated method. Ideally, we > should probably have our API match non-templated method signature in this > particular case. > One solution may be to use type traits. So, template signature on put > interface may look something like: > {noformat} > template > inline void put( > const typename > std::enable_if::value>::type& key = 0, > const typename > std::enable_if::value>::type& value = 0, > const SerializablePtr& arg = nullptr) { > {noformat} > And then implement {{is_integral_or_char_ptr}}. We should then evaluate > whether {{createValue}} and {{createKey}} templates are needed any longer. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Closed] (GEODE-4600) Config XML parser should enforce schema
[ https://issues.apache.org/jira/browse/GEODE-4600?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt closed GEODE-4600. --- > Config XML parser should enforce schema > --- > > Key: GEODE-4600 > URL: https://issues.apache.org/jira/browse/GEODE-4600 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Addison >Priority: Major > > The config xml parser does not validate the XML document against the old DTDs > or the new XSD. Many of the config files we have are not valid to the DTD or > XSD. Many mistakes in configuration could be caught in the parser by > validation alone. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Resolved] (GEODE-4600) Config XML parser should enforce schema
[ https://issues.apache.org/jira/browse/GEODE-4600?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-4600. - Resolution: Won't Fix > Config XML parser should enforce schema > --- > > Key: GEODE-4600 > URL: https://issues.apache.org/jira/browse/GEODE-4600 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Addison >Priority: Major > > The config xml parser does not validate the XML document against the old DTDs > or the new XSD. Many of the config files we have are not valid to the DTD or > XSD. Many mistakes in configuration could be caught in the parser by > validation alone. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Resolved] (GEODE-4602) Refactor TcrMessage - unfriend TcrMessageHelper and TcrMessage
[ https://issues.apache.org/jira/browse/GEODE-4602?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-4602. - Resolution: Won't Fix > Refactor TcrMessage - unfriend TcrMessageHelper and TcrMessage > -- > > Key: GEODE-4602 > URL: https://issues.apache.org/jira/browse/GEODE-4602 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Addison >Priority: Major > > TcrMessageHelper breaks encapsulation of TcrMessage so that ThinClientRegion > can process messages. For example, look at ChunkedQueryResponse::handleChunk. > Evaluate ways to decouple these classes. Consider making a non-friend > processor class instead. Make more stories as appropriate. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Closed] (GEODE-4602) Refactor TcrMessage - unfriend TcrMessageHelper and TcrMessage
[ https://issues.apache.org/jira/browse/GEODE-4602?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt closed GEODE-4602. --- > Refactor TcrMessage - unfriend TcrMessageHelper and TcrMessage > -- > > Key: GEODE-4602 > URL: https://issues.apache.org/jira/browse/GEODE-4602 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Addison >Priority: Major > > TcrMessageHelper breaks encapsulation of TcrMessage so that ThinClientRegion > can process messages. For example, look at ChunkedQueryResponse::handleChunk. > Evaluate ways to decouple these classes. Consider making a non-friend > processor class instead. Make more stories as appropriate. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Resolved] (GEODE-4601) Refactor TcrMessage - resolve accessor encapsulation
[ https://issues.apache.org/jira/browse/GEODE-4601?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-4601. - Resolution: Won't Fix > Refactor TcrMessage - resolve accessor encapsulation > > > Key: GEODE-4601 > URL: https://issues.apache.org/jira/browse/GEODE-4601 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Addison >Priority: Major > > {{TcrMessage}} has accessor {{setMessageType()}} which should be removed from > the base class. It is used only on reply messages, _not_ request messages. > Here are some steps we can take: > # Move it into the {{TcrMessageReply}} class. > # Remove the accessor entirely by altering internal APIs, e.g. > {{TcrMessageHelper::readChunkPartHeader()}}, to return a message object > rather than taking a reference to a message and then modifying the type. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Closed] (GEODE-4601) Refactor TcrMessage - resolve accessor encapsulation
[ https://issues.apache.org/jira/browse/GEODE-4601?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt closed GEODE-4601. --- > Refactor TcrMessage - resolve accessor encapsulation > > > Key: GEODE-4601 > URL: https://issues.apache.org/jira/browse/GEODE-4601 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Addison >Priority: Major > > {{TcrMessage}} has accessor {{setMessageType()}} which should be removed from > the base class. It is used only on reply messages, _not_ request messages. > Here are some steps we can take: > # Move it into the {{TcrMessageReply}} class. > # Remove the accessor entirely by altering internal APIs, e.g. > {{TcrMessageHelper::readChunkPartHeader()}}, to return a message object > rather than taking a reference to a message and then modifying the type. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Closed] (GEODE-4603) Refactor TcrMessage - break up processChunk
[ https://issues.apache.org/jira/browse/GEODE-4603?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt closed GEODE-4603. --- > Refactor TcrMessage - break up processChunk > --- > > Key: GEODE-4603 > URL: https://issues.apache.org/jira/browse/GEODE-4603 > Project: Geode > Issue Type: Task > Components: native client >Reporter: Addison >Priority: Major > > TcrMessage::processChunk contains a giant switch statement which processes > the message based on the message type. > Consider separating the process logic for each reply into a unique reply > class for each reply type. If we create unique reply classes for each reply > then the logic can be broken out among the appropriate reply class rather > than a giant proccessChunk which knows how to process every message. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Resolved] (GEODE-4603) Refactor TcrMessage - break up processChunk
[ https://issues.apache.org/jira/browse/GEODE-4603?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-4603. - Resolution: Won't Fix > Refactor TcrMessage - break up processChunk > --- > > Key: GEODE-4603 > URL: https://issues.apache.org/jira/browse/GEODE-4603 > Project: Geode > Issue Type: Task > Components: native client >Reporter: Addison >Priority: Major > > TcrMessage::processChunk contains a giant switch statement which processes > the message based on the message type. > Consider separating the process logic for each reply into a unique reply > class for each reply type. If we create unique reply classes for each reply > then the logic can be broken out among the appropriate reply class rather > than a giant proccessChunk which knows how to process every message. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Commented] (GEODE-5743) Refactor PdxType logic
[ https://issues.apache.org/jira/browse/GEODE-5743?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17497724#comment-17497724 ] Ernest Burghardt commented on GEODE-5743: - [~mmartell] haven't you already done this? > Refactor PdxType logic > -- > > Key: GEODE-5743 > URL: https://issues.apache.org/jira/browse/GEODE-5743 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Michael Martell >Priority: Major > > It isn't publicly facing so I can be tackled after the next release but It > should be refactored to make separate between C++ and .NET clean. This looks > like the only faked type in the registry now to handle C++ and .NET override > behavior. The rest have already been replaced with {{*Handler}} interfaces. > This should be refactored out. It is not really a primitive type, it just > pretends to be one. Give it the same treatment we did for {{PdxTypeHandler}} > and {{DataSerializableHandler}}. In fact rename {{PdxTypeHander}} to > {{PdxSerializableHandler}}, the current name is confusing with {{PdxType}}, > which is the meta-data about PDX objects. Then implement this {{PdxType}} > logic as {{PdxTypeHandler}}. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Commented] (GEODE-9433) CI Failure in GarbageCollectCache.VerifyNoLeakedThreads integration test
[ https://issues.apache.org/jira/browse/GEODE-9433?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17497715#comment-17497715 ] Ernest Burghardt commented on GEODE-9433: - this was a failure on a WIP pipeline, which has been abandoned. > CI Failure in GarbageCollectCache.VerifyNoLeakedThreads integration test > > > Key: GEODE-9433 > URL: https://issues.apache.org/jira/browse/GEODE-9433 > Project: Geode > Issue Type: Bug > Components: native client >Reporter: Kamilla Aslami >Priority: Major > > > {code:java} > Apache.Geode.Client.IntegrationTests.GarbageCollectCache.VerifyNoLeakedThreads > ***Failed 78.00 sec > Discovering: Apache.Geode.IntegrationTests2 > Discovered: Apache.Geode.IntegrationTests2 > Starting:Apache.Geode.IntegrationTests2 > > Apache.Geode.Client.IntegrationTests.GarbageCollectCache.VerifyNoLeakedThreads > [FAIL] > ncThreadsBefore = 33, ncThreadsAfter = 25 > Expected: False > Actual: True > Stack Trace: > > C:\Users\build\source\clicache\integration-test2\GarbageCollectCache.cs(89,0): > at > Apache.Geode.Client.IntegrationTests.GarbageCollectCache.VerifyNoLeakedThreads() > {code} > -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Assigned] (GEODE-9639) Make native client compatible with C++20
[ https://issues.apache.org/jira/browse/GEODE-9639?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt reassigned GEODE-9639: --- Assignee: Matthew Reddington > Make native client compatible with C++20 > > > Key: GEODE-9639 > URL: https://issues.apache.org/jira/browse/GEODE-9639 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Matthew Reddington >Assignee: Matthew Reddington >Priority: Major > Labels: pull-request-available > > There are standard library components that were removed in C++20, making our > library incompatible. Luckily, our use of deleted components are minimal and > replaceable without breaking API backward compatibility, but it will disrupt > ABI compatibility. > > The outcome needs to be tested against MSVC2017/v141 and MSVC2019/v142, > including examples. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Closed] (GEODE-6005) Investigate DataOutput's "big buffer"
[ https://issues.apache.org/jira/browse/GEODE-6005?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt closed GEODE-6005. --- > Investigate DataOutput's "big buffer" > - > > Key: GEODE-6005 > URL: https://issues.apache.org/jira/browse/GEODE-6005 > Project: Geode > Issue Type: Task > Components: native client >Reporter: Jacob Barrett >Priority: Major > > There is a process global lock for protecting something called "big buffer" > but there is no big buffer. It looks like it may just restrict other threads > from creating big buffers while another thread has a big buffer. Let's > investigate what is really going on here and understand why and if we need to > do this. > > I think a better solution to resource management would be a bounded buffer > pool where DataOutput/Input would checkout buffers to some user configurable > limit before blocking. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Resolved] (GEODE-6005) Investigate DataOutput's "big buffer"
[ https://issues.apache.org/jira/browse/GEODE-6005?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-6005. - Resolution: Not A Problem > Investigate DataOutput's "big buffer" > - > > Key: GEODE-6005 > URL: https://issues.apache.org/jira/browse/GEODE-6005 > Project: Geode > Issue Type: Task > Components: native client >Reporter: Jacob Barrett >Priority: Major > > There is a process global lock for protecting something called "big buffer" > but there is no big buffer. It looks like it may just restrict other threads > from creating big buffers while another thread has a big buffer. Let's > investigate what is really going on here and understand why and if we need to > do this. > > I think a better solution to resource management would be a bounded buffer > pool where DataOutput/Input would checkout buffers to some user configurable > limit before blocking. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Closed] (GEODE-6006) Evaluate ThinClientPoolDM's mutex usage around m_endpoints
[ https://issues.apache.org/jira/browse/GEODE-6006?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt closed GEODE-6006. --- > Evaluate ThinClientPoolDM's mutex usage around m_endpoints > -- > > Key: GEODE-6006 > URL: https://issues.apache.org/jira/browse/GEODE-6006 > Project: Geode > Issue Type: Task > Components: native client >Reporter: Jacob Barrett >Priority: Major > > In some places {{m_endpoints}} is protected by the mutex in the ACE map, in > other places by {{m_endpointsLock}} mutex. > > ACE map does not lock iterators so any iterator calls should be locked > externally. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Resolved] (GEODE-6006) Evaluate ThinClientPoolDM's mutex usage around m_endpoints
[ https://issues.apache.org/jira/browse/GEODE-6006?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-6006. - Resolution: Not A Problem > Evaluate ThinClientPoolDM's mutex usage around m_endpoints > -- > > Key: GEODE-6006 > URL: https://issues.apache.org/jira/browse/GEODE-6006 > Project: Geode > Issue Type: Task > Components: native client >Reporter: Jacob Barrett >Priority: Major > > In some places {{m_endpoints}} is protected by the mutex in the ACE map, in > other places by {{m_endpointsLock}} mutex. > > ACE map does not lock iterators so any iterator calls should be locked > externally. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Resolved] (GEODE-6017) Investigate lack of synchronization in MapSegment::isTombstone
[ https://issues.apache.org/jira/browse/GEODE-6017?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-6017. - Resolution: Not A Problem > Investigate lack of synchronization in MapSegment::isTombstone > -- > > Key: GEODE-6017 > URL: https://issues.apache.org/jira/browse/GEODE-6017 > Project: Geode > Issue Type: Task > Components: native client >Reporter: Jacob Barrett >Priority: Major > > Unlike all other accessors to MapSegment, this method does not take any > locks. This does not seem correct but looks intentional. Let's try to > understand why and make any necessary corrections. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Closed] (GEODE-6017) Investigate lack of synchronization in MapSegment::isTombstone
[ https://issues.apache.org/jira/browse/GEODE-6017?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt closed GEODE-6017. --- > Investigate lack of synchronization in MapSegment::isTombstone > -- > > Key: GEODE-6017 > URL: https://issues.apache.org/jira/browse/GEODE-6017 > Project: Geode > Issue Type: Task > Components: native client >Reporter: Jacob Barrett >Priority: Major > > Unlike all other accessors to MapSegment, this method does not take any > locks. This does not seem correct but looks intentional. Let's try to > understand why and make any necessary corrections. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Closed] (GEODE-6500) apache::geode::client::InterestResultPolicy only works because we get lucky
[ https://issues.apache.org/jira/browse/GEODE-6500?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt closed GEODE-6500. --- > apache::geode::client::InterestResultPolicy only works because we get lucky > --- > > Key: GEODE-6500 > URL: https://issues.apache.org/jira/browse/GEODE-6500 > Project: Geode > Issue Type: Bug > Components: native client >Reporter: Blake Bender >Priority: Major > > Here's the code in InterestResultPolicy.hpp: > {code:java} > namespace apache { > namespace geode { > namespace client { > /** > * @class InterestResultPolicy InterestResultPolicy.hpp > * Policy class for interest result. > */ > class APACHE_GEODE_EXPORT InterestResultPolicy { > // public static methods > public: > static char nextOrdinal; > static InterestResultPolicy NONE; > static InterestResultPolicy KEYS; > static InterestResultPolicy KEYS_VALUES; > char ordinal; > char getOrdinal() { return ordinal; } > private: > InterestResultPolicy() { ordinal = nextOrdinal++; } > };{code} > All the statics are initialized in InterestResultPolicy.cpp, with nextOrdinal > set to 0. Thus, most of the time, the InterestResultPolicy instances NONE, > KEYS, and KEYS_VALUES are assigned 1, 2, and 3, respectively. The Geode wire > protocol most likely depends on these being fixed values, but the code as > written relies on initialization order to get the correct values. > Initialization order is *undefined behavior*, and compiler dependent. These > need to be explicitly initialized, NONE KEYS and KEYS_VALUES should be > members of an enum class rather than object instances, etc. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Resolved] (GEODE-6500) apache::geode::client::InterestResultPolicy only works because we get lucky
[ https://issues.apache.org/jira/browse/GEODE-6500?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-6500. - Resolution: Fixed > apache::geode::client::InterestResultPolicy only works because we get lucky > --- > > Key: GEODE-6500 > URL: https://issues.apache.org/jira/browse/GEODE-6500 > Project: Geode > Issue Type: Bug > Components: native client >Reporter: Blake Bender >Priority: Major > > Here's the code in InterestResultPolicy.hpp: > {code:java} > namespace apache { > namespace geode { > namespace client { > /** > * @class InterestResultPolicy InterestResultPolicy.hpp > * Policy class for interest result. > */ > class APACHE_GEODE_EXPORT InterestResultPolicy { > // public static methods > public: > static char nextOrdinal; > static InterestResultPolicy NONE; > static InterestResultPolicy KEYS; > static InterestResultPolicy KEYS_VALUES; > char ordinal; > char getOrdinal() { return ordinal; } > private: > InterestResultPolicy() { ordinal = nextOrdinal++; } > };{code} > All the statics are initialized in InterestResultPolicy.cpp, with nextOrdinal > set to 0. Thus, most of the time, the InterestResultPolicy instances NONE, > KEYS, and KEYS_VALUES are assigned 1, 2, and 3, respectively. The Geode wire > protocol most likely depends on these being fixed values, but the code as > written relies on initialization order to get the correct values. > Initialization order is *undefined behavior*, and compiler dependent. These > need to be explicitly initialized, NONE KEYS and KEYS_VALUES should be > members of an enum class rather than object instances, etc. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Resolved] (GEODE-7190) Native Client should use latest protocol ordinal
[ https://issues.apache.org/jira/browse/GEODE-7190?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-7190. - Resolution: Later > Native Client should use latest protocol ordinal > > > Key: GEODE-7190 > URL: https://issues.apache.org/jira/browse/GEODE-7190 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Michael Oleske >Priority: Major > > **We should** update the protocol ordinal version > **Before we** make more communication changes > **Because** working on an old version makes it difficult to communicate with > the server. > **Notes**: The current ordinal is 45, we should move to Geode 1.9.x version, > which is 100 -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Closed] (GEODE-7190) Native Client should use latest protocol ordinal
[ https://issues.apache.org/jira/browse/GEODE-7190?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt closed GEODE-7190. --- > Native Client should use latest protocol ordinal > > > Key: GEODE-7190 > URL: https://issues.apache.org/jira/browse/GEODE-7190 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Michael Oleske >Priority: Major > > **We should** update the protocol ordinal version > **Before we** make more communication changes > **Because** working on an old version makes it difficult to communicate with > the server. > **Notes**: The current ordinal is 45, we should move to Geode 1.9.x version, > which is 100 -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Resolved] (GEODE-7236) Fix Clang 'defaulted-function-deleted' and 'c++2a-compat' warnings
[ https://issues.apache.org/jira/browse/GEODE-7236?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-7236. - Resolution: Won't Fix > Fix Clang 'defaulted-function-deleted' and 'c++2a-compat' warnings > -- > > Key: GEODE-7236 > URL: https://issues.apache.org/jira/browse/GEODE-7236 > Project: Geode > Issue Type: Bug > Components: native client >Reporter: Blake Bender >Priority: Major > > Repro steps: > * Sync up to geode native `develop` branch on a Mac with latest Clang `Apple > clang version 11.0.0 (clang-1100.0.33.8)` > * Check top-level CMakeLists.txt and make sure these warnings are enabled, > i.e. not turned off in `target_compile_options(_WarningsAsError INTERFACE` > * Configure and build Geode Native > Expected Result: > * Geode Native builds to completion > Actual Result: > * Clang warns about these things, and the build fails due to WarningsAsError. > These warnings have been disabled (GEODE-7325) to get the build back off the > floor, but we need to provide the actual code fix and re-enable the warnings. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Closed] (GEODE-7236) Fix Clang 'defaulted-function-deleted' and 'c++2a-compat' warnings
[ https://issues.apache.org/jira/browse/GEODE-7236?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt closed GEODE-7236. --- > Fix Clang 'defaulted-function-deleted' and 'c++2a-compat' warnings > -- > > Key: GEODE-7236 > URL: https://issues.apache.org/jira/browse/GEODE-7236 > Project: Geode > Issue Type: Bug > Components: native client >Reporter: Blake Bender >Priority: Major > > Repro steps: > * Sync up to geode native `develop` branch on a Mac with latest Clang `Apple > clang version 11.0.0 (clang-1100.0.33.8)` > * Check top-level CMakeLists.txt and make sure these warnings are enabled, > i.e. not turned off in `target_compile_options(_WarningsAsError INTERFACE` > * Configure and build Geode Native > Expected Result: > * Geode Native builds to completion > Actual Result: > * Clang warns about these things, and the build fails due to WarningsAsError. > These warnings have been disabled (GEODE-7325) to get the build back off the > floor, but we need to provide the actual code fix and re-enable the warnings. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Resolved] (GEODE-7302) security-client-kspath should not be a property a user can set
[ https://issues.apache.org/jira/browse/GEODE-7302?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-7302. - Resolution: Not A Problem > security-client-kspath should not be a property a user can set > -- > > Key: GEODE-7302 > URL: https://issues.apache.org/jira/browse/GEODE-7302 > Project: Geode > Issue Type: Task > Components: native client >Reporter: Michael Oleske >Priority: Major > > h3. Why > With the usage of `ssl-truststore`, users should not use > `security-client-kspath`. `security-client-kspath` is not actually used by > our code. > *As a C++ developer* > *I want* to not have properties that don't do anything > *So that* I don't get confused > h3. Acceptance Criteria > *Given* that I have a C++ application > *When* I set `security-client-kspath` > *Then* I get an error saying that's not a property -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Closed] (GEODE-7302) security-client-kspath should not be a property a user can set
[ https://issues.apache.org/jira/browse/GEODE-7302?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt closed GEODE-7302. --- > security-client-kspath should not be a property a user can set > -- > > Key: GEODE-7302 > URL: https://issues.apache.org/jira/browse/GEODE-7302 > Project: Geode > Issue Type: Task > Components: native client >Reporter: Michael Oleske >Priority: Major > > h3. Why > With the usage of `ssl-truststore`, users should not use > `security-client-kspath`. `security-client-kspath` is not actually used by > our code. > *As a C++ developer* > *I want* to not have properties that don't do anything > *So that* I don't get confused > h3. Acceptance Criteria > *Given* that I have a C++ application > *When* I set `security-client-kspath` > *Then* I get an error saying that's not a property -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Resolved] (GEODE-7584) Refactor PDX handling in ThinClientPoolDM
[ https://issues.apache.org/jira/browse/GEODE-7584?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-7584. - Resolution: Won't Fix > Refactor PDX handling in ThinClientPoolDM > - > > Key: GEODE-7584 > URL: https://issues.apache.org/jira/browse/GEODE-7584 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Blake Bender >Priority: Major > Labels: pull-request-available > Time Spent: 1h 40m > Remaining Estimate: 0h > > As a native client developer, I would very much like to fully understand > what's going on in the PDX serialization/deserialization code. > Unfortunately, much of this code is opaque and full of side-effect. For > instance, ThinClientPoolDM::GetPDXIdForType first gets the type, which > registers the type on the specific server the pool is talking to, then it > broadcasts the type information to any/all other existing pools in the > client. Cleaning up some of this stuff so you can see the discrete steps the > code is executing will go a long way towards making it readable. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Closed] (GEODE-7584) Refactor PDX handling in ThinClientPoolDM
[ https://issues.apache.org/jira/browse/GEODE-7584?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt closed GEODE-7584. --- > Refactor PDX handling in ThinClientPoolDM > - > > Key: GEODE-7584 > URL: https://issues.apache.org/jira/browse/GEODE-7584 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Blake Bender >Priority: Major > Labels: pull-request-available > Time Spent: 1h 40m > Remaining Estimate: 0h > > As a native client developer, I would very much like to fully understand > what's going on in the PDX serialization/deserialization code. > Unfortunately, much of this code is opaque and full of side-effect. For > instance, ThinClientPoolDM::GetPDXIdForType first gets the type, which > registers the type on the specific server the pool is talking to, then it > broadcasts the type information to any/all other existing pools in the > client. Cleaning up some of this stuff so you can see the discrete steps the > code is executing will go a long way towards making it readable. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Closed] (GEODE-7697) Add Dependency on OpenSSL 1.1 to Native Client
[ https://issues.apache.org/jira/browse/GEODE-7697?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt closed GEODE-7697. --- > Add Dependency on OpenSSL 1.1 to Native Client > -- > > Key: GEODE-7697 > URL: https://issues.apache.org/jira/browse/GEODE-7697 > Project: Geode > Issue Type: Bug > Components: native client >Reporter: Michael Martell >Priority: Major > Labels: pull-request-available > Time Spent: 40m > Remaining Estimate: 0h > > Native client depends on OpenSSL 1.1 to avoid issues with multithreading. > This ticket is to enforce this dependency via the cmake find_package command. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Resolved] (GEODE-7697) Add Dependency on OpenSSL 1.1 to Native Client
[ https://issues.apache.org/jira/browse/GEODE-7697?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-7697. - Resolution: Not A Problem > Add Dependency on OpenSSL 1.1 to Native Client > -- > > Key: GEODE-7697 > URL: https://issues.apache.org/jira/browse/GEODE-7697 > Project: Geode > Issue Type: Bug > Components: native client >Reporter: Michael Martell >Priority: Major > Labels: pull-request-available > Time Spent: 40m > Remaining Estimate: 0h > > Native client depends on OpenSSL 1.1 to avoid issues with multithreading. > This ticket is to enforce this dependency via the cmake find_package command. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Updated] (GEODE-7882) Add a new .NET Query test using ReflectionBasedAutoSerializer
[ https://issues.apache.org/jira/browse/GEODE-7882?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt updated GEODE-7882: Parent: GEODE-7952 Issue Type: Sub-task (was: Test) > Add a new .NET Query test using ReflectionBasedAutoSerializer > - > > Key: GEODE-7882 > URL: https://issues.apache.org/jira/browse/GEODE-7882 > Project: Geode > Issue Type: Sub-task > Components: native client >Reporter: Michael Martell >Priority: Major > > The existing query test for this (ThinClientPdxTest2 in the old framework) > didn't actually do any Asserts. This was actually a useless test. > We need to write a proper query test for autoserialized data of .NET classes. > The test should be added to the new AutoSerializationTests in the new > integration-test2 framework. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Updated] (GEODE-8121) Add Support for Property Files and Hostname to Integration Test Framework
[ https://issues.apache.org/jira/browse/GEODE-8121?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt updated GEODE-8121: Issue Type: Test (was: Improvement) > Add Support for Property Files and Hostname to Integration Test Framework > - > > Key: GEODE-8121 > URL: https://issues.apache.org/jira/browse/GEODE-8121 > Project: Geode > Issue Type: Test > Components: native client >Reporter: Michael Martell >Priority: Major > > Need to add support for the following: > * --hostname-for-clients > * --properties-file > * --security-properties-file -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Updated] (GEODE-7961) Add Support configure pdx commands in the new .NET test framework
[ https://issues.apache.org/jira/browse/GEODE-7961?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt updated GEODE-7961: Issue Type: Test (was: Improvement) > Add Support configure pdx commands in the new .NET test framework > - > > Key: GEODE-7961 > URL: https://issues.apache.org/jira/browse/GEODE-7961 > Project: Geode > Issue Type: Test > Components: native client >Reporter: Michael Martell >Priority: Major > > The current .NET Xunit test framework starts and stops the geode cluster > programmatically via gfsh commands. It supports a wide range of commands, but > it doesn't not provide a way to configure servers with pdx. > This ticket calls for a way to insert "configure pdx ..." commands after the > start locator commands and before any start server commands -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Resolved] (GEODE-8156) Write basic SNI test for C# (clicache)
[ https://issues.apache.org/jira/browse/GEODE-8156?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-8156. - Resolution: Duplicate > Write basic SNI test for C# (clicache) > -- > > Key: GEODE-8156 > URL: https://issues.apache.org/jira/browse/GEODE-8156 > Project: Geode > Issue Type: New Feature > Components: native client >Reporter: Blake Bender >Priority: Major > -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Closed] (GEODE-8156) Write basic SNI test for C# (clicache)
[ https://issues.apache.org/jira/browse/GEODE-8156?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt closed GEODE-8156. --- > Write basic SNI test for C# (clicache) > -- > > Key: GEODE-8156 > URL: https://issues.apache.org/jira/browse/GEODE-8156 > Project: Geode > Issue Type: New Feature > Components: native client >Reporter: Blake Bender >Priority: Major > -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Updated] (GEODE-8208) Remove global initLib/closeLib methods from CppCacheLibrary
[ https://issues.apache.org/jira/browse/GEODE-8208?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt updated GEODE-8208: Parent: GEODE-2484 Issue Type: Sub-task (was: Improvement) > Remove global initLib/closeLib methods from CppCacheLibrary > --- > > Key: GEODE-8208 > URL: https://issues.apache.org/jira/browse/GEODE-8208 > Project: Geode > Issue Type: Sub-task > Components: native client >Reporter: Blake Bender >Priority: Major > > closeLib contains no code, just remove it. initLib is only one line of code, > a call to ACE::init(). If there is to be any global initialization code for > geode-native, and it currently doesn't appear that there is, it needs to be > exposed in the public API and called explicitly by the application, where > object lifetimes etc are known. Since CppCacheLibrary isn't public, and once > we remove ACE (GEODE-2484) there will literally be no code in either of these > methods, we should delete them and move on. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Closed] (GEODE-8468) Review use of switch statements with enums
[ https://issues.apache.org/jira/browse/GEODE-8468?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt closed GEODE-8468. --- > Review use of switch statements with enums > -- > > Key: GEODE-8468 > URL: https://issues.apache.org/jira/browse/GEODE-8468 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Michael Oleske >Priority: Major > Labels: GoodForNewContributors > > We should check our usage of switch statements with enums > Before we add more enums > Because readability is important > Notes: While working on GEODE-8340, it was determined that some of the > places where a switch statement over enums was used were cases where a switch > statement was not the best control structure. The goal here is prevent a > long unwieldy list of switch statements. There are a lot of places to > review, so it will probably be easiest to do this over several PRs, which may > require several stories. The places listed below does not mean all of them > need to be fixed, but they should all be reviewed for improvement. For > further context, check out the comments on the [pr for > 8340|https://github.com/apache/geode-native/pull/625] > cppcache/integration-test/testThinClientCq.cpp at line 156ish > cppcache/integration-test/testThinClientCq.cpp at line 220ish > cppcache/integration-test/testThinClientCqDurable.cpp at line 125ish > cppcache/integration-test/testThinClientSecurityCQAuthorizationMU.cppline > 119ish > cppcache/integration-test/testThinClientSecurityDurableCQAuthorizationMU.cpp > at line 1229ish > cppcache/integration/test/SimpleCqListener.cpp at line 43ish > cppcache/src/CqQueryImpl.cpp at line 548ish > cppcache/src/CqService.cpp at line 71ish > cppcache/src/LRUAction.cpp at line 47ish > cppcache/src/LocalRegion.cpp at line 2586ish > cppcache/src/LocalRegion.cpp at line 2639ish > cppcache/src/LocalRegion.cpp at line 2696ish > cppcache/src/LocalRegion.cpp at line 2715ish > cppcache/src/LocalRegion.cpp at line 2781ish > cppcache/src/PdxInstanceImpl.cpp at line 247ish > cppcache/src/PdxInstanceImpl.cpp at line 485ish > cppcache/src/PdxInstanceImpl.cpp at line 667ish > cppcache/src/PdxInstanceImpl.cpp at line 1136ish > cppcache/src/SerializationRegistry.cpp at line 182ish > cppcache/src/SerializationRegistry.cpp at line 259ish > cppcache/src/SerializationRegistry.cpp at line 626ish > cppcache/src/SerializationRegistry.cpp at line 703ish > cppcache/src/TcrConnection.cpp at line 1194ish > cppcache/src/TcrMessage.cpp at line 1015ish > tests/cpp/fwklib/IpcHandler.cpp at line 231ish > tests/cpp/security/XmlAuthzCredentialGenerator.hpp at line 107ish > tests/cpp/security/XmlAuthzCredentialGenerator.hpp at line 162ish -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Resolved] (GEODE-8468) Review use of switch statements with enums
[ https://issues.apache.org/jira/browse/GEODE-8468?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-8468. - Resolution: Fixed > Review use of switch statements with enums > -- > > Key: GEODE-8468 > URL: https://issues.apache.org/jira/browse/GEODE-8468 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Michael Oleske >Priority: Major > Labels: GoodForNewContributors > > We should check our usage of switch statements with enums > Before we add more enums > Because readability is important > Notes: While working on GEODE-8340, it was determined that some of the > places where a switch statement over enums was used were cases where a switch > statement was not the best control structure. The goal here is prevent a > long unwieldy list of switch statements. There are a lot of places to > review, so it will probably be easiest to do this over several PRs, which may > require several stories. The places listed below does not mean all of them > need to be fixed, but they should all be reviewed for improvement. For > further context, check out the comments on the [pr for > 8340|https://github.com/apache/geode-native/pull/625] > cppcache/integration-test/testThinClientCq.cpp at line 156ish > cppcache/integration-test/testThinClientCq.cpp at line 220ish > cppcache/integration-test/testThinClientCqDurable.cpp at line 125ish > cppcache/integration-test/testThinClientSecurityCQAuthorizationMU.cppline > 119ish > cppcache/integration-test/testThinClientSecurityDurableCQAuthorizationMU.cpp > at line 1229ish > cppcache/integration/test/SimpleCqListener.cpp at line 43ish > cppcache/src/CqQueryImpl.cpp at line 548ish > cppcache/src/CqService.cpp at line 71ish > cppcache/src/LRUAction.cpp at line 47ish > cppcache/src/LocalRegion.cpp at line 2586ish > cppcache/src/LocalRegion.cpp at line 2639ish > cppcache/src/LocalRegion.cpp at line 2696ish > cppcache/src/LocalRegion.cpp at line 2715ish > cppcache/src/LocalRegion.cpp at line 2781ish > cppcache/src/PdxInstanceImpl.cpp at line 247ish > cppcache/src/PdxInstanceImpl.cpp at line 485ish > cppcache/src/PdxInstanceImpl.cpp at line 667ish > cppcache/src/PdxInstanceImpl.cpp at line 1136ish > cppcache/src/SerializationRegistry.cpp at line 182ish > cppcache/src/SerializationRegistry.cpp at line 259ish > cppcache/src/SerializationRegistry.cpp at line 626ish > cppcache/src/SerializationRegistry.cpp at line 703ish > cppcache/src/TcrConnection.cpp at line 1194ish > cppcache/src/TcrMessage.cpp at line 1015ish > tests/cpp/fwklib/IpcHandler.cpp at line 231ish > tests/cpp/security/XmlAuthzCredentialGenerator.hpp at line 107ish > tests/cpp/security/XmlAuthzCredentialGenerator.hpp at line 162ish -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Resolved] (GEODE-8510) Write Testing.md to Illustrate How to Contribute New Tests
[ https://issues.apache.org/jira/browse/GEODE-8510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-8510. - Resolution: Fixed > Write Testing.md to Illustrate How to Contribute New Tests > -- > > Key: GEODE-8510 > URL: https://issues.apache.org/jira/browse/GEODE-8510 > Project: Geode > Issue Type: Improvement > Components: docs, native client >Reporter: Michael Martell >Priority: Major > > Testing for geode-native consists of a lot of different testing environments > including NUnit, GoogleTest, XUnit, as well as legacy tests that use our own > built-in test frameworks. We need a document describing the methodology for > writing new tests using our new frameworks for C++ and .NET. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Closed] (GEODE-8510) Write Testing.md to Illustrate How to Contribute New Tests
[ https://issues.apache.org/jira/browse/GEODE-8510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt closed GEODE-8510. --- > Write Testing.md to Illustrate How to Contribute New Tests > -- > > Key: GEODE-8510 > URL: https://issues.apache.org/jira/browse/GEODE-8510 > Project: Geode > Issue Type: Improvement > Components: docs, native client >Reporter: Michael Martell >Priority: Major > > Testing for geode-native consists of a lot of different testing environments > including NUnit, GoogleTest, XUnit, as well as legacy tests that use our own > built-in test frameworks. We need a document describing the methodology for > writing new tests using our new frameworks for C++ and .NET. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Commented] (GEODE-8510) Write Testing.md to Illustrate How to Contribute New Tests
[ https://issues.apache.org/jira/browse/GEODE-8510?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17494057#comment-17494057 ] Ernest Burghardt commented on GEODE-8510: - [~mmartell] still need to do this? > Write Testing.md to Illustrate How to Contribute New Tests > -- > > Key: GEODE-8510 > URL: https://issues.apache.org/jira/browse/GEODE-8510 > Project: Geode > Issue Type: Improvement > Components: docs, native client >Reporter: Michael Martell >Priority: Major > > Testing for geode-native consists of a lot of different testing environments > including NUnit, GoogleTest, XUnit, as well as legacy tests that use our own > built-in test frameworks. We need a document describing the methodology for > writing new tests using our new frameworks for C++ and .NET. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Resolved] (GEODE-8562) Add a new serialization test and example that uses a class for the key
[ https://issues.apache.org/jira/browse/GEODE-8562?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-8562. - Resolution: Fixed > Add a new serialization test and example that uses a class for the key > -- > > Key: GEODE-8562 > URL: https://issues.apache.org/jira/browse/GEODE-8562 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Michael Martell >Priority: Major > Labels: pull-request-available > > There appears to be no native client tests that use a class for the key. > A new DataSerializable test should be added (new framework of course) that > uses a class that implements DataSerializable for both the key and the value. > Also, the test should be added for both C++ and .NET. > Also update the existing put/get examples to include using a class as the > key. Note, this will require Java code that instantiates the key class. > Notes: > * > Using a class as a key requires the equivalent Java class to be deployed, as > well as an Instantiator for that class to be executed by the server on > startup. An example of this is the > QueryTest::DataSerializableQueryHaveCorrectValues which uses Position.cs and > Position.java. > * In this existing test, Position.java needs to be deployed and instantiated > because the test executes queries. In this new test, we need to deploy and > instantiate the java code for the key class because it's a key not a value. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Closed] (GEODE-8562) Add a new serialization test and example that uses a class for the key
[ https://issues.apache.org/jira/browse/GEODE-8562?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt closed GEODE-8562. --- > Add a new serialization test and example that uses a class for the key > -- > > Key: GEODE-8562 > URL: https://issues.apache.org/jira/browse/GEODE-8562 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Michael Martell >Priority: Major > Labels: pull-request-available > > There appears to be no native client tests that use a class for the key. > A new DataSerializable test should be added (new framework of course) that > uses a class that implements DataSerializable for both the key and the value. > Also, the test should be added for both C++ and .NET. > Also update the existing put/get examples to include using a class as the > key. Note, this will require Java code that instantiates the key class. > Notes: > * > Using a class as a key requires the equivalent Java class to be deployed, as > well as an Instantiator for that class to be executed by the server on > startup. An example of this is the > QueryTest::DataSerializableQueryHaveCorrectValues which uses Position.cs and > Position.java. > * In this existing test, Position.java needs to be deployed and instantiated > because the test executes queries. In this new test, we need to deploy and > instantiate the java code for the key class because it's a key not a value. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Updated] (GEODE-8628) SetReadTimeout not working
[ https://issues.apache.org/jira/browse/GEODE-8628?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt updated GEODE-8628: Issue Type: Test (was: Bug) > SetReadTimeout not working > -- > > Key: GEODE-8628 > URL: https://issues.apache.org/jira/browse/GEODE-8628 > Project: Geode > Issue Type: Test > Components: native client >Reporter: Michael Martell >Priority: Major > > This PoolFactory API isn't working. The docs for this pool attribute describe > this as: > * Number of milliseconds to wait for a response from a server before the > connection times out. > This timeout parameter appears to be passed in each TcrMessage request. > However, it's not clear how it is actually used. The only test for this to > verify the attribute getter and setter. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Commented] (GEODE-8628) SetReadTimeout not working
[ https://issues.apache.org/jira/browse/GEODE-8628?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17494053#comment-17494053 ] Ernest Burghardt commented on GEODE-8628: - need a test for related functionality > SetReadTimeout not working > -- > > Key: GEODE-8628 > URL: https://issues.apache.org/jira/browse/GEODE-8628 > Project: Geode > Issue Type: Test > Components: native client >Reporter: Michael Martell >Priority: Major > > This PoolFactory API isn't working. The docs for this pool attribute describe > this as: > * Number of milliseconds to wait for a response from a server before the > connection times out. > This timeout parameter appears to be passed in each TcrMessage request. > However, it's not clear how it is actually used. The only test for this to > verify the attribute getter and setter. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Closed] (GEODE-8653) Investigate use of Infer static analysis tool
[ https://issues.apache.org/jira/browse/GEODE-8653?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt closed GEODE-8653. --- > Investigate use of Infer static analysis tool > - > > Key: GEODE-8653 > URL: https://issues.apache.org/jira/browse/GEODE-8653 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Blake Bender >Assignee: Mario Salazar de Torres >Priority: Major > > Facebook recently released a static analysis tool for C++ and several other > languages as OSS. It looks fairly thorough, and would probably be an > excellent tool to incorporate into a CI pipeline or similar. Perhaps someone > can try setting it up to run against geode-native and provide some feedback > here regarding ease-of-use and quality of results, so we can decide whether > to add it to our process. > [https://fbinfer.com|https://fbinfer.com/] > -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Resolved] (GEODE-8653) Investigate use of Infer static analysis tool
[ https://issues.apache.org/jira/browse/GEODE-8653?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-8653. - Resolution: Abandoned > Investigate use of Infer static analysis tool > - > > Key: GEODE-8653 > URL: https://issues.apache.org/jira/browse/GEODE-8653 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Blake Bender >Assignee: Mario Salazar de Torres >Priority: Major > > Facebook recently released a static analysis tool for C++ and several other > languages as OSS. It looks fairly thorough, and would probably be an > excellent tool to incorporate into a CI pipeline or similar. Perhaps someone > can try setting it up to run against geode-native and provide some feedback > here regarding ease-of-use and quality of results, so we can decide whether > to add it to our process. > [https://fbinfer.com|https://fbinfer.com/] > -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Closed] (GEODE-8666) Enforce warning no-non-virtual-dtor
[ https://issues.apache.org/jira/browse/GEODE-8666?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt closed GEODE-8666. --- > Enforce warning no-non-virtual-dtor > --- > > Key: GEODE-8666 > URL: https://issues.apache.org/jira/browse/GEODE-8666 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Michael Oleske >Priority: Major > Labels: pull-request-available > > Given I compile the code without exempting no-non-virtual-dtor > Then it should compile > Note - was marked as a todo -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Closed] (GEODE-8679) Replace Native logger with 3rd party solution
[ https://issues.apache.org/jira/browse/GEODE-8679?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt closed GEODE-8679. --- > Replace Native logger with 3rd party solution > - > > Key: GEODE-8679 > URL: https://issues.apache.org/jira/browse/GEODE-8679 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Blake Bender >Priority: Major > Labels: pull-request-available > > As a native client developer, I would prefer to only maintain code that > actually implements core features of a Geode client. A logging subsystem is > definitely not core Geode functionality. Additionally, the existing > geode-native logger does not properly support the `loig-file-size-limit` and > `log-disk-space-limit` properties. Rather than attempt to fix the existing > logging code to properly implement these, we should switch to a 3rd-party > solution (spdlog or similar) that already has these features available and > working. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Resolved] (GEODE-8666) Enforce warning no-non-virtual-dtor
[ https://issues.apache.org/jira/browse/GEODE-8666?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-8666. - Resolution: Won't Fix > Enforce warning no-non-virtual-dtor > --- > > Key: GEODE-8666 > URL: https://issues.apache.org/jira/browse/GEODE-8666 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Michael Oleske >Priority: Major > Labels: pull-request-available > > Given I compile the code without exempting no-non-virtual-dtor > Then it should compile > Note - was marked as a todo -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Closed] (GEODE-8723) Convert unit tests to encrypt connections by default
[ https://issues.apache.org/jira/browse/GEODE-8723?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt closed GEODE-8723. --- > Convert unit tests to encrypt connections by default > > > Key: GEODE-8723 > URL: https://issues.apache.org/jira/browse/GEODE-8723 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Matthew Reddington >Priority: Major > > Almost all of our tests use plaintext, unauthenticated connections to a Geode > cluster, whereas this does not reflect what any client does anywhere ever; > the opposite is true. Our tests should reflect the common case, encryption > and authentication by default, and plaintext connections should be > exceptional test cases. > Make it trivially configurable that all tests use encryption and > authentication. Make it the default. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Resolved] (GEODE-8723) Convert unit tests to encrypt connections by default
[ https://issues.apache.org/jira/browse/GEODE-8723?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-8723. - Resolution: Won't Fix for unit tests no, integration test yes > Convert unit tests to encrypt connections by default > > > Key: GEODE-8723 > URL: https://issues.apache.org/jira/browse/GEODE-8723 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Matthew Reddington >Priority: Major > > Almost all of our tests use plaintext, unauthenticated connections to a Geode > cluster, whereas this does not reflect what any client does anywhere ever; > the opposite is true. Our tests should reflect the common case, encryption > and authentication by default, and plaintext connections should be > exceptional test cases. > Make it trivially configurable that all tests use encryption and > authentication. Make it the default. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Resolved] (GEODE-8679) Replace Native logger with 3rd party solution
[ https://issues.apache.org/jira/browse/GEODE-8679?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-8679. - Resolution: Won't Fix post log4j we've decided to not use 3rd party logging. > Replace Native logger with 3rd party solution > - > > Key: GEODE-8679 > URL: https://issues.apache.org/jira/browse/GEODE-8679 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Blake Bender >Priority: Major > Labels: pull-request-available > > As a native client developer, I would prefer to only maintain code that > actually implements core features of a Geode client. A logging subsystem is > definitely not core Geode functionality. Additionally, the existing > geode-native logger does not properly support the `loig-file-size-limit` and > `log-disk-space-limit` properties. Rather than attempt to fix the existing > logging code to properly implement these, we should switch to a 3rd-party > solution (spdlog or similar) that already has these features available and > working. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Resolved] (GEODE-8731) Remove inline functions from published headers
[ https://issues.apache.org/jira/browse/GEODE-8731?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-8731. - Resolution: Won't Fix > Remove inline functions from published headers > -- > > Key: GEODE-8731 > URL: https://issues.apache.org/jira/browse/GEODE-8731 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Matthew Reddington >Priority: Major > > Any inline functions found in cppcache/geode/include incur an ABI change and > a version minor should any of that implementation need be changed. Nothing > there should be inlined or defaulted. > Move inlined methods into source files and bump the version minor. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Closed] (GEODE-8731) Remove inline functions from published headers
[ https://issues.apache.org/jira/browse/GEODE-8731?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt closed GEODE-8731. --- > Remove inline functions from published headers > -- > > Key: GEODE-8731 > URL: https://issues.apache.org/jira/browse/GEODE-8731 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Matthew Reddington >Priority: Major > > Any inline functions found in cppcache/geode/include incur an ABI change and > a version minor should any of that implementation need be changed. Nothing > there should be inlined or defaulted. > Move inlined methods into source files and bump the version minor. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Closed] (GEODE-8792) Support Universal builds on macOS
[ https://issues.apache.org/jira/browse/GEODE-8792?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt closed GEODE-8792. --- > Support Universal builds on macOS > - > > Key: GEODE-8792 > URL: https://issues.apache.org/jira/browse/GEODE-8792 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Jacob Barrett >Priority: Major > Labels: pull-request-available > > Support Universal builds (x86_64 and arm64) on recent macOS. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Resolved] (GEODE-8775) Add Gfsh execute function support to new C++ test framework
[ https://issues.apache.org/jira/browse/GEODE-8775?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-8775. - Resolution: Fixed > Add Gfsh execute function support to new C++ test framework > --- > > Key: GEODE-8775 > URL: https://issues.apache.org/jira/browse/GEODE-8775 > Project: Geode > Issue Type: Test > Components: native client >Reporter: Michael Martell >Priority: Minor > Labels: pull-request-available > > In the course of adding a new C++ test for using a class as a key I > discovered that the new C++ test framework didn't support the gfsh execute > function command. > > Note: This functionality already exists in the new .NET test framework. This > ticket is to add it to the new C++ framework -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Resolved] (GEODE-8792) Support Universal builds on macOS
[ https://issues.apache.org/jira/browse/GEODE-8792?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-8792. - Resolution: Fixed > Support Universal builds on macOS > - > > Key: GEODE-8792 > URL: https://issues.apache.org/jira/browse/GEODE-8792 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Jacob Barrett >Priority: Major > Labels: pull-request-available > > Support Universal builds (x86_64 and arm64) on recent macOS. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Closed] (GEODE-8775) Add Gfsh execute function support to new C++ test framework
[ https://issues.apache.org/jira/browse/GEODE-8775?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt closed GEODE-8775. --- > Add Gfsh execute function support to new C++ test framework > --- > > Key: GEODE-8775 > URL: https://issues.apache.org/jira/browse/GEODE-8775 > Project: Geode > Issue Type: Test > Components: native client >Reporter: Michael Martell >Priority: Minor > Labels: pull-request-available > > In the course of adding a new C++ test for using a class as a key I > discovered that the new C++ test framework didn't support the gfsh execute > function command. > > Note: This functionality already exists in the new .NET test framework. This > ticket is to add it to the new C++ framework -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Closed] (GEODE-8843) Port testThinClientConflation test to new framework
[ https://issues.apache.org/jira/browse/GEODE-8843?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt closed GEODE-8843. --- > Port testThinClientConflation test to new framework > --- > > Key: GEODE-8843 > URL: https://issues.apache.org/jira/browse/GEODE-8843 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Blake Bender >Assignee: Blake Bender >Priority: Major > Labels: pull-request-available > > As a developer, I would like to be able to run one test suite locally and > cover all of my tests. There are a ton of other reasons why we wish to port > all the 'legacy' tests and ditch the old test code, but this is sufficient. > There's no particular reason to target this test specifically, it just > happens to be first on my list because I was looking for one that didn't take > forever to complete. > -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Resolved] (GEODE-8843) Port testThinClientConflation test to new framework
[ https://issues.apache.org/jira/browse/GEODE-8843?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-8843. - Resolution: Fixed > Port testThinClientConflation test to new framework > --- > > Key: GEODE-8843 > URL: https://issues.apache.org/jira/browse/GEODE-8843 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Blake Bender >Assignee: Blake Bender >Priority: Major > Labels: pull-request-available > > As a developer, I would like to be able to run one test suite locally and > cover all of my tests. There are a ton of other reasons why we wish to port > all the 'legacy' tests and ditch the old test code, but this is sufficient. > There's no particular reason to target this test specifically, it just > happens to be first on my list because I was looking for one that didn't take > forever to complete. > -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Closed] (GEODE-8845) Add Missing public Declarations for .NET Cacheables
[ https://issues.apache.org/jira/browse/GEODE-8845?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt closed GEODE-8845. --- > Add Missing public Declarations for .NET Cacheables > --- > > Key: GEODE-8845 > URL: https://issues.apache.org/jira/browse/GEODE-8845 > Project: Geode > Issue Type: Bug > Components: native client >Reporter: Michael Martell >Priority: Minor > Labels: pull-request-available > > The .NET APIs provide Cacheable types (e.g. CacheableString) for the standard > .NET types. However, several of them are missing the public declarations, > making them inaccessible. > These classes provide a hashCode() function that matches the corresponding > hashCode on the server side. It would be nice to be able to leverage these > functions when using these types in a key class. I discovered this when > implementing a new ClassAsKey example. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Resolved] (GEODE-8845) Add Missing public Declarations for .NET Cacheables
[ https://issues.apache.org/jira/browse/GEODE-8845?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-8845. - Resolution: Won't Fix > Add Missing public Declarations for .NET Cacheables > --- > > Key: GEODE-8845 > URL: https://issues.apache.org/jira/browse/GEODE-8845 > Project: Geode > Issue Type: Bug > Components: native client >Reporter: Michael Martell >Priority: Minor > Labels: pull-request-available > > The .NET APIs provide Cacheable types (e.g. CacheableString) for the standard > .NET types. However, several of them are missing the public declarations, > making them inaccessible. > These classes provide a hashCode() function that matches the corresponding > hashCode on the server side. It would be nice to be able to leverage these > functions when using these types in a key class. I discovered this when > implementing a new ClassAsKey example. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Closed] (GEODE-8891) Convert remaining singletons to Meyers pattern
[ https://issues.apache.org/jira/browse/GEODE-8891?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt closed GEODE-8891. --- > Convert remaining singletons to Meyers pattern > -- > > Key: GEODE-8891 > URL: https://issues.apache.org/jira/browse/GEODE-8891 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Blake Bender >Priority: Major > Labels: pull-request-available > > As a developer, it is to my advantage to preemptively pay technical debt when > I can, especially if said debt has potentially subtle bugs. Geode Native > still has several poortly-written singleton objects in legacy code, and as > we've just seen with the rewrite of EventId for GEODE-8887, these can > introduce very strange behavior in a multi-threaded app. We need to identify > any of these remaining, and clean them up like we did for EventId. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Resolved] (GEODE-8891) Convert remaining singletons to Meyers pattern
[ https://issues.apache.org/jira/browse/GEODE-8891?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-8891. - Resolution: Fixed > Convert remaining singletons to Meyers pattern > -- > > Key: GEODE-8891 > URL: https://issues.apache.org/jira/browse/GEODE-8891 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Blake Bender >Priority: Major > Labels: pull-request-available > > As a developer, it is to my advantage to preemptively pay technical debt when > I can, especially if said debt has potentially subtle bugs. Geode Native > still has several poortly-written singleton objects in legacy code, and as > we've just seen with the rewrite of EventId for GEODE-8887, these can > introduce very strange behavior in a multi-threaded app. We need to identify > any of these remaining, and clean them up like we did for EventId. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Closed] (GEODE-8949) Create a Continuous Integration Pipeline
[ https://issues.apache.org/jira/browse/GEODE-8949?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt closed GEODE-8949. --- > Create a Continuous Integration Pipeline > > > Key: GEODE-8949 > URL: https://issues.apache.org/jira/browse/GEODE-8949 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Michael Martell >Priority: Major > Labels: pull-request-available > > This will be our open source CI for publishing to the Apache Software > Foundation. Two primary tenets are: > * based on Concourse > * PRs will trigger the CI pipeline and can't be merged until they pass the CI > Note: The bulk of this work has been completed in draft [PR > #716|http://github.com/apache/geode-native/pull/716]. See that PR for further > details. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Resolved] (GEODE-8949) Create a Continuous Integration Pipeline
[ https://issues.apache.org/jira/browse/GEODE-8949?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt resolved GEODE-8949. - Resolution: Done > Create a Continuous Integration Pipeline > > > Key: GEODE-8949 > URL: https://issues.apache.org/jira/browse/GEODE-8949 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Michael Martell >Priority: Major > Labels: pull-request-available > > This will be our open source CI for publishing to the Apache Software > Foundation. Two primary tenets are: > * based on Concourse > * PRs will trigger the CI pipeline and can't be merged until they pass the CI > Note: The bulk of this work has been completed in draft [PR > #716|http://github.com/apache/geode-native/pull/716]. See that PR for further > details. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Closed] (GEODE-8954) Use a GEODE_VERSION variable for the CI
[ https://issues.apache.org/jira/browse/GEODE-8954?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ernest Burghardt closed GEODE-8954. --- > Use a GEODE_VERSION variable for the CI > > > Key: GEODE-8954 > URL: https://issues.apache.org/jira/browse/GEODE-8954 > Project: Geode > Issue Type: Improvement > Components: native client >Reporter: Michael Martell >Priority: Minor > > Several CI related files have GEODE_VERSION hardcodes. This includes > .lgtm.yml, serveral Dockerfiles and Packer files. This ticket is to create a > variable that can be utilized and passed in as opposed to hardcoding in a > bunch of files. > Setting the variable and passing in to *_docker build_* as an argument seems > prudent. -- This message was sent by Atlassian Jira (v8.20.1#820001)