[ https://issues.apache.org/jira/browse/BEAM-10084?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17125388#comment-17125388 ]
Kenneth Knowles commented on BEAM-10084: ---------------------------------------- This looks like the chosen underlying XML libraries use private APIs. I think we will need to upgrade or switch. I wonder how much usage XmlIO has. It is a bit esoteric. [~chamikara] > XML IO java tests failing [Java 11] > ----------------------------------- > > Key: BEAM-10084 > URL: https://issues.apache.org/jira/browse/BEAM-10084 > Project: Beam > Issue Type: Sub-task > Components: io-java-xml > Reporter: Pawel Pasterz > Priority: P2 > > Gradle task :sdks:java:io:xml:test fails during Java 11 Precommit job > Example stack trace: > {code:java} > > Task :sdks:java:io:xml:test > org.apache.beam.sdk.io.xml.XmlIOTest > testWriteThenReadLarger STANDARD_ERROR > May 26, 2020 7:29:37 AM > org.apache.beam.sdk.io.WriteFiles$WriteShardsIntoTempFilesFn processElement > INFO: Opening writer 4c054a13-7ff7-4b54-9398-f6bd6e531aff for window > org.apache.beam.sdk.transforms.windowing.GlobalWindow@5967d09d pane > PaneInfo{isFirst=true, isLast=true, timing=ON_TIME, index=0, onTimeIndex=0} > destination null > May 26, 2020 7:29:37 AM org.apache.beam.sdk.io.FileBasedSink$Writer open > SEVERE: Beginning write to failed, closing channel. > java.io.IOException: javax.xml.bind.JAXBException > - with linked exception: > [java.lang.ClassNotFoundException: > com.sun.xml.internal.bind.v2.ContextFactory] > at org.apache.beam.sdk.io.xml.XmlIO$Sink.open(XmlIO.java:664) > at > org.apache.beam.sdk.io.FileIO$Write$ViaFileBasedSink$1$1.prepareWrite(FileIO.java:1390) > at > org.apache.beam.sdk.io.FileBasedSink$Writer.open(FileBasedSink.java:952) > at > org.apache.beam.sdk.io.WriteFiles$WriteShardsIntoTempFilesFn.processElement(WriteFiles.java:769) > at > org.apache.beam.sdk.io.WriteFiles$WriteShardsIntoTempFilesFn$DoFnInvoker.invokeProcessElement(Unknown > Source) > at > org.apache.beam.repackaged.direct_java.runners.core.SimpleDoFnRunner.invokeProcessElement(SimpleDoFnRunner.java:227) > at > org.apache.beam.repackaged.direct_java.runners.core.SimpleDoFnRunner.processElement(SimpleDoFnRunner.java:183) > at > org.apache.beam.repackaged.direct_java.runners.core.SimplePushbackSideInputDoFnRunner.processElementInReadyWindows(SimplePushbackSideInputDoFnRunner.java:78) > at > org.apache.beam.runners.direct.ParDoEvaluator.processElement(ParDoEvaluator.java:240) > at > org.apache.beam.runners.direct.DoFnLifecycleManagerRemovingTransformEvaluator.processElement(DoFnLifecycleManagerRemovingTransformEvaluator.java:54) > at > org.apache.beam.runners.direct.DirectTransformExecutor.processElements(DirectTransformExecutor.java:160) > at > org.apache.beam.runners.direct.DirectTransformExecutor.run(DirectTransformExecutor.java:124) > at > java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) > at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) > at > java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) > at > java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) > at java.base/java.lang.Thread.run(Thread.java:834) > Caused by: javax.xml.bind.JAXBException > - with linked exception: > [java.lang.ClassNotFoundException: > com.sun.xml.internal.bind.v2.ContextFactory] > at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:241) > at javax.xml.bind.ContextFinder.find(ContextFinder.java:477) > at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:656) > at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:599) > at org.apache.beam.sdk.io.xml.XmlIO$Sink.open(XmlIO.java:659) > ... 16 more > Caused by: java.lang.ClassNotFoundException: > com.sun.xml.internal.bind.v2.ContextFactory > at > java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583) > at > java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) > at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) > at javax.xml.bind.ContextFinder.safeLoadClass(ContextFinder.java:594) > at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:239) > ... 20 more > org.apache.beam.sdk.io.xml.XmlIOTest > testWriteThenReadLarger FAILED > org.apache.beam.sdk.Pipeline$PipelineExecutionException: > java.io.IOException: javax.xml.bind.JAXBException > - with linked exception: > [java.lang.ClassNotFoundException: > com.sun.xml.internal.bind.v2.ContextFactory] > at > org.apache.beam.runners.direct.DirectRunner$DirectPipelineResult.waitUntilFinish(DirectRunner.java:348) > at > org.apache.beam.runners.direct.DirectRunner$DirectPipelineResult.waitUntilFinish(DirectRunner.java:318) > at > org.apache.beam.runners.direct.DirectRunner.run(DirectRunner.java:213) > at > org.apache.beam.runners.direct.DirectRunner.run(DirectRunner.java:67) > at org.apache.beam.sdk.Pipeline.run(Pipeline.java:317) > at org.apache.beam.sdk.testing.TestPipeline.run(TestPipeline.java:350) > at org.apache.beam.sdk.testing.TestPipeline.run(TestPipeline.java:331) > at > org.apache.beam.sdk.io.xml.XmlIOTest.testWriteThenReadLarger(XmlIOTest.java:159) > Caused by: > java.io.IOException: javax.xml.bind.JAXBException > - with linked exception: > [java.lang.ClassNotFoundException: > com.sun.xml.internal.bind.v2.ContextFactory] > Caused by: > javax.xml.bind.JAXBException > - with linked exception: > [java.lang.ClassNotFoundException: > com.sun.xml.internal.bind.v2.ContextFactory] > Caused by: > java.lang.ClassNotFoundException: > com.sun.xml.internal.bind.v2.ContextFactory > org.apache.beam.sdk.io.xml.XmlIOTest > > testXmlWriteThenReadViaSinkAndReadFilesUTF8 FAILED > java.lang.RuntimeException: Error when creating marshaller from JAXB > Context. > at > org.apache.beam.sdk.io.xml.JAXBCoder$1.initialValue(JAXBCoder.java:65) > at > org.apache.beam.sdk.io.xml.JAXBCoder$1.initialValue(JAXBCoder.java:58) > at java.lang.ThreadLocal.setInitialValue(ThreadLocal.java:195) > at java.lang.ThreadLocal.get(ThreadLocal.java:172) > at org.apache.beam.sdk.io.xml.JAXBCoder.encode(JAXBCoder.java:108) > at org.apache.beam.sdk.io.xml.JAXBCoder.encode(JAXBCoder.java:94) > at > org.apache.beam.sdk.coders.IterableLikeCoder.encode(IterableLikeCoder.java:114) > at > org.apache.beam.sdk.coders.IterableLikeCoder.encode(IterableLikeCoder.java:60) > at org.apache.beam.sdk.coders.Coder.encode(Coder.java:136) > at > org.apache.beam.sdk.util.CoderUtils.encodeToSafeStream(CoderUtils.java:82) > at > org.apache.beam.sdk.util.CoderUtils.encodeToByteArray(CoderUtils.java:66) > at > org.apache.beam.sdk.util.CoderUtils.encodeToByteArray(CoderUtils.java:51) > at > org.apache.beam.sdk.testing.PAssert$CheckRelationAgainstExpected.<init>(PAssert.java:1136) > at > org.apache.beam.sdk.testing.PAssert$PCollectionContentsAssert.satisfies(PAssert.java:639) > at > org.apache.beam.sdk.testing.PAssert$PCollectionContentsAssert.containsInAnyOrder(PAssert.java:600) > at > org.apache.beam.sdk.testing.PAssert$PCollectionContentsAssert.containsInAnyOrder(PAssert.java:516) > at > org.apache.beam.sdk.io.xml.XmlIOTest.testWriteThenRead(XmlIOTest.java:110) > at > org.apache.beam.sdk.io.xml.XmlIOTest.testXmlWriteThenReadViaSinkAndReadFilesUTF8(XmlIOTest.java:69) > Caused by: > javax.xml.bind.JAXBException > - with linked exception: > [java.lang.ClassNotFoundException: > com.sun.xml.internal.bind.v2.ContextFactory] > at > javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:241) > at javax.xml.bind.ContextFinder.find(ContextFinder.java:477) > at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:656) > at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:599) > at > org.apache.beam.sdk.io.xml.JAXBCoder.getContext(JAXBCoder.java:141) > at > org.apache.beam.sdk.io.xml.JAXBCoder.access$000(JAXBCoder.java:44) > at > org.apache.beam.sdk.io.xml.JAXBCoder$1.initialValue(JAXBCoder.java:62) > ... 17 more > Caused by: > java.lang.ClassNotFoundException: > com.sun.xml.internal.bind.v2.ContextFactory > at > jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583) > at > jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) > at java.lang.ClassLoader.loadClass(ClassLoader.java:521) > at > javax.xml.bind.ContextFinder.safeLoadClass(ContextFinder.java:594) > at > javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:239) > ... 23 more > org.apache.beam.sdk.io.xml.XmlIOTest > > testXmlWriteThenReadViaWriteAndReadISO8859 FAILED > java.lang.RuntimeException: Error binding classes to a JAXB Context. > at org.apache.beam.sdk.io.xml.XmlIO$Write.expand(XmlIO.java:530) > at org.apache.beam.sdk.io.xml.XmlIO$Write.expand(XmlIO.java:463) > at org.apache.beam.sdk.Pipeline.applyInternal(Pipeline.java:542) > at org.apache.beam.sdk.Pipeline.applyTransform(Pipeline.java:476) > at org.apache.beam.sdk.values.PCollection.apply(PCollection.java:355) > at > org.apache.beam.sdk.io.xml.XmlIOTest.testWriteThenRead(XmlIOTest.java:118) > at > org.apache.beam.sdk.io.xml.XmlIOTest.testXmlWriteThenReadViaWriteAndReadISO8859(XmlIOTest.java:84) > Caused by: > javax.xml.bind.JAXBException > - with linked exception: > [java.lang.ClassNotFoundException: > com.sun.xml.internal.bind.v2.ContextFactory] > at > javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:241) > at javax.xml.bind.ContextFinder.find(ContextFinder.java:477) > at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:656) > at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:599) > at org.apache.beam.sdk.io.xml.XmlIO$Write.expand(XmlIO.java:528) > ... 6 more > Caused by: > java.lang.ClassNotFoundException: > com.sun.xml.internal.bind.v2.ContextFactory > at > jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583) > at > jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) > at java.lang.ClassLoader.loadClass(ClassLoader.java:521) > at > javax.xml.bind.ContextFinder.safeLoadClass(ContextFinder.java:594) > at > javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:239) > ... 10 more > org.apache.beam.sdk.io.xml.XmlIOTest > > testXmlWriteThenReadViaSinkAndReadFilesISO8859 FAILED > java.lang.RuntimeException: Error when creating marshaller from JAXB > Context. > at > org.apache.beam.sdk.io.xml.JAXBCoder$1.initialValue(JAXBCoder.java:65) > at > org.apache.beam.sdk.io.xml.JAXBCoder$1.initialValue(JAXBCoder.java:58) > at java.lang.ThreadLocal.setInitialValue(ThreadLocal.java:195) > at java.lang.ThreadLocal.get(ThreadLocal.java:172) > at org.apache.beam.sdk.io.xml.JAXBCoder.encode(JAXBCoder.java:108) > at org.apache.beam.sdk.io.xml.JAXBCoder.encode(JAXBCoder.java:94) > at > org.apache.beam.sdk.coders.IterableLikeCoder.encode(IterableLikeCoder.java:114) > at > org.apache.beam.sdk.coders.IterableLikeCoder.encode(IterableLikeCoder.java:60) > at org.apache.beam.sdk.coders.Coder.encode(Coder.java:136) > at > org.apache.beam.sdk.util.CoderUtils.encodeToSafeStream(CoderUtils.java:82) > at > org.apache.beam.sdk.util.CoderUtils.encodeToByteArray(CoderUtils.java:66) > at > org.apache.beam.sdk.util.CoderUtils.encodeToByteArray(CoderUtils.java:51) > at > org.apache.beam.sdk.testing.PAssert$CheckRelationAgainstExpected.<init>(PAssert.java:1136) > at > org.apache.beam.sdk.testing.PAssert$PCollectionContentsAssert.satisfies(PAssert.java:639) > at > org.apache.beam.sdk.testing.PAssert$PCollectionContentsAssert.containsInAnyOrder(PAssert.java:600) > at > org.apache.beam.sdk.testing.PAssert$PCollectionContentsAssert.containsInAnyOrder(PAssert.java:516) > at > org.apache.beam.sdk.io.xml.XmlIOTest.testWriteThenRead(XmlIOTest.java:110) > at > org.apache.beam.sdk.io.xml.XmlIOTest.testXmlWriteThenReadViaSinkAndReadFilesISO8859(XmlIOTest.java:74) > Caused by: > javax.xml.bind.JAXBException > - with linked exception: > [java.lang.ClassNotFoundException: > com.sun.xml.internal.bind.v2.ContextFactory] > at > javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:241) > at javax.xml.bind.ContextFinder.find(ContextFinder.java:477) > at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:656) > at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:599) > at > org.apache.beam.sdk.io.xml.JAXBCoder.getContext(JAXBCoder.java:141) > at > org.apache.beam.sdk.io.xml.JAXBCoder.access$000(JAXBCoder.java:44) > at > org.apache.beam.sdk.io.xml.JAXBCoder$1.initialValue(JAXBCoder.java:62) > ... 17 more > Caused by: > java.lang.ClassNotFoundException: > com.sun.xml.internal.bind.v2.ContextFactory > at > jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583) > at > jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) > at java.lang.ClassLoader.loadClass(ClassLoader.java:521) > at > javax.xml.bind.ContextFinder.safeLoadClass(ContextFinder.java:594) > at > javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:239) > ... 23 more > org.apache.beam.sdk.io.xml.XmlIOTest > > testXmlWriteThenReadViaWriteAndReadUTF8 FAILED > java.lang.RuntimeException: Error binding classes to a JAXB Context. > at org.apache.beam.sdk.io.xml.XmlIO$Write.expand(XmlIO.java:530) > at org.apache.beam.sdk.io.xml.XmlIO$Write.expand(XmlIO.java:463) > at org.apache.beam.sdk.Pipeline.applyInternal(Pipeline.java:542) > at org.apache.beam.sdk.Pipeline.applyTransform(Pipeline.java:476) > at org.apache.beam.sdk.values.PCollection.apply(PCollection.java:355) > at > org.apache.beam.sdk.io.xml.XmlIOTest.testWriteThenRead(XmlIOTest.java:118) > at > org.apache.beam.sdk.io.xml.XmlIOTest.testXmlWriteThenReadViaWriteAndReadUTF8(XmlIOTest.java:79) > Caused by: > javax.xml.bind.JAXBException > - with linked exception: > [java.lang.ClassNotFoundException: > com.sun.xml.internal.bind.v2.ContextFactory] > at > javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:241) > at javax.xml.bind.ContextFinder.find(ContextFinder.java:477) > at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:656) > at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:599) > at org.apache.beam.sdk.io.xml.XmlIO$Write.expand(XmlIO.java:528) > ... 6 more > Caused by: > java.lang.ClassNotFoundException: > com.sun.xml.internal.bind.v2.ContextFactory > at > jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583) > at > jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) > at java.lang.ClassLoader.loadClass(ClassLoader.java:521) > at > javax.xml.bind.ContextFinder.safeLoadClass(ContextFinder.java:594) > at > javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:239) > ... 10 more > org.apache.beam.sdk.io.xml.XmlSourceTest > > testReadXMLWithMultiByteElementName SKIPPED > Gradle Test Executor 146 started executing tests. > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)