sjvanrossum commented on PR #40788:
URL: https://github.com/apache/beam/pull/40788#issuecomment-6400874242

   > * 
**`sdks/java/core/src/main/java/org/apache/beam/sdk/fn/data/BeamFnDataGrpcMultiplexer.java`
 (line 236)**: **🔴 Critical**: When an `Elements` message contains empty `data` 
and `timers` lists (`instructionId == null`), `onNext` returns without calling 
`request(1)`. Because `disableAutoInboundFlowControl()` is enabled and this 
message consumed the single in-flight gRPC delivery permit, failing to call 
`request(1)` here permanently stalls the inbound gRPC stream. Call `request(1)` 
before returning.
   > 
   > ```
   >         if (instructionId == null) {
   >           request(1);
   >           return;
   >         }
   > ```
   
   I'm guessing this was supposed to be regarding line 326 of `onNext`?
   The finding is useless, `onNext` is entirely wrapped in a `try { ... } 
finally { ... }` block which executes `releaseOrParkFlowControlToken()`.


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