+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
>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>>> 
>>>>> 
>>> 
>> 
>> 

Reply via email to