tillrohrmann commented on a change in pull request #13964:
URL: https://github.com/apache/flink/pull/13964#discussion_r544397378
##########
File path:
flink-runtime/src/main/java/org/apache/flink/runtime/jobmaster/slotpool/DeclarativeSlotPoolBridge.java
##########
@@ -317,11 +317,12 @@ private PhysicalSlot
reserveFreeSlotForResource(SlotRequestId slotRequestId, All
timeout.toMilliseconds(),
TimeUnit.MILLISECONDS,
componentMainThreadExecutor)
- .whenComplete((physicalSlot, throwable) -> {
- if (throwable instanceof
TimeoutException) {
-
timeoutPendingSlotRequest(slotRequestId);
- }
- });
+ .whenCompleteAsync((physicalSlot, throwable) ->
{
+ if (throwable instanceof
TimeoutException) {
+
timeoutPendingSlotRequest(slotRequestId);
+ }
+ },
+ componentMainThreadExecutor);
Review comment:
After an offline discussion with Chesnay we concluded that this is not
the fix for the problem. Instead we will try to not expose futures which have
other dependents because this can lead to violating the main thread guarantee
when waiting on this future outside of the main thread (`get()` will try to
complete the future's dependents).
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]