kroushan-nit commented on code in PR #638:
URL: https://github.com/apache/incubator-xtable/pull/638#discussion_r1943546888
##########
pom.xml:
##########
@@ -291,7 +292,6 @@
<groupId>io.delta</groupId>
<artifactId>delta-standalone_${scala.binary.version}</artifactId>
<version>${delta.standalone.version}</version>
- <scope>test</scope>
Review Comment:
We are not using this in our code, however the [configured HiveMetaHook
(DeltaStorageHandler)](https://github.com/apache/incubator-xtable/blob/d0a8f35f756273e3355dce83ade0a32fdf3dd9e8/xtable-hive-metastore/src/main/java/org/apache/xtable/hms/table/DeltaHMSCatalogTableBuilder.java#L90)
uses
[DeltaHelper.loadDeltaLatestSnapshot](https://github.com/delta-io/delta/blob/v3.0.0/connectors/hive/src/main/scala/io/delta/hive/DeltaStorageHandler.scala#L215)
and DeltaHelper [requires this
dependency](https://github.com/delta-io/delta/blob/master/connectors/hive/src/main/scala/io/delta/hive/DeltaHelper.scala#L39),
so this needs to be available at runtime to avoid
`java.lang.NoClassDefFoundError: io/delta/standalone/types/DataType`
```java
Exception in thread "main" java.lang.NoClassDefFoundError:
io/delta/standalone/types/DataType
at
io.delta.hive.DeltaStorageHandler.preCreateTable(DeltaStorageHandler.scala:215)
at
org.apache.hadoop.hive.metastore.HiveMetaStoreClient.createTable(HiveMetaStoreClient.java:745)
at
org.apache.hadoop.hive.metastore.HiveMetaStoreClient.createTable(HiveMetaStoreClient.java:738)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at
org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.invoke(RetryingMetaStoreClient.java:173)
at com.sun.proxy.$Proxy53.createTable(Unknown Source)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at
org.apache.hadoop.hive.metastore.HiveMetaStoreClient$SynchronizedHandler.invoke(HiveMetaStoreClient.java:2327)
at com.sun.proxy.$Proxy53.createTable(Unknown Source)
at
org.apache.xtable.hms.HMSCatalogSyncClient.createTable(HMSCatalogSyncClient.java:144)
at
org.apache.xtable.spi.sync.CatalogSync.syncCatalog(CatalogSync.java:100)
at
org.apache.xtable.spi.sync.CatalogSync.lambda$syncTable$0(CatalogSync.java:57)
at java.base/java.util.HashMap.forEach(HashMap.java:1337)
at org.apache.xtable.spi.sync.CatalogSync.syncTable(CatalogSync.java:54)
at
org.apache.xtable.conversion.ConversionController.syncCatalogsForTargetTable(ConversionController.java:236)
at
org.apache.xtable.conversion.ConversionController.syncTableAcrossCatalogs(ConversionController.java:150)
at
org.apache.xtable.utilities.RunCatalogSync.main(RunCatalogSync.java:189)
Caused by: java.lang.ClassNotFoundException:
io.delta.standalone.types.DataType
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:527)
... 23 more
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]