nzw921rx opened a new pull request, #10884:
URL: https://github.com/apache/seatunnel/pull/10884

   ### Purpose of this pull request
   
   Fixes #10883
   
   IMap persistence was silently non-functional in separated cluster mode. 
After cluster restart, all previously running jobs were lost because 
`FileMapStoreFactory` could not load the storage implementation.
   
   **Root cause:** `ServicesResourceTransformer` was missing from the 
`maven-shade-plugin` configuration in `seatunnel-starter`. Without it, Maven 
Shade overwrites (rather than appends) `META-INF/services/` files when merging 
JARs into the fat-jar. This silently dropped the `IMapStorageFactory` SPI 
registration for `imap-storage-file`, causing `ServiceLoader` to return no 
results and `FactoryUtil.discoverFactory()` to throw — an exception that 
Hazelcast's `MapLoader` lifecycle absorbed, producing zero error output.
   
   **Changes:**
   - Add `ServicesResourceTransformer` to `seatunnel-starter` shade config so 
`META-INF/services/` entries are merged correctly across all bundled JARs
   - Narrow `catch (Exception)` to `catch (RuntimeException)` in 
`FileMapStore.init()` to match the `MapLoaderLifecycleSupport` interface 
contract
   - Add explicit `ERROR` log + re-throw in `FileMapStore.init()` so failures 
surface immediately rather than being swallowed
   
   ### Does this PR introduce _any_ user-facing change?
   
   No breaking change. Users who configured `map-store` in `seatunnel.yaml` 
will now see it take effect as documented. Previously the configuration was 
silently ignored.
   
   ### How was this patch tested?
   
   - `IMapStorageFactorySpiTest`: verifies `ServiceLoader` discovers 
`IMapFileStorageFactory` with identifier `hdfs`
   - `FileMapStoreTest#testInitSucceedsWithLocalFileSystem`: end-to-end init 
through `FileMapStore` using local fs (`file:///`); this test fails if 
`ServicesResourceTransformer` is removed
   - `FileMapStoreTest#testInitThrowsOnUnknownStorageType`: verifies unknown 
storage type throws immediately instead of silently failing


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to