From 577fedabb74932958d02dccb313413198001c230 Mon Sep 17 00:00:00 2001 From: Abhishek Balaji Radhakrishnan Date: Fri, 27 Sep 2024 14:09:23 -0700 Subject: [PATCH] Remove Kernel class loader workaround that was fixed in upstream with 3.2.1. See https://github.com/delta-io/delta/pull/3304 --- .../druid/delta/input/DeltaInputSource.java | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/extensions-contrib/druid-deltalake-extensions/src/main/java/org/apache/druid/delta/input/DeltaInputSource.java b/extensions-contrib/druid-deltalake-extensions/src/main/java/org/apache/druid/delta/input/DeltaInputSource.java index c4c2f2668b04..aff254ecbb93 100644 --- a/extensions-contrib/druid-deltalake-extensions/src/main/java/org/apache/druid/delta/input/DeltaInputSource.java +++ b/extensions-contrib/druid-deltalake-extensions/src/main/java/org/apache/druid/delta/input/DeltaInputSource.java @@ -340,20 +340,10 @@ private CloseableIterator getTransformedDataIterator( private Snapshot getSnapshotForTable(final Table table, final Engine engine) { - // Setting the LogStore class loader before calling the Delta Kernel snapshot API is required as a workaround with - // the 3.2.0 Delta Kernel because the Kernel library cannot instantiate the LogStore class otherwise. Please see - // https://github.com/delta-io/delta/issues/3299 for details. This workaround can be removed once the issue is fixed. - final ClassLoader currCtxCl = Thread.currentThread().getContextClassLoader(); - try { - Thread.currentThread().setContextClassLoader(LogStore.class.getClassLoader()); - if (snapshotVersion != null) { - return table.getSnapshotAsOfVersion(engine, snapshotVersion); - } else { - return table.getLatestSnapshot(engine); - } - } - finally { - Thread.currentThread().setContextClassLoader(currCtxCl); + if (snapshotVersion != null) { + return table.getSnapshotAsOfVersion(engine, snapshotVersion); + } else { + return table.getLatestSnapshot(engine); } }