[ 
https://issues.apache.org/jira/browse/TIKA-4606?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18048338#comment-18048338
 ] 

ASF GitHub Bot commented on TIKA-4606:
--------------------------------------

nddipiazza commented on PR #2505:
URL: https://github.com/apache/tika/pull/2505#issuecomment-3698086188

   **Fixed Windows build failure** 🪟
   
   The Windows CI was failing with:
   ```
   CreateProcess error=206, The filename or extension is too long
   ```
   
   **Root cause**: Ignite 3.x adds many more dependencies than 2.x, causing the 
classpath to exceed Windows command line limits (~8191 characters).
   
   **Solution**: Implemented Java @argfile support in PipesClient:
   - Detects Windows OS and long classpaths (>8000 chars)
   - Writes classpath to a temporary argfile
   - Uses `@argfile` syntax (Java 9+) to pass arguments
   - Falls back to normal `-cp` for Linux/Mac
   
   This is a general improvement that will help any future dependency 
additions. ✅




> Upgrade Ignite config store to Ignite 3.x with Calcite SQL engine
> -----------------------------------------------------------------
>
>                 Key: TIKA-4606
>                 URL: https://issues.apache.org/jira/browse/TIKA-4606
>             Project: Tika
>          Issue Type: Improvement
>            Reporter: Nicholas DiPiazza
>            Assignee: Nicholas DiPiazza
>            Priority: Major
>
> h2. Overview
> Upgrade the tika-pipes-config-store-ignite module from Apache Ignite 2.17.0 
> (which uses H2 1.4.x) to Apache Ignite 3.x (which uses Apache Calcite SQL 
> engine).
> h2. Current State
> * Module: *tika-pipes-config-store-ignite*
> * Ignite Version: 2.17.0
> * SQL Engine: H2 1.4.197 (embedded)
> * Location: {{tika-pipes/tika-pipes-config-store-ignite/}}
> h2. Goals
> # Upgrade to Apache Ignite 3.x (latest stable release)
> # Replace H2 SQL engine with Calcite-based SQL engine
> # Maintain all existing functionality for config store
> # Update API calls to match Ignite 3.x breaking changes
> # Ensure backward compatibility for stored configurations (if possible)
> h2. Benefits
> * Modern SQL engine with Apache Calcite
> * Better performance and query optimization
> * Active maintenance and future support
> * Improved SQL feature set
> * No dependency on old H2 1.4.x (2018)
> h2. Breaking Changes to Address
> * Ignite 3.x has major API changes from 2.x
> * Configuration format changes
> * Cache API differences
> * SQL query API updates
> * Client connection changes
> h2. Implementation Steps
> # Research Ignite 3.x API changes and migration guide
> # Update Maven dependencies to Ignite 3.x
> # Refactor {{IgniteConfigStore}} to use new Ignite 3.x API
> # Update {{IgniteStoreServer}} for new connection model
> # Modify SQL queries if needed for Calcite compatibility
> # Update configuration handling
> # Update tests to work with Ignite 3.x
> # Test backward compatibility with existing configs
> # Update documentation
> h2. Acceptance Criteria
> * Ignite upgraded to version 3.x (latest stable)
> * Uses Calcite SQL engine instead of H2
> * All existing tests pass
> * Config store functionality preserved
> * No H2 dependencies remain
> * Documentation updated
> h2. References
> * Apache Ignite 3.x: https://ignite.apache.org/docs/3.0.0/
> * Ignite 3.x Migration Guide
> * Apache Calcite: https://calcite.apache.org/
> * Current module: {{tika-pipes/tika-pipes-config-store-ignite/}}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to