Missing org.openjdk.jol from imported dependencies in xtable-utilities makes it to fail with NoClassDefFoundError
I maintainer di solito rispondono entro 3 giorni
Una pull request collegata è già stata integrata.
- #840 di @vinishjail97 — integrata
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 68/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Tranquilla
- Stack tecnologico
- java
- Ambito
- build-system
Direzione di ricerca
Inizia da xtable-utilities/pom.xml e verifica come è definita la visibilità della dipendenza jol-core e come viene inclusa nell’artefatto bundled. Esegui mvn clean package -DskipTests, quindi avvia il file xtable-utilities_2.12-0.3.0-incubating-bundled.jar generato con i file di configurazione indicati; l’attività è completata quando lo strumento si avvia senza NoClassDefFoundError per org.openjdk.jol.info.GraphLayout.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Search before asking
- I had searched in the issues and found no similar issues.
Please describe the bug 🐞
I cloned the repo then moved to 0.3.0-incubating:
git checkout 0.3.0-incubating
then moved to the xtable-utilities folder
cd xtable-utilities
and compiled it
mvn clean package -DskipTests
Then run the tool with proper conf files
java -jar xtable-utilities/target/xtable-utilities_2.12-0.3.0-incubating-bundled.jar --datasetConfig datasetConfig.yaml --icebergCatalogConfig glueDataCatalog.yaml
it failed with
Exception in thread "main" java.lang.NoClassDefFoundError: org/openjdk/jol/info/GraphLayout at org.apache.hudi.common.util.ObjectSizeCalculator.getObjectSize(ObjectSizeCalculator.java:57) at org.apache.hudi.common.util.HoodieRecordSizeEstimator.(HoodieRecordSizeEstimator.java:40) at org.apache.hudi.common.table.log.HoodieMergedLogRecordScanner.(HoodieMergedLogRecordScanner.java:109) at org.apache.hudi.common.table.log.HoodieMergedLogRecordScanner.(HoodieMergedLogRecordScanner.java:76) at org.apache.hudi.common.table.log.HoodieMergedLogRecordScanner$Builder.build(HoodieMergedLogRecordScanner.java:466) at org.apache.hudi.metadata.HoodieMetadataLogRecordReader$Builder.build(HoodieMetadataLogRecordReader.java:219) at org.apache.hudi.metadata.HoodieBackedTableMetadata.getLogRecordScanner(HoodieBackedTableMetadata.java:498) at org.apache.hudi.metadata.HoodieBackedTableMetadata.openReaders(HoodieBackedTableMetadata.java:429) at org.apache.hudi.metadata.HoodieBackedTableMetadata.lambda$getOrCreateReaders$10(HoodieBackedTableMetadata.java:412) at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708) at org.apache.hudi.metadata.HoodieBackedTableMetadata.getOrCreateReaders(HoodieBackedTableMetadata.java:412) at org.apache.hudi.metadata.HoodieBackedTableMetadata.lookupKeysFromFileSlice(HoodieBackedTableMetadata.java:291) at org.apache.hudi.metadata.HoodieBackedTableMetadata.getRecordsByKeys(HoodieBackedTableMetadata.java:255) at org.apache.hudi.metadata.HoodieBackedTableMetadata.getRecordByKey(HoodieBackedTableMetadata.java:145) at org.apache.hudi.metadata.BaseTableMetadata.fetchAllPartitionPaths(BaseTableMetadata.java:316) at org.apache.hudi.metadata.BaseTableMetadata.getAllPartitionPaths(BaseTableMetadata.java:125) at org.apache.xtable.hudi.HudiDataFileExtractor.getFilesCurrentState(HudiDataFileExtractor.java:116) at org.apache.xtable.hudi.HudiConversionSource.getCurrentSnapshot(HudiConversionSource.java:110) at org.apache.xtable.spi.extractor.ExtractFromSource.extractSnapshot(ExtractFromSource.java:40) at org.apache.xtable.conversion.ConversionController.syncSnapshot(ConversionController.java:281) at org.apache.xtable.conversion.ConversionController.syncTableFormats(ConversionController.java:203) at org.apache.xtable.conversion.ConversionController.sync(ConversionController.java:106) at org.apache.xtable.utilities.RunSync.syncTableMetdata(RunSync.java:186) at org.apache.xtable.utilities.RunSync.runSync(RunSync.java:297) at org.apache.xtable.utilities.RunSync.main(RunSync.java:282) Caused by: java.lang.ClassNotFoundException: org.openjdk.jol.info.GraphLayout at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) ... 25 more
To fix I modified xtable-utilities/pom.xml and changed this:
<dependency>
<groupId>org.openjdk.jol</groupId>
<artifactId>jol-core</artifactId>
<scope>test</scope>
</dependency>
to:
<dependency>
<groupId>org.openjdk.jol</groupId>
<artifactId>jol-core</artifactId>
<version>0.16</version>
</dependency>
then recompiled with:
mvn clean package -DskipTests
this time running the tool everything is ok.
Are you willing to submit PR?
- I am willing to submit a PR!
- I am willing to submit a PR but need help getting started!
Code of Conduct
- I agree to follow this project's Code of Conduct
- Lingua principale
- Java
- Stelle
- 1.3k
- Fork
- 224
- Merge medio
- 3g 18h
- PR unite (30g)
- 16
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di apache/incubator-xtable
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
apache/incubator-xtable#977 ·
I maintainer di solito rispondono entro 3 giorni
-
0.5.0
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
apache/incubator-xtable#921 · 2 commenti ·
I maintainer di solito rispondono entro 3 giorni
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
apache/incubator-xtable#893 ·
I maintainer di solito rispondono entro 3 giorni
-
0.5.0 documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
apache/incubator-xtable#717 · 4 commenti ·
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
apache/incubator-xtable#983 ·
I maintainer di solito rispondono entro 3 giorni
Tutte le issue di apache/incubator-xtable
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
a2aproject/a2a-java#1275 ·
I maintainer di solito rispondono entro 1 giorno
-
module/ftp Type/Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
ballerina-platform/ballerina-library#9476 ·
I maintainer di solito rispondono entro 1 giorno
-
[Feature] 为世界管理页面添加打开存档文件夹按钮Apertaenhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
HMCL-dev/HMCL#7175 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
anwilli5/coin-collection-android-US#515 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
FasterXML/jackson-databind#6398 ·
I maintainer di solito rispondono entro 1 giorno