← All tasks
javabrianfrankcooper/YCSB #1480Not a task: already works

YCSB gives error with java 11 java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter Error

envgap__brianfrankcooper__YCSB-1480

01 / FAILURE SIGNATURE

As reported upstream

I have been using YCSB 0.17.0 with mongodb and use measurement type = hdrhistogram. Initially I had java 8 installed on the system. When I upgraded it to Java 11. ycsb run command started giving error:
Not a benchmark task.
  • The project already builds and runs before the fix, so there is nothing to repair.

02 / ENVIRONMENT RECIPE

Base commit
74d013849c3c9a6111e66bdf85ddeffb482d64be
Manifest
core/pom.xml
Reproduce
Awaiting issue-specific recipe
Run under trace
Awaiting a meaningful runtime command

03 / ORIGINAL ISSUE TEXT

brianfrankcooper/YCSB #1480 · read the original issue
 I have been using YCSB 0.17.0 with mongodb and use measurement type = hdrhistogram. Initially I had java 8 installed on the system. When I upgraded it to Java 11. ycsb run command started giving error:



Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter

        at org.HdrHistogram.HistogramLogWriter.outputIntervalHistogram(HistogramLogWriter.java:105)

        at org.HdrHistogram.HistogramLogWriter.outputIntervalHistogram(HistogramLogWriter.java:127)

        at org.HdrHistogram.HistogramLogWriter.outputIntervalHistogram(HistogramLogWriter.java:147)

        at site.ycsb.measurements.OneMeasurementHdrHistogram.exportMeasurements(OneMeasurementHdrHistogram.java:112)

        at site.ycsb.measurements.Measurements.exportMeasurements(Measurements.java:260)

        at site.ycsb.Client.exportMeasurements(Client.java:268)

        at site.ycsb.Client.main(Client.java:392)

Caused by: java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter

        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)

        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)

        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)

        ... 7 more



To solve this issue, I added dependency in the hdrhistogram pom.xml file  as follows. 

        <dependency>

            <groupId>javax.xml.bind</groupId>

            <artifactId>jaxb-api</artifactId>

            <version>2.3.0</version>

        </dependency>

        <dependency>

            <groupId>org.glassfish.jaxb</groupId>

            <artifactId>jaxb-runtime</artifactId>

            <version>2.3.0</version>

        </dependency>



mvn install works on hdrhistogram but ycsb run still complains about not having the lib javax.

**mvn version**

Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)

Maven home: /opt/pkb/maven

Java version: 11.0.9.1, vendor: Ubuntu, runtime: /usr/lib/jvm/java-11-openjdk-amd64

Default locale: en, platform encoding: UTF-8

OS name: "linux", version: "5.4.0-1029-aws", arch: "amd64", family: "unix"



Please let me know what I  am missing here
Continue on GitHub ↗

04 / LABELS

Labels from the report text only; not yet run

No supported category has been assigned.

Label rules and the text that matched
[]