Savonitar commented on code in PR #28639:
URL: https://github.com/apache/flink/pull/28639#discussion_r3537210614


##########
flink-runtime/src/main/java/org/apache/flink/runtime/resourcemanager/ResourceManager.java:
##########
@@ -427,6 +430,14 @@ public CompletableFuture<RegistrationResponse> 
registerJobMaster(
                             jobMasterIdFuture,
                             (JobMasterGateway jobMasterGateway, JobMasterId 
leadingJobMasterId) -> {
                                 if (Objects.equals(leadingJobMasterId, 
jobMasterId)) {
+                                    // Register with the delegation token 
manager first; a
+                                    // provider failure rejects this 
registration so the job
+                                    // never starts without the tokens it 
requires.
+                                    try {
+                                        
delegationTokenManager.registerJob(jobId, jobConfiguration);
+                                    } catch (Exception e) {
+                                        return new 
RegistrationResponse.Failure(e);
+                                    }

Review Comment:
   > time windows from job perspective where no crentials exist
   
   Yes, it is accepted by design. A job registering during it has no tokens 
yet, so its connector auth fails and the standard restart strategy brings it 
back once the tokens arrive. Short-lived jobs can set 
`security.delegation.tokens.reobtain.cooldown` to 0. 
   On the IO pressure point, agreed. The obtain cycle runs on the shared 
cluster-io pool and nothing bounds its queue wait, so under pressure the window 
just widens. The periodic renewal uses the same pool, so it slides by the same 
amount. The FLIP calls this out as a starvation and keeps it as-is 
deliberately. 
   The one guarantee is that it only brings the next cycle forward and never 
pushes an already scheduled renewal later. Survival is the restart path either 
way.



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