This is an automated email from the ASF dual-hosted git repository.
ndipiazza pushed a commit to branch file-based-config-store
in repository https://gitbox.apache.org/repos/asf/tika.git
The following commit(s) were added to refs/heads/file-based-config-store by
this push:
new 28be7cd68 Disable peer class loading to fix classloader conflicts
28be7cd68 is described below
commit 28be7cd6819f0b68380cb22b6ef5c61bdbd019f7
Author: Nicholas DiPiazza <[email protected]>
AuthorDate: Sun Dec 28 15:28:02 2025 -0600
Disable peer class loading to fix classloader conflicts
- Set setPeerClassLoadingEnabled(false) on both server and client
- Fixes ClassCastException due to class loaded by different classloaders
- Server uses plugin classloader, client uses app classloader
- Peer class loading causes the same class to be in both, creating conflicts
- We don't need peer class loading for our use case
---
.../src/main/java/org/apache/tika/pipes/ignite/IgniteConfigStore.java | 2 +-
.../java/org/apache/tika/pipes/ignite/server/IgniteStoreServer.java | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git
a/tika-pipes/tika-pipes-plugins/tika-pipes-ignite/src/main/java/org/apache/tika/pipes/ignite/IgniteConfigStore.java
b/tika-pipes/tika-pipes-plugins/tika-pipes-ignite/src/main/java/org/apache/tika/pipes/ignite/IgniteConfigStore.java
index 6bdce881b..4b8a8185f 100644
---
a/tika-pipes/tika-pipes-plugins/tika-pipes-ignite/src/main/java/org/apache/tika/pipes/ignite/IgniteConfigStore.java
+++
b/tika-pipes/tika-pipes-plugins/tika-pipes-ignite/src/main/java/org/apache/tika/pipes/ignite/IgniteConfigStore.java
@@ -99,7 +99,7 @@ public class IgniteConfigStore implements ConfigStore {
IgniteConfiguration cfg = new IgniteConfiguration();
cfg.setIgniteInstanceName(igniteInstanceName + "-Client");
cfg.setClientMode(true); // Client mode - connects to embedded server
- cfg.setPeerClassLoadingEnabled(true); // Must match server setting
+ cfg.setPeerClassLoadingEnabled(false); // Disable to avoid
classloader conflicts
// Set work directory to /var/cache/tika to match Tika's cache location
cfg.setWorkDirectory(System.getProperty("ignite.work.dir",
"/var/cache/tika/ignite-work"));
diff --git
a/tika-pipes/tika-pipes-plugins/tika-pipes-ignite/src/main/java/org/apache/tika/pipes/ignite/server/IgniteStoreServer.java
b/tika-pipes/tika-pipes-plugins/tika-pipes-ignite/src/main/java/org/apache/tika/pipes/ignite/server/IgniteStoreServer.java
index 10550173e..e5f31e870 100644
---
a/tika-pipes/tika-pipes-plugins/tika-pipes-ignite/src/main/java/org/apache/tika/pipes/ignite/server/IgniteStoreServer.java
+++
b/tika-pipes/tika-pipes-plugins/tika-pipes-ignite/src/main/java/org/apache/tika/pipes/ignite/server/IgniteStoreServer.java
@@ -82,7 +82,7 @@ public class IgniteStoreServer implements AutoCloseable {
IgniteConfiguration cfg = new IgniteConfiguration();
cfg.setIgniteInstanceName(instanceName);
cfg.setClientMode(false); // Server mode
- cfg.setPeerClassLoadingEnabled(true);
+ cfg.setPeerClassLoadingEnabled(false); // Disable to avoid classloader
conflicts
// Set work directory to /var/cache/tika to match Tika's cache location
cfg.setWorkDirectory(System.getProperty("ignite.work.dir",
"/var/cache/tika/ignite-work"));