DanielLeens commented on PR #12984:
URL: https://github.com/apache/seatunnel/pull/12984#issuecomment-6594150220

   @nzw921rx your suggested fix is now in `e9279e87c4b`:
   
   - `CoordinatorService.clearCoordinatorService()` no longer nulls 
`connectorPackageService`; it only calls `close()` on the captured service, 
which cancels the shared cleanup timer. A comment there records why the 
reference is retained (an upload admitted before demotion may still read it 
from the `upload_connector_jar_operation` executor; new callers are still 
rejected by the master/active check in 
`SeaTunnelServer.getCoordinatorService()`, and the next activation replaces the 
reference).
   - Regression in `ConnectorPackageServiceTest#testMasterNodeActive`: the test 
captures `server1`'s `CoordinatorService` and its package service while it is 
the active master (the state an admitted upload is in), demotes it by shutting 
down `instance1`, and then asserts `assertSame(packageService1, 
coordinatorService1.getConnectorPackageService())`. On the previous head 
(`a5645167aa8`) that call throws `SeaTunnelEngineException` ("not configured to 
enable connector package service"), so the assertion fails there and passes 
with this commit. The existing timer-count assertions still check that the old 
master's cleanup timer is gone after failover.
   
   This is a component-level check of the retained reference, not a 
reproduction of your full controlled interleaving. Fork CI for the new head 
will confirm it.
   


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