C0urante opened a new pull request #10016:
URL: https://github.com/apache/kafka/pull/10016


   [Jira](https://issues.apache.org/jira/browse/KAFKA-10340)
   
   When a source task produces records for a topic that doesn't exist on the 
Kafka cluster and automatic topic creation is disabled on the broker and not 
configured à la 
[KIP-158](https://cwiki.apache.org/confluence/display/KAFKA/KIP-158%3A+Kafka+Connect+should+allow+source+connectors+to+set+topic-specific+settings+for+new+topics)
 on the connector, the task hangs indefinitely until and unless the topic is 
created. Even if the task is scheduled for shutdown by the worker, it continues 
to hang; the `SourceTask` instance isn't stopped and the producer isn't closed.
   
   One possible approach to handle this situation is to proactively close the 
producer for the task when it is abandoned after exceeding the graceful 
shutdown timeout period. This can increase the likelihood of duplicate records 
for tasks that are blocked on shutdown for other reasons (high throughput, for 
example), as offsets will not be committed for any outstanding batches. 
However, given that the overall delivery guarantees of the Connect framework 
still remain intact with this approach (either at-least-once or at-most-once, 
but not exactly-once), the tradeoff seems acceptable in order to prevent 
resource leaks that, if stacked over a long enough period, will require worker 
restarts to deal with.
   
   ### Committer Checklist (excluded from commit message)
   - [ ] Verify design and implementation 
   - [ ] Verify test coverage and CI build status
   - [ ] Verify documentation (including upgrade notes)
   


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


Reply via email to