raminqaf opened a new pull request, #28687:
URL: https://github.com/apache/flink/pull/28687

   ## What is the purpose of the change                                         
                                                                                
                                                                                
                                             
                                                                                
                                                                                
                                                                                
                                               
   YARNSessionFIFOSecuredITCase.testDetachedMode is flaky. It fails at 
verifyResultContainsKerberosKeytab: "Expecting value to be true but was false". 
                                                                                
                                                                                
                                          
                                                                                
                                                                                
                                                                                
                                             
   The verification reads jobmanager.log and taskmanager.log once, looking for 
the Kerberos keytab login lines, but it runs after runDetachedModeTest has 
already killed the YARN application. The TaskManager container is short-lived 
(launched, job finished, and SIGTERM-killed within ~3 seconds). The log read 
happens ~200ms after the kill, and the TaskManager's startup login line is 
sometimes not yet durably readable at that instant, so the assertion fails. 
This is the same symptom as FLINK-17662.                                        
                                                                                
                                                                                
                                                           
                                                                                
                                                                                
                                                                                
                                             
   ## Brief change log                                                          
                                                                                
                                                                                
                                             
                                                                                
                                                                                
                                                                                
                                             
     - YARNSessionFIFOITCase.runDetachedModeTest now accepts an optional 
verification callback that runs after the job reaches FINISHED but before the 
application is killed, while the containers and their logs are still intact. 
The existing overload delegates with a no-op, so the base test is unchanged.    
                                                                                
                                                                                
                                      
     - In YARNSessionFIFOSecuredITCase the Kerberos keytab log check is moved 
into that pre-kill callback and now polls the log files (waitUntilCondition) 
instead of reading them once.                                                   
                                                                                
                                                                                
                                      
     - The AM-RM token and ACL checks are unchanged and still run after the 
kill.                                                                           
                                                                                
                                                 
                                                                                
                                                                                
                                                                                
                                             
   ## Verifying this change                                                     
                                                                                
                                                                                
                                             
                                                                                
                                                                                
                                                                                
                                             
   This change fixes a flaky test and is covered by the modified 
YARNSessionFIFOSecuredITCase. A genuine regression still fails: if the login 
strings never appear, the bounded poll exhausts its retries and the test fails. 
                                                                                
                                                                                
                                          
                                                                                
                                                                                
                                                                                
                                             
   ## Does this pull request potentially affect one of the following parts:     
                                                                                
                                                                                
                                             
                                                                                
                                                                                
                                                                                
                                             
     - Dependencies (does it add or upgrade a dependency): no                   
                                                                                
                                                                                
                                             
     - The public API, i.e., is any changed class annotated with 
@Public(Evolving): no                                                           
                                                                                
                                                            
     - The serializers: no                                                      
                                                                                
                                                                                
                                             
     - The runtime per-record code paths (performance sensitive): no            
                                                                                
                                                                                
                                             
     - Anything that affects deployment or recovery: JobManager, Checkpointing, 
Kubernetes/Yarn, ZooKeeper: no                                                  
                                                                                
                                             
     - The S3 file system connector: no                                         
                                                                                
                                                                                
                                             
                                                                                
                                                                                
                                                                                
                                             
   ## Documentation                                                             
                                                                                
                                                                                
                                             
                                                                                
                                                                                
                                                                                
                                             
     - Does this pull request introduce a new feature? no                       
                                                                                
                                                                                
                                             
     - If yes, how is the feature documented? not applicable
   
   ---
   
   ##### Was generative AI tooling used to co-author this PR?
   
   <!--
   If generative AI tooling has been used in the process of authoring this PR, 
please
   change the checkbox below to `[X]` followed by the name of the tool, and 
uncomment the
   "Generated-by" line. See the ASF Generative Tooling Guidance for details:
   https://www.apache.org/legal/generative-tooling.html
   
   You are responsible for the quality and correctness of every change in this 
PR
   regardless of the tooling used. Low-effort AI-generated PRs will be closed. 
See
   AGENTS.md for the full guidance.
   -->
   
   - [X] Yes (please specify the tool below)
   
   Generated-by: Opus 4.8
   


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