You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xtable.apache.org by ti...@apache.org on 2026/08/25 14:10:16 UTC
(incubator-xtable) branch main updated: Merge ServiceLoader registrations when shading xtable-utilities (#906)
This is an automated email from the ASF dual-hosted git repository.
the-other-tim-brown pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-xtable.git
The following commit(s) were added to refs/heads/main by this push:
new fdf9ac21 Merge ServiceLoader registrations when shading xtable-utilities (#906)
fdf9ac21 is described below
commit fdf9ac21f730288e434dd6ac6c1f9259d15e15c7
Author: Sylwester Lachiewicz <sl...@apache.org>
AuthorDate: Tue Aug 25 16:10:11 2026 +0200
Merge ServiceLoader registrations when shading xtable-utilities (#906)
The shade plugin had no ServicesResourceTransformer, so every
META-INF/services/* file was last-one-wins: whichever artifact shade
processed last silently overwrote the others.
Two visible consequences. The bundled jar could not read Delta sources
at all, because Delta's DataSourceRegister entry lost to Spark's and
sourceFormat: DELTA died with ClassNotFoundException: delta.DefaultSource
despite the class being present. And only one Hadoop FileSystem
registration survived, which is why xtable-hadoop-defaults.xml has to
name fs.file.impl, fs.s3a.impl and the GCS classes by hand.
Closes #905.
---
xtable-utilities/pom.xml | 1 +
1 file changed, 1 insertion(+)
diff --git a/xtable-utilities/pom.xml b/xtable-utilities/pom.xml
index d584b070..3e644b7d 100644
--- a/xtable-utilities/pom.xml
+++ b/xtable-utilities/pom.xml
@@ -286,6 +286,7 @@
<resource>META-INF/NOTICE</resource>
<file>target/classes/META-INF/NOTICE-bundled</file>
</transformer>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>org.apache.xtable.utilities.RunSync</mainClass>
</transformer>