curcur edited a comment on pull request #17229:
URL: https://github.com/apache/flink/pull/17229#issuecomment-955988634


   Thanks @rkhachatryan for the PR, I have a few high-level + implementation 
questions. Let's discuss offline:
   
   - Item 1
   `seizeCapacity`: multiple task thread?
   
   1. `hasCapacity()`: inFlightBytesCounter < maxBytesInFlight;
      `isAvaialble()`: what is that, how it is different from `hasCapacity()`
      
   2. Even waken up, it still not guranteed to have enough capacity
        (`inFlightBytesCounter + bytes`) still possible to exceed capacity
        what's the purpose to split `seizeCapacity` into these two steps?
        
   - Item 2
   `releaseCapacity`: IO tread, single IO thread, multiple IO thread?
   How it is related to `upload` task scheduler?
   
   `UploadThrottle` - AvailabilityProvider
   `BatchingStateChangeUploader` contains AvailabilityProvider
   
   - Item 3
   `BatchingStateChangeUploader.upload`
   even if it grabs the lock and seize capacity, it may still not able to 
upload all bytes
   Why it is designed this way
   
   - Item 4
   `BatchingStateChangeUploader` per `FsStateChangelogStorage` inlcuded in 
`TaskStateManager`
   per TM
   
   - Item 5
   Why it is allowed to be null?
   `environment.getTaskStateManager().getStateChangelogStorage() == null`
   
   - Item 6
   Now Backpressure seems has one more state:
   `idleTimeMsPerSecond`
   `busyTimeMsPerSecond`
   `backPressuredTimeMsPerSecond` 
   -- backpressure because of downstream / backpressure because of changelog IO
   
   - Item 7
   I found there are several locks in a few different places, are they all 
necessary (asking this because of the DFS PR is not reviewed by me, so needs a 
bit more input)


-- 
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: issues-unsubscr...@flink.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to