mjsax commented on a change in pull request #9720:
URL: https://github.com/apache/kafka/pull/9720#discussion_r553025964
##########
File path: streams/src/main/java/org/apache/kafka/streams/KafkaStreams.java
##########
@@ -201,32 +201,33 @@
* | | |
* | v |
* | +------+-------+ +----+-------+
- * +-----> | Pending |<--- | Error (5) |
- * | Shutdown (3) | +------------+
- * +------+-------+
- * |
- * v
- * +------+-------+
- * | Not |
- * | Running (4) |
+ * +-----> | Pending | | Pending |
+ * | Shutdown (3) | | Error (5) |
+ * +------+-------+ +-----+------+
+ * | |
+ * v v
+ * +------+-------+ +-----+--------+
+ * | Not | | Error (6) |
+ * | Running (4) | +--------------+
* +--------------+
*
*
* </pre>
* Note the following:
* - RUNNING state will transit to REBALANCING if any of its threads is in
PARTITION_REVOKED or PARTITIONS_ASSIGNED state
* - REBALANCING state will transit to RUNNING if all of its threads are
in RUNNING state
- * - Any state except NOT_RUNNING can go to PENDING_SHUTDOWN (whenever
close is called)
+ * - Any state except NOT_RUNNING, PENDING_ERROR or ERROR can go to
PENDING_SHUTDOWN (whenever close is called)
* - Of special importance: If the global stream thread dies, or all
stream threads die (or both) then
- * the instance will be in the ERROR state. The user will need to close
it.
+ * the instance will be in the ERROR state. The user will not need to
close it.
Review comment:
I thought we always need to call close? If an error happens, we call the
handler, and if the handler return shutdown, we transit to `PENDING_ERROR`. On
`close()` we transit from `PENDING_ERROR -> ERROR`?
Or do I have some misconception?
----------------------------------------------------------------
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:
[email protected]