akalash commented on a change in pull request #17946:
URL: https://github.com/apache/flink/pull/17946#discussion_r760051966
##########
File path:
flink-runtime/src/main/java/org/apache/flink/runtime/checkpoint/ExecutionAttemptMappingProvider.java
##########
@@ -56,14 +56,16 @@ protected boolean removeEldestEntry(
}
public Optional<ExecutionVertex> getVertex(ExecutionAttemptID id) {
- if (!cachedTasksById.containsKey(id)) {
- cachedTasksById.putAll(getCurrentAttemptMappings());
+ synchronized (cachedTasksById) {
Review comment:
Now I see your point, but the current implementation is able to return
`null` from the cache if it missed the cache once while the proposed
implementation will recreate cache every time on the miss. I mean these lines:
```
if (!cachedTasksById.containsKey(id)) {
// the task probably gone after a restart
cachedTasksById.put(id, null);
}
```
I actually don't fully understand the true purpose of this. I mean do we
really need to cache one last id which missed the cache? How is it likely that
we request it again? Do you understand the purpose of that?
--
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]