Caideyipi opened a new pull request, #18434:
URL: https://github.com/apache/iotdb/pull/18434

   ## Summary
   
   - retain disconnected subscription receivers until server-side inactivity 
cleanup completes
   - serialize request, reconnect, exit, and timeout handling per consumer 
identity, fencing obsolete connections after reconnect
   - keep timeout state retryable when consumer cleanup fails, and remove it 
after explicit close or successful timeout cleanup
   
   ## Motivation
   
   An abruptly terminated consumer does not send close or unsubscribe requests. 
The server previously removed its receiver from timeout tracking and cleared 
the receiver's shared consumer state during connection cleanup, so the orphaned 
consumer could retain uncommitted subscription data indefinitely. That retained 
data can exhaust shared subscription memory and block message admission for 
unrelated topics and consumers.
   
   ## Tests
   
   - `mvn -o -nsu spotless:check -pl iotdb-core/datanode`
   - targeted Checkstyle for `SubscriptionReceiver*.java` (0 violations)
   - `SubscriptionReceiverAgentTest`: 4 tests passed
   - `SubscriptionReceiverV1Test`: 9 tests passed


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