Just to close this issue out, I found out what the problem is. A class constructor was failing at runtime. when constructor fails, it *somehow* becomes NoClassDef exception. What confused me what that the error-causing line wasn't identified correctly in the stacktrace. I stripped out segments I added one at a time and finally found the specific line that caused the failure.
thanks On Thu, Jan 23, 2020 at 12:13 PM Vasu Nori <[email protected]> wrote: > Luke, Toko > > Thanks for the responses. > I will upload a change that is the minimum needed to reproduce this error. > shortly. > > thanks, > > On Wed, Jan 22, 2020 at 7:48 PM Tomo Suzuki <[email protected]> wrote: > >> Hi Vasu, >> (Ignore my message if Luke's advice resolves the issue already) >> >> Would you add the entire error message, if any? A NoClassDefFoundError >> is usually caused by a ClassNotFoundError saying a class is not found. >> I don't see the missing class name in your stacktrace. I'll need (1) >> the entire error message and (2) your branch in GitHub and a command >> to reproduce the error. >> >> Regards, >> Tomo >> >> >> On Wed, Jan 22, 2020 at 7:53 PM Luke Cwik <[email protected]> wrote: >> > >> > boolean properties only allow for getYYY, isYYY and setYYY, you can't >> use "should". I think you should have gotten a better error message though >> so it's likely something else is not working for you. How are you trying to >> run the test? >> > >> > All pipeline options use a global namespace so UseGrpc will "reserve" >> that name from it being used anywhere else. Do you want to define a new >> property UseGrpc for all GCP IOs or use a name that is specific to GCS? >> > >> > >> > On Wed, Jan 22, 2020 at 3:59 PM Vasu Nori <[email protected]> wrote: >> >> >> >> sorry I didn't realize I posted a screenshot link that wasn't visible >> outside google.com. >> >> here is the code I was trying to add to GcsOptions.java >> >> >> >> @Description("Whether to use gRPC or not, as transport mechanism.") >> >> @Default.Boolean(false) >> >> Boolean shouldUseGrpc(); >> >> >> >> void setUseGrpc(Boolean useGrpc); >> >> >> >> >> >> On Wed, Jan 22, 2020 at 2:37 PM Vasu Nori <[email protected]> wrote: >> >>> >> >>> Hello >> >>> >> >>> I am trying to add a new property to this file like this >> >>> but this results in some error I can't understand the origins of. >> >>> Stacktrace is below. >> >>> any pointers would be appreciated. >> >>> >> >>> java.lang.NoClassDefFoundError: Could not initialize class >> org.apache.beam.sdk.options.PipelineOptionsFactory >> >>> at >> org.apache.beam.sdk.extensions.gcp.storage.GcsFileSystemTest.setUp(GcsFileSystemTest.java:65) >> >>> 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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) >> >>> at >> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) >> >>> at >> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) >> >>> at >> org.junit.internal.runners.statements.RunBefores.invokeMethod(RunBefores.java:33) >> >>> at >> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24) >> >>> at >> org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:266) >> >>> at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:305) >> >>> at >> org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) >> >>> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:365) >> >>> at >> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) >> >>> at >> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) >> >>> at org.junit.runners.ParentRunner$4.run(ParentRunner.java:330) >> >>> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:78) >> >>> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:328) >> >>> at org.junit.runners.ParentRunner.access$100(ParentRunner.java:65) >> >>> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:292) >> >>> at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:305) >> >>> at org.junit.runners.ParentRunner.run(ParentRunner.java:412) >> >>> at >> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.runTestClass(JUnitTestClassExecutor.java:110) >> >>> at >> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:58) >> >>> at >> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:38) >> >>> at >> org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:62) >> >>> at >> org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:51) >> >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> >>> at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) >> >>> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> >>> at java.lang.reflect.Method.invoke(Method.java:498) >> >>> at >> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) >> >>> at >> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) >> >>> at >> org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) >> >>> at >> org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) >> >>> at com.sun.proxy.$Proxy2.processTestClass(Unknown Source) >> >>> at >> org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:118) >> >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> >>> at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) >> >>> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> >>> at java.lang.reflect.Method.invoke(Method.java:498) >> >>> at >> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) >> >>> at >> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) >> >>> at >> org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) >> >>> at >> org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) >> >>> at >> org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) >> >>> 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) >> >>> >> >>> >> >>> >> >> >> -- >> Regards, >> Tomo >> >
