RockteMQ-AI commented on issue #546:
URL: 
https://github.com/apache/rocketmq-connect/issues/546#issuecomment-5190988504

   **Issue Evaluation**
   
   Category: `bug` | Status: **Confirmed**
   
   **Analysis:** The issue correctly identifies a data loss risk. In 
`RocketMQSourceTask`, consumer data is placed into a `blockingQueue`, and if 
the connector restarts before the data is flushed downstream, the in-flight 
messages in the queue are lost.
   
   **Root Cause:** The source task uses an in-memory `blockingQueue` without 
persistent offset tracking or at-least-once delivery guarantees. On restart, 
the consumer resumes from the last committed offset, but messages already 
dequeued and not yet acknowledged are lost.
   
   **Severity:** high (data loss on restart)
   
   **Suggested fix:**
   - Implement offset persistence before acknowledging messages
   - Use a write-ahead log or persistent queue instead of in-memory 
`blockingQueue`
   - Ensure at-least-once delivery semantics by committing offsets only after 
downstream acknowledgment
   
   ---
   *Automated evaluation by RockteMQ-AI*


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