czy006 commented on PR #4107:
URL: https://github.com/apache/amoro/pull/4107#issuecomment-4053595281

   It looks like `IcebergProcessFactory` receives available execute engines too 
early.
   
   In `AmoroServiceContainer`, 
`availableExecuteEngines(executeEngineManager.installedPlugins())` is called 
before `executeEngineManager.initialize()`, so `installedPlugins()` is still 
empty at that point. As a result, `IcebergProcessFactory.localEngine` is never 
set.
   
   Later, when snapshot expiration is triggered, `triggerExpireSnapshot()` 
returns `Optional.empty()` because `localEngine == null`, so no 
`SnapshotsExpiringProcess` is ever created or submitted.
   
   In other words, the new expire-snapshots path is effectively disabled due to 
initialization order. We probably need to initialize execute engines before 
injecting them into process factories, or re-inject them after engine 
initialization.
   


-- 
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