wsry commented on issue #9993: [FLINK-14498][runtime]Introduce 
NetworkBufferPool#isAvailable() for interacting with LocalBufferPool.
URL: https://github.com/apache/flink/pull/9993#issuecomment-548682997
 
 
   I found the new implementation breaks the current BackPressureTracker, 
because the blocking method stack is changed. Here is the new stack:
   ```
   sun.misc.Unsafe.park(Native Method)
   java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   
java.util.concurrent.CompletableFuture$Signaller.block(CompletableFuture.java:1693)
   java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3323)
   
java.util.concurrent.CompletableFuture.waitingGet(CompletableFuture.java:1729)
   java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1895)
   
org.apache.flink.runtime.io.network.buffer.LocalBufferPool.requestMemorySegmentBlocking(LocalBufferPool.java:231)
   
org.apache.flink.runtime.io.network.buffer.LocalBufferPool.requestBufferBuilderBlocking(LocalBufferPool.java:209)
   ```
   If we keep the max stack trace depth unchanged, then we can change the 
expected class name to ```java.util.concurrent.CompletableFuture$Signaller``` 
and the expected method name to ```block```.
   What do you think @pnowojski @zhijiangW ?

----------------------------------------------------------------
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:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to