nielifeng commented on issue #10997:
URL: https://github.com/apache/seatunnel/issues/10997#issuecomment-5086473326

   I completed a controlled validation of this issue on current `dev` commit
   `dbead9b` using a separated Zeta Master/Worker deployment.
   
   ### Patch direction
   
   The candidate fix changes only `ReportMetricsOperation` scheduling:
   
   ```java
   public class ReportMetricsOperation extends TracingOperation
           implements IdentifiedDataSerializable, Offloadable {
   
       @Override
       public String getExecutorName() {
           return Offloadable.OFFLOADABLE_EXECUTOR;
       }
   }
   ```
   
   The payload, serializer ID, invocation semantics, metrics storage, and
   `SeaTunnelServer.updateMetrics()` behavior remain unchanged.
   
   ### Results
   
   - A focused regression confirms that `ReportMetricsOperation` is offloaded 
from
     Hazelcast generic-operation threads and uses the built-in offloadable 
executor.
   - The existing metrics IMap integration path still stores metrics correctly.
   - Matched unpatched and patched bounded-batch runs completed without metrics
     failure/interruption, failed jobs, or persistent pending jobs.
   - A controlled reduced generic-operation-thread comparison also completed on
     both versions; the patched run kept the metrics operation off generic 
threads.
   - Both versions reached the same workload-capacity knee at a higher 
submission
     rate, so that behavior was treated as capacity evidence rather than a 
product
     failure.
   - A longer patched run remained healthy before a separately planned Worker 
fault.
   
   The original production-style permanent RUNNING hang was **not directly
   reproduced** in this lab environment. Therefore, the cluster result is
   directional evidence for isolating metrics work from control-plane generic
   threads, not a definitive before/after reproduction of the reported hang.
   
   The planned Worker restart exposed an independent checkpoint recovery NPE in
   `CheckpointCoordinator.isNoErrorCompleted()`. It is unrelated to
   `ReportMetricsOperation` offloading and is tracked separately in #11563.
   
   Local targeted tests for the metrics offload and the independent checkpoint
   regression pass. No PR has been submitted yet.
   


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