This is an automated email from the ASF dual-hosted git repository.

david-streamlio pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar-connectors.git


The following commit(s) were added to refs/heads/master by this push:
     new 89219f05 [fix][io] Pin opentelemetry-semconv to a version the HBase 
client can use (#102)
89219f05 is described below

commit 89219f05b2e19f6d482d6d33b11c490ff607d0d9
Author: David Kjerrumgaard <[email protected]>
AuthorDate: Fri Jul 10 14:32:18 2026 -0700

    [fix][io] Pin opentelemetry-semconv to a version the HBase client can use 
(#102)
    
    hbase-client references io.opentelemetry.semconv.SemanticAttributes when
    building a trace span on every table operation. That class was removed
    after the ~1.30 semconv line, but the shared platform force-upgrades
    semconv to 1.37.0, so the sink throws NoClassDefFoundError on its first
    HBase call — the connector cannot write in a current build.
    
    Exclude the platform-managed semconv and pin 1.29.0-alpha (the version
    hbase-client declares), which still ships SemanticAttributes. After the
    change :hbase:runtimeClasspath resolves semconv to 1.29.0-alpha and the
    class is present.
---
 hbase/build.gradle.kts | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/hbase/build.gradle.kts b/hbase/build.gradle.kts
index be1f1e5c..970a33d2 100644
--- a/hbase/build.gradle.kts
+++ b/hbase/build.gradle.kts
@@ -21,6 +21,15 @@ plugins {
     id("pulsar-connectors.java-conventions")
     id("pulsar-connectors.nar-conventions")
 }
+
+// hbase-client references io.opentelemetry.semconv.SemanticAttributes when 
building a trace span
+// on every table operation. That class was removed after the ~1.30 semconv 
line, but the shared
+// platform force-upgrades semconv to 1.37.0, so the sink throws 
NoClassDefFoundError on its first
+// HBase call. Drop the platform-managed version and pin the version 
hbase-client actually needs.
+pulsarConnectorsDependencies {
+    exclude(libs.opentelemetry.semconv)
+}
+
 dependencies {
     implementation(libs.pulsar.io.core)
     implementation(libs.pulsar.functions.instance)
@@ -30,4 +39,5 @@ dependencies {
     implementation(libs.guava)
     implementation(libs.hbase.client)
     implementation(libs.hbase.common)
+    
implementation("io.opentelemetry.semconv:opentelemetry-semconv:1.29.0-alpha")
 }

Reply via email to