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"));

Reply via email to