There appears to be consensus that this is a critical fix. The following commit has been brought into release/1.10.0 as the critical fix for GEODE-7169:
git cherry-pick -x aaa1378472ce0a8a05e0afabfdfc874e14fe13e6 GEODE-7169 has been marked as 'resolved in’ 1.10.0. 1.10.0.RC1 is no longer viable. We will prepare a 1.10.0.RC2 soon. Regards Dick & Owen > On Sep 9, 2019, at 9:01 AM, Dan Smith <dsm...@pivotal.io> wrote: > > +1 to getting the source build fix into 1.10. > > -Dan > > On Fri, Sep 6, 2019 at 5:58 PM Owen Nichols <onich...@pivotal.io> wrote: > >> +1 for catching the correct grgit exception so Geode can compile from >> src.tgz distribution. I might have gone further and just changed it to >> catch Exception, but it looks like the GrGit project has been stable for >> the last 2 years < >> https://github.com/ajoberstar/grgit/blob/master/grgit-core/src/main/groovy/org/ajoberstar/grgit/operation/OpenOp.groovy> >> on throwing IllegalStateException, so this fix should be solid. I tested >> locally and confirmed it solves the problem. >> >>> On Sep 6, 2019, at 2:24 PM, Robert Houghton <rhough...@pivotal.io> >> wrote: >>> >>> +1 to bringing the build-from-source name to 1.10 >>> -1 to RC1 until then >>> >>> On Fri, Sep 6, 2019, 14:21 Owen Nichols <onich...@pivotal.io> wrote: >>> >>>> Hi Anthony, thank you for bringing your concern. >>>> >>>> If there is consensus from the Geode community that your proposed fix >>>> satisfies the “critical fixes” rule, I will be happy to bring it to the >>>> release/1.10.0 release branch. >>>> >>>> Regards >>>> Dick & Owen >>>> >>>>> On Sep 6, 2019, at 2:18 PM, Anthony Baker <aba...@pivotal.io> wrote: >>>>> >>>>> Please pull aaa1378472ce0a8a05e0afabfdfc874e14fe13e6 into the release >>>> branch to fix the build problem. >>>>> >>>>> Anthony >>>>> >>>>> >>>>>> On Sep 6, 2019, at 11:29 AM, Dick Cavender <dcaven...@pivotal.io> >>>> wrote: >>>>>> >>>>>> The 1.10.0 voting has been extended until Monday, September 9th at >> 3pm. >>>>>> >>>>>> To all- please update your 1.10.0 vote if/when your issue(s) have been >>>>>> resolved. There are still no -1 votes at this time. >>>>>> >>>>>> On Fri, Sep 6, 2019 at 9:32 AM Nabarun Nag <n...@pivotal.io> wrote: >>>>>> >>>>>>> Hi Anthony, >>>>>>> >>>>>>> I had faced this issue in the current develop too. One way to get >>>> around it >>>>>>> is to run ./gradlew spotlessApply independently before the build. >>>>>>> >>>>>>> Regards >>>>>>> Naba >>>>>>> >>>>>>> >>>>>>> On Fri, Sep 6, 2019 at 8:53 AM Anthony Baker <aba...@pivotal.io> >>>> wrote: >>>>>>> >>>>>>>> This seems to be a simple change to catch IllegalStateException >>>> instead >>>>>>> of >>>>>>>> IllegalArgumentException in build.gradle. >>>>>>>> >>>>>>>> But I’m also getting a ton of spotless errors like: >>>>>>>> >>>>>>>>> Task :geode-cq:spotlessJava FAILED >>>>>>>> Step 'removeUnusedImports' found problem in >>>>>>>> >>>>>>> >>>> >> 'geode-cq/src/test/java/org/apache/geode/cache/query/internal/cq/CqServiceUnitTest.java': >>>>>>>> null >>>>>>>> java.lang.reflect.InvocationTargetException >>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>>>>>> at java.lang.reflect.Method.invoke(Method.java:498) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> com.diffplug.spotless.java.GoogleJavaFormatStep$State.lambda$createRemoveUnusedImportsOnly$1(GoogleJavaFormatStep.java:153) >>>>>>>> at >>>>>>> com.diffplug.spotless.FormatterFunc.apply(FormatterFunc.java:31) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> com.diffplug.spotless.FormatterStepImpl$Standard.format(FormatterStepImpl.java:78) >>>>>>>> at >>>>>>>> >>>> com.diffplug.spotless.FormatterStep$Strict.format(FormatterStep.java:76) >>>>>>>> at com.diffplug.spotless.Formatter.compute(Formatter.java:230) >>>>>>>> at com.diffplug.spotless.Formatter.isClean(Formatter.java:167) >>>>>>>> at >>>>>>>> >> com.diffplug.gradle.spotless.SpotlessTask.check(SpotlessTask.java:297) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> com.diffplug.gradle.spotless.SpotlessTask.performAction(SpotlessTask.java:238) >>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>>>>>> at java.lang.reflect.Method.invoke(Method.java:498) >>>>>>>> at >>>>>>>> org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:103) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.api.internal.project.taskfactory.IncrementalTaskInputsTaskAction.doExecute(IncrementalTaskInputsTaskAction.java:46) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:41) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.api.internal.project.taskfactory.AbstractIncrementalTaskAction.execute(AbstractIncrementalTaskAction.java:25) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:28) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$5.run(ExecuteActionsTaskExecuter.java:404) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:393) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:376) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.access$200(ExecuteActionsTaskExecuter.java:80) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.execute(ExecuteActionsTaskExecuter.java:213) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.execution.steps.ExecuteStep.lambda$execute$0(ExecuteStep.java:32) >>>>>>>> at java.util.Optional.map(Optional.java:215) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:32) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:26) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:58) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:35) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:48) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:33) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:39) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:73) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:54) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.execution.steps.CatchExceptionStep.execute(CatchExceptionStep.java:35) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:51) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:45) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:31) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.execution.steps.CacheStep.executeWithoutCache(CacheStep.java:201) >>>>>>>> at >>>>>>>> >>>> org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:70) >>>>>>>> at >>>>>>>> >>>> org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:45) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:49) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.execution.steps.StoreSnapshotsStep.execute(StoreSnapshotsStep.java:43) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.execution.steps.StoreSnapshotsStep.execute(StoreSnapshotsStep.java:32) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:38) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:24) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:96) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$0(SkipUpToDateStep.java:89) >>>>>>>> at java.util.Optional.map(Optional.java:215) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:54) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:38) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:77) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:37) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:36) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:26) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:90) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:48) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.execution.impl.DefaultWorkExecutor.execute(DefaultWorkExecutor.java:33) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:120) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.api.internal.tasks.execution.ResolveBeforeExecutionStateTaskExecuter.execute(ResolveBeforeExecutionStateTaskExecuter.java:75) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:62) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:108) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.api.internal.tasks.execution.ResolveBeforeExecutionOutputsTaskExecuter.execute(ResolveBeforeExecutionOutputsTaskExecuter.java:67) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.api.internal.tasks.execution.StartSnapshotTaskInputsBuildOperationTaskExecuter.execute(StartSnapshotTaskInputsBuildOperationTaskExecuter.java:62) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.api.internal.tasks.execution.ResolveAfterPreviousExecutionStateTaskExecuter.execute(ResolveAfterPreviousExecutionStateTaskExecuter.java:46) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:94) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:95) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:73) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:49) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:49) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:43) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:355) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:343) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:336) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:322) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker$1.execute(DefaultPlanExecutor.java:134) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker$1.execute(DefaultPlanExecutor.java:129) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:202) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:193) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:129) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) >>>>>>>> at java.lang.Thread.run(Thread.java:748) >>>>>>>> Caused by: java.lang.NoClassDefFoundError: >>>>>>>> org/openjdk/tools/javac/main/Option$ArgKind >>>>>>>> at org.openjdk.tools.javac.main.Option.<init>(Option.java:971) >>>>>>>> at org.openjdk.tools.javac.main.Option.<clinit>(Option.java:87) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> com.google.googlejavaformat.java.RemoveUnusedImports.removeUnusedImports(RemoveUnusedImports.java:210) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> com.google.googlejavaformat.java.RemoveUnusedImports.removeUnusedImports(RemoveUnusedImports.java:204) >>>>>>>> ... 108 more >>>>>>>> Caused by: java.lang.ClassNotFoundException: >>>>>>>> org.openjdk.tools.javac.main.Option$ArgKind >>>>>>>> at java.net.URLClassLoader.findClass(URLClassLoader.java:382) >>>>>>>> at >>>>>>>> >>>>>>> >>>> >> com.diffplug.spotless.FeatureClassLoader.findClass(FeatureClassLoader.java:74) >>>>>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:424) >>>>>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:357) >>>>>>>> ... 112 more >>>>>>>> >>>>>>>> >>>>>>>>> On Sep 6, 2019, at 8:44 AM, Anthony Baker <aba...@pivotal.io> >> wrote: >>>>>>>>> >>>>>>>>> I ran into a problem while checking the release candidate. When I >>>> try >>>>>>>> to build from source I get this error: >>>>>>>>> >>>>>>>>> A problem occurred evaluating project ':geode-core'. >>>>>>>>>> Could not create task ':writeBuildInfo'. >>>>>>>>>> No .git directory found! >>>>>>>>> >>>>>>>>> The .buildinfo file looks correct, but the gradle scripts that use >>>> the >>>>>>>> git plugin aren’t catch that exception like they used to do (works >> on >>>>>>>> 1.9.1). >>>>>>>>> >>>>>>>>> Since the source archive is the official release and I can’t build >>>> it, >>>>>>>> I”m voting -1. I would change my vote if we can fix this. >>>>>>>>> >>>>>>>>> Anthony >>>>>>>>> >>>>>>>>> >>>>>>>>>> On Sep 6, 2019, at 8:19 AM, Anthony Baker <aba...@pivotal.io> >>>> wrote: >>>>>>>>>> >>>>>>>>>> I think we should extend the vote in order to understand this >> issue >>>>>>>> better. >>>>>>>>>> >>>>>>>>>> Anthony >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> On Sep 6, 2019, at 12:41 AM, Ivan Godwin <igod...@pivotal.io> >>>> wrote: >>>>>>>>>>> >>>>>>>>>>> Hello, >>>>>>>>>>> >>>>>>>>>>> I don't know that this will be cause to hold anything up, but >>>>>>>> geode-native >>>>>>>>>>> has two integration tests failing when trying to perform >>>>>>>> Region::remove(). >>>>>>>>>>> This is the case for all platforms supported by native client. >> The >>>>>>> two >>>>>>>>>>> tests are testThinClientCallbackArg and >>>>>>>>>>> testThinClientListenerCallbackArgTest. >>>>>>>>>>> >>>>>>>>>>> Here's the stacktrace, and I will continue investigating in the >>>>>>>> morning. >>>>>>>>>>> >>>>>>>>>>> Region::remove: An exception (java.lang.ClassCastException: >>>>>>>>>>> java.lang.Byte cannot be cast to org.apache.geode.cache.Operation >>>>>>>>>>> >>>>>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.apache.geode.internal.cache.tier.sockets.BaseCommand.getOperation(BaseCommand.java:1466) >>>>>>>>>>> >>>>>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.apache.geode.internal.cache.tier.sockets.command.Destroy65.cmdExecute(Destroy65.java:114) >>>>>>>>>>> >>>>>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.apache.geode.internal.cache.tier.sockets.BaseCommand.execute(BaseCommand.java:183) >>>>>>>>>>> >>>>>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.apache.geode.internal.cache.tier.sockets.ServerConnection.doNormalMessage(ServerConnection.java:848) >>>>>>>>>>> >>>>>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.apache.geode.internal.cache.tier.sockets.OriginalServerConnection.doOneMessage(OriginalServerConnection.java:72) >>>>>>>>>>> >>>>>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.apache.geode.internal.cache.tier.sockets.ServerConnection.run(ServerConnection.java:1212) >>>>>>>>>>> >>>>>>>>>>> at >>>>>>>> >>>>>>> >>>> >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) >>>>>>>>>>> >>>>>>>>>>> at >>>>>>>> >>>>>>> >>>> >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) >>>>>>>>>>> >>>>>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.apache.geode.internal.cache.tier.sockets.AcceptorImpl.lambda$initializeServerConnectionThreadPool$3(AcceptorImpl.java:666) >>>>>>>>>>> >>>>>>>>>>> at >>>>>>>> >>>>>>> >>>> >> org.apache.geode.internal.logging.LoggingThreadFactory.lambda$newThread$0(LoggingThreadFactory.java:121) >>>>>>>>>>> >>>>>>>>>>> at java.lang.Thread.run(Thread.java:748) >>>>>>>>>>> >>>>>>>>>>> ) happened at remote server. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Thu, Sep 5, 2019 at 9:00 PM Nabarun Nag <n...@pivotal.io> >>>> wrote: >>>>>>>>>>> >>>>>>>>>>>> Thank you Dan for the explanation. >>>>>>>>>>>> >>>>>>>>>>>> Regards >>>>>>>>>>>> Naba >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Thu, Sep 5, 2019 at 4:34 PM Dan Smith <dsm...@pivotal.io> >>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Hi Naba, >>>>>>>>>>>>> >>>>>>>>>>>>> This sanctioned-serializable stuff is not an issue. >>>>>>>>>>>>> >>>>>>>>>>>>> When you removed those files from >>>>>>>> sanctioned-geode-core-serializables, >>>>>>>>>>>> they >>>>>>>>>>>>> get rejected by the serialization filter. Look at the error >>>> message >>>>>>>> you >>>>>>>>>>>> see >>>>>>>>>>>>> when you remove them - it is failing to serialize a class that >>>> has >>>>>>> a >>>>>>>>>>>>> *nested* EvictionAttributes. >>>>>>>>>>>>> >>>>>>>>>>>>> Those classes need to be in the sanctioned file, if they are >>>>>>>> embedded in >>>>>>>>>>>>> another serialized object. They are probably not showing up in >>>> the >>>>>>>>>>>>> actualSerializables file because they are DataSerializable. >>>>>>>>>>>>> >>>>>>>>>>>>> -Dan >>>>>>>>>>>>> >>>>>>>>>>>>> On Thu, Sep 5, 2019 at 3:49 PM Kirk Lund <kl...@apache.org> >>>> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> Ah, ok. I think I see what you're asking about. I don't have >> an >>>>>>>> answer, >>>>>>>>>>>>> but >>>>>>>>>>>>>> someone else such as Bruce could explain it. >>>>>>>>>>>>>> >>>>>>>>>>>>>> <klund@Kirks-MacBook-Pro-2>/Users/klund/dev/geode3 [610]$ >> diff >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>> >>>>>>> >>>> >> geode-core/src/main/resources/org/apache/geode/internal/sanctioned-geode-core-serializables.txt >>>>>>>>>>>>>> geode-core/build/integrationTest/actualSerializables.dat >>>>>>>>>>>>>> 69d68 >>>>>>>>>>>>>> < org/apache/geode/cache/EvictionAttributes,false >>>>>>>>>>>>>> 71d69 >>>>>>>>>>>>>> < org/apache/geode/cache/ExpirationAttributes,false >>>>>>>>>>>>>> 79d76 >>>>>>>>>>>>>> < org/apache/geode/cache/MembershipAttributes,false >>>>>>>>>>>>>> 99d95 >>>>>>>>>>>>>> < org/apache/geode/cache/SubscriptionAttributes,false >>>>>>>>>>>>>> 262d257 >>>>>>>>>>>>>> < org/apache/geode/internal/cache/EvictionAttributesImpl,false >>>>>>>>>>>>>> 276d270 >>>>>>>>>>>>>> < >> org/apache/geode/internal/cache/PartitionAttributesImpl,false >>>>>>>>>>>>>> 517d510 >>>>>>>>>>>>>> < >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>> >>>>>>> >>>> >> org/apache/geode/management/internal/cli/functions/CacheRealizationFunction,false >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Thu, Sep 5, 2019 at 3:44 PM Nabarun Nag <n...@pivotal.io> >>>>>>> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> Hi Kirk, >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> The test does not fail. >>>>>>>>>>>>>>> When you run the test (testSerializable) it creates a list of >>>>>>>>>>>>>> serializable >>>>>>>>>>>>>>> classes and puts it in the actualSerializables.dat file and >>>> them >>>>>>>>>>>>> compares >>>>>>>>>>>>>>> if all the classes listed are present in the >>>>>>>>>>>>>>> sanctioned-geode-core-serializables.txt. >>>>>>>>>>>>>>> If we did not change any serializabale classes then these two >>>>>>> files >>>>>>>>>>>>>>> remain the same. However now in this release, there are >> classes >>>>>>> in >>>>>>>>>>>>>>> sanctioned-geode-core-serializables.txt which are not present >>>> in >>>>>>>>>>>>>>> actualSerializables.dat. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> I wanted to know why are those classes are not listed in >>>>>>>>>>>>>>> actualSerializables.dat >>>>>>>>>>>>>>> and if you remove them from >>>>>>> sanctioned-geode-core-serializables.txt >>>>>>>>>>>>>>> testSerializables passes but >>>>>>>>>>>> testSanctionedClassesExistAndDoDeserialize >>>>>>>>>>>>>>> fails. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Regards >>>>>>>>>>>>>>> Naba >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Thu, Sep 5, 2019 at 3:21 PM Kirk Lund <kl...@apache.org> >>>>>>> wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Hi Naba, >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> I failed to reproduce the problem you reported on Mac OS, >> and >>>>>>> our >>>>>>>>>>>>>>> pipeline >>>>>>>>>>>>>>>> didn't fail this test. What OS are you running >> integrationTest >>>>>>> on? >>>>>>>>>>>>>> Here's >>>>>>>>>>>>>>>> the steps I followed: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> 1) checkout tag rel/v1.10.0.RC1 >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> $ git checkout tags/rel/v1.10.0.RC1 >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> 2) clean, then build with unit tests >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> $ ./gradlew clean >>>>>>>>>>>>>>>> $ ./gradlew build >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> 3) run AnalyzeSerializablesJUnitTest >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> $ ./gradlew geode-core:integrationTest --tests >>>>>>>>>>>>>>>> AnalyzeSerializablesJUnitTest >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> The test passes for me and there are no modified files in >> the >>>>>>> repo >>>>>>>>>>>>>> after >>>>>>>>>>>>>>>> running the test. Did the test actually fail for you? If so, >>>>>>>> please >>>>>>>>>>>>>> share >>>>>>>>>>>>>>>> the call stack. If it is still failing for you I recommend >>>>>>> getting >>>>>>>>>>>> a >>>>>>>>>>>>>>> fresh >>>>>>>>>>>>>>>> clone of geode and then repeat the above steps. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Thanks, >>>>>>>>>>>>>>>> Kirk >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On Thu, Sep 5, 2019 at 10:16 AM Nabarun Nag < >> n...@apache.org> >>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Hello, >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> I was able to notice that after running the >> testSerializable >>>>>>>>>>>> JUnit >>>>>>>>>>>>>>> test, >>>>>>>>>>>>>>>>> the generated actualSerializables.dat and the >>>>>>>>>>>>>>>>> sanctioned-geode-core-serializables.txt do not match. There >>>> are >>>>>>>>>>>>>> certain >>>>>>>>>>>>>>>>> classes mentioned in >> sanctioned-geode-core-serializables.txt >>>>>>> that >>>>>>>>>>>>> are >>>>>>>>>>>>>>> not >>>>>>>>>>>>>>>>> present in actualSerializables.dat file >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> - EvictionAttributes >>>>>>>>>>>>>>>>> - ExpirationAttributes >>>>>>>>>>>>>>>>> - MembershipAttributes >>>>>>>>>>>>>>>>> - SubscriptionAttributes >>>>>>>>>>>>>>>>> - EvictionAttributesImpl >>>>>>>>>>>>>>>>> - PartitionAttributesImpl >>>>>>>>>>>>>>>>> - CacheRealizaitonFunction >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> But removing them causes >>>>>>>>>>>>> testSanctionedClassesExistAndDoDeserialize() >>>>>>>>>>>>>>>> test >>>>>>>>>>>>>>>>> to fail. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> I am not sure if this is harmless or has some adverse >>>>>>>>>>>>> consequences. I >>>>>>>>>>>>>>>> would >>>>>>>>>>>>>>>>> like to know why it's designed this way. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Regards >>>>>>>>>>>>>>>>> Nabarun Nag >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On Wed, Sep 4, 2019 at 4:14 PM Dick Cavender < >>>>>>>>>>>> dcaven...@pivotal.io >>>>>>>>>>>>>> >>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> We manually signed the apache-geode-1.10.0-src.tgz dist >> and >>>>>>>>>>>>>> uploaded >>>>>>>>>>>>>>>> the >>>>>>>>>>>>>>>>>> asc file. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Unclear on why this is no longer automatically generated >> as >>>>>>>>>>>> part >>>>>>>>>>>>> of >>>>>>>>>>>>>>> the >>>>>>>>>>>>>>>>>> build step as 1.9.1 it was generated correctly. We have >>>> worked >>>>>>>>>>>>>> around >>>>>>>>>>>>>>>> it >>>>>>>>>>>>>>>>> in >>>>>>>>>>>>>>>>>> the prepare_rc.sh adding a check for it going forward and >>>>>>>>>>>>>> generating >>>>>>>>>>>>>>> it >>>>>>>>>>>>>>>>> if >>>>>>>>>>>>>>>>>> missing. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> On Wed, Sep 4, 2019 at 3:32 PM Dan Smith < >> dsm...@pivotal.io >>>>> >>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> I don't see a .asc signature file for >>>>>>>>>>>>>> apache-geode-1.10.0-src.tgz. >>>>>>>>>>>>>>>> Did >>>>>>>>>>>>>>>>> we >>>>>>>>>>>>>>>>>>> miss that signature file somehow? >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> -Dan >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> On Wed, Sep 4, 2019 at 9:33 AM Dick Cavender < >>>>>>>>>>>>>> dcaven...@pivotal.io >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> The apache-geode-native-1.10.0-src.tar.gz dist has been >>>>>>>>>>>> fixed >>>>>>>>>>>>>> in >>>>>>>>>>>>>>>> RC1 >>>>>>>>>>>>>>>>>> and >>>>>>>>>>>>>>>>>>>> can be found at: >>>>>>>>>>>>>>>>>>> https://dist.apache.org/repos/dist/dev/geode/1.10.0.RC1/ >>>>>>>>>>>>>>>>>>>> Please continue to review RC1 as a viable 1.10 RC. The >>>>>>>>>>>> voting >>>>>>>>>>>>>>>>> deadline >>>>>>>>>>>>>>>>>>>> remains 3PM PST Thursday Sept 5th. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> -Dick >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> On Tue, Sep 3, 2019 at 3:09 PM Dan Smith < >>>>>>>>>>>> dsm...@pivotal.io> >>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> Everything but the missing native source looks good. If >>>>>>>>>>>> we >>>>>>>>>>>>>> can >>>>>>>>>>>>>>>> fix >>>>>>>>>>>>>>>>>>> that, >>>>>>>>>>>>>>>>>>>>> I'll +1 this RC. >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> -Dan >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> On Tue, Sep 3, 2019 at 2:26 PM Dan Smith < >>>>>>>>>>>>> dsm...@pivotal.io> >>>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> -1 It looks like this RC is also missing the native >>>>>>>>>>>>> source, >>>>>>>>>>>>>>>> just >>>>>>>>>>>>>>>>>> like >>>>>>>>>>>>>>>>>>>>>> 1.9.1.RC3. The tar file is there, but it is empty. >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> -Dan >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> On Fri, Aug 30, 2019 at 2:06 PM Dick Cavender < >>>>>>>>>>>>>>>>>> dcaven...@pivotal.io> >>>>>>>>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> Hello Geode dev community, >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> This is a release candidate for Apache Geode, version >>>>>>>>>>>>>>>>> 1.10.0.RC1. >>>>>>>>>>>>>>>>>>>>>>> Thanks to all the community members for their >>>>>>>>>>>>>> contributions >>>>>>>>>>>>>>> to >>>>>>>>>>>>>>>>>> this >>>>>>>>>>>>>>>>>>>>>>> release! >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> Please do a review and give your feedback. The >>>>>>>>>>>> deadline >>>>>>>>>>>>> is >>>>>>>>>>>>>>> 3PM >>>>>>>>>>>>>>>>> PST >>>>>>>>>>>>>>>>>>>>>>> Thursday >>>>>>>>>>>>>>>>>>>>>>> Sept 5th. >>>>>>>>>>>>>>>>>>>>>>> Release notes can be found at: >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>> >>>>>>> >>>> >> https://cwiki.apache.org/confluence/display/GEODE/Release+Notes#ReleaseNotes-1.10.0 >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> Please note that we are voting upon the source tags: >>>>>>>>>>>>>>>>>> rel/v1.10.0.RC1 >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> Apache Geode: >>>>>>>>>>>>>>>>>>>>>>> https://github.com/apache/geode/tree/rel/v1.10.0.RC1 >>>>>>>>>>>>>>>>>>>>>>> Apache Geode examples: >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >> https://github.com/apache/geode-examples/tree/rel/v1.10.0.RC1 >>>>>>>>>>>>>>>>>>>>>>> Apache Geode native: >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>> https://github.com/apache/geode-native/tree/rel/v1.10.0.RC1 >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> Source and binary files: >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>> https://dist.apache.org/repos/dist/dev/geode/1.10.0.RC1/ >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> Maven staging repo: >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>> >>>> https://repository.apache.org/content/repositories/orgapachegeode-1058 >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> Geode's KEYS file containing PGP keys we use to sign >>>>>>>>>>>> the >>>>>>>>>>>>>>>>> release: >>>>>>>>>>>>>>>>>>>>>>> https://github.com/apache/geode/blob/develop/KEYS >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> PS: Command to run geode-examples: ./gradlew >>>>>>>>>>>>>>>> -PgeodeReleaseUrl= >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>> https://dist.apache.org/repos/dist/dev/geode/1.10.0.RC1 >>>>>>>>>>>>>>>>>>>>>>> -PgeodeRepositoryUrl= >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>> >>>> https://repository.apache.org/content/repositories/orgapachegeode-1058 >>>>>>>>>>>>>>>>>>>>>>> build runAll >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> Regards >>>>>>>>>>>>>>>>>>>>>>> Dick Cavender >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>> >>>> >>>> >> >>