Skip to content

Commit a984075

Browse files
TaskId
1 parent 69312a7 commit a984075

17 files changed

+218
-35
lines changed

SUMMARY.adoc

+10-8
Original file line numberDiff line numberDiff line change
@@ -291,14 +291,20 @@
291291
. link:kafka-streams-internals-GroupedStreamAggregateBuilder.adoc[GroupedStreamAggregateBuilder]
292292
. link:kafka-streams-internals-KStreamImpl-KStreamImplJoin.adoc[KStreamImplJoin]
293293

294-
=== Execution Environment
294+
=== Physical Plan of Execution
295295

296296
. link:kafka-streams-internals-ProcessorTopology.adoc[ProcessorTopology -- Physical Processor Task Topology]
297297

298298
. link:kafka-streams-internals-Task.adoc[Task Contract -- Stream Processor Tasks]
299299
.. link:kafka-streams-internals-AbstractTask.adoc[AbstractTask -- Base Processor Task]
300-
.. link:kafka-streams-internals-StreamTask.adoc[StreamTask]
301300
.. link:kafka-streams-internals-StandbyTask.adoc[StandbyTask]
301+
.. link:kafka-streams-internals-StreamTask.adoc[StreamTask]
302+
303+
. link:kafka-streams-AssignedTasks.adoc[AssignedTasks]
304+
.. link:kafka-streams-AssignedStandbyTasks.adoc[AssignedStandbyTasks -- AssignedTasks For StandbyTasks]
305+
.. link:kafka-streams-AssignedStreamsTasks.adoc[AssignedStreamsTasks -- AssignedTasks For StreamTasks]
306+
307+
=== Kafka Streams Execution Engine
302308

303309
. link:kafka-streams-internals-TaskManager.adoc[TaskManager]
304310
.. link:kafka-streams-internals-TaskCreator.adoc[TaskCreator -- Factory of Stream Tasks]
@@ -309,10 +315,6 @@
309315
. link:kafka-streams-StreamThread-RebalanceListener.adoc[RebalanceListener -- Kafka ConsumerRebalanceListener for Partition Assignment Among Processor Tasks]
310316
. link:kafka-streams-StreamsMetadataState.adoc[StreamsMetadataState]
311317

312-
. link:kafka-streams-AssignedTasks.adoc[AssignedTasks]
313-
.. link:kafka-streams-AssignedStandbyTasks.adoc[AssignedStandbyTasks -- AssignedTasks For StandbyTasks]
314-
.. link:kafka-streams-AssignedStreamsTasks.adoc[AssignedStreamsTasks -- AssignedTasks For StreamTasks]
315-
316318
. link:kafka-streams-internals-StreamsPartitionAssignor.adoc[StreamsPartitionAssignor -- Dynamic Partition Assignment Strategy]
317319
.. link:kafka-streams-internals-InternalTopicManager.adoc[InternalTopicManager]
318320
.. link:kafka-streams-internals-AssignmentInfo.adoc[AssignmentInfo]
@@ -322,7 +324,7 @@
322324
... link:kafka-streams-internals-StickyTaskAssignor.adoc[StickyTaskAssignor]
323325

324326
. link:kafka-streams-AbstractProcessorContext.adoc[AbstractProcessorContext -- Base Of Internal Processor Contexts]
325-
.. link:kafka-streams-GlobalProcessorContextImpl.adoc[GlobalProcessorContextImpl]
327+
.. link:kafka-streams-internals-GlobalProcessorContextImpl.adoc[GlobalProcessorContextImpl]
326328
.. link:kafka-streams-ProcessorContextImpl.adoc[ProcessorContextImpl]
327329
.. link:kafka-streams-StandbyContextImpl.adoc[StandbyContextImpl]
328330

@@ -363,7 +365,7 @@
363365

364366
=== State (Store) Management
365367

366-
. link:kafka-streams-StateManager.adoc[StateManager Contract -- State Store Managers]
368+
. link:kafka-streams-internals-StateManager.adoc[StateManager Contract -- State Store Managers]
367369
.. link:kafka-streams-AbstractStateManager.adoc[AbstractStateManager]
368370

369371
. link:kafka-streams-ProcessorStateManager.adoc[ProcessorStateManager]

kafka-streams-AbstractProcessorContext.adoc

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ NOTE: `AbstractProcessorContext` is a Java abstract class and cannot be <<creati
1111
| AbstractProcessorContext
1212
| Description
1313

14-
| <<kafka-streams-GlobalProcessorContextImpl.adoc#, GlobalProcessorContextImpl>>
14+
| <<kafka-streams-internals-GlobalProcessorContextImpl.adoc#, GlobalProcessorContextImpl>>
1515
| [[GlobalProcessorContextImpl]]
1616

1717
| <<kafka-streams-ProcessorContextImpl.adoc#, ProcessorContextImpl>>
@@ -67,7 +67,7 @@ void register(
6767

6868
NOTE: `register` is part of the <<kafka-streams-ProcessorContext.adoc#register, ProcessorContext Contract>> to register a <<kafka-streams-StateStore.adoc#, state store>>.
6969

70-
`register` simply requests the <<stateManager, StateManager>> to <<kafka-streams-StateManager.adoc#register, register the state store>> (and the given <<kafka-streams-StateRestoreCallback.adoc#, StateRestoreCallback>>)
70+
`register` simply requests the <<stateManager, StateManager>> to <<kafka-streams-internals-StateManager.adoc#register, register the state store>> (and the given <<kafka-streams-StateRestoreCallback.adoc#, StateRestoreCallback>>)
7171

7272
`register` throws an `IllegalStateException` when <<initialized, initialized>>:
7373

@@ -93,7 +93,7 @@ NOTE: `uninitialize` is part of the <<kafka-streams-internals-InternalProcessorC
9393
* [[taskId]] <<kafka-streams-TaskId.adoc#, TaskId>>
9494
* [[config]] <<kafka-streams-StreamsConfig.adoc#, StreamsConfig>>
9595
* [[metrics]] <<kafka-streams-StreamsMetricsImpl.adoc#, StreamsMetricsImpl>>
96-
* [[stateManager]] <<kafka-streams-StateManager.adoc#, StateManager>>
96+
* [[stateManager]] <<kafka-streams-internals-StateManager.adoc#, StateManager>>
9797
* [[cache]] <<kafka-streams-ThreadCache.adoc#, ThreadCache>>
9898

9999
`AbstractProcessorContext` initializes the <<internal-registries, internal registries and counters>>.

kafka-streams-AbstractStateManager.adoc

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
== [[AbstractStateManager]] AbstractStateManager -- Base State Manager
22

3-
`AbstractStateManager` is the base implementation of the <<kafka-streams-StateManager.adoc#, StateManager contract>> for <<implementations, state managers>> that use <<checkpoint, offset checkpointing>>.
3+
`AbstractStateManager` is the base implementation of the <<kafka-streams-internals-StateManager.adoc#, StateManager contract>> for <<implementations, state managers>> that use <<checkpoint, offset checkpointing>>.
44

55
NOTE: `AbstractStateManager` is a Java abstract class and cannot be <<creating-instance, created>> directly. It is created indirectly for the <<implementations, concrete AbstractStateManagers>>.
66

kafka-streams-Checkpointable.adoc

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
`Checkpointable` is the internal <<contract, contract>> for <<implementations, objects>> with associated partition offsets that can be <<checkpoint, checkpointed>>.
44

55
[[implementations]]
6-
NOTE: <<kafka-streams-StateManager.adoc#, StateManager>> is the one and only known direct extension contract of the <<contract, Checkpointable Contract>>.
6+
NOTE: <<kafka-streams-internals-StateManager.adoc#, StateManager>> is the one and only known direct extension contract of the <<contract, Checkpointable Contract>>.
77

88
[[contract]]
99
.Checkpointable Contract
+13
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
11
== [[DefaultPartitionGrouper]] DefaultPartitionGrouper
22

33
`DefaultPartitionGrouper` is a concrete <<kafka-streams-PartitionGrouper.adoc#, PartitionGrouper>> that...FIXME
4+
5+
=== [[partitionGroups]] `partitionGroups` Method
6+
7+
[source, scala]
8+
----
9+
Map<TaskId, Set<TopicPartition>> partitionGroups(
10+
final Map<Integer, Set<String>> topicGroups,
11+
final Cluster metadata)
12+
----
13+
14+
NOTE: `partitionGroups` is part of the <<kafka-streams-PartitionGrouper.adoc#partitionGroups, PartitionGrouper Contract>> to...FIXME.
15+
16+
`partitionGroups`...FIXME

kafka-streams-GlobalStateManager.adoc

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
== [[GlobalStateManager]] GlobalStateManager
22

3-
`GlobalStateManager` is the <<contract, contract>> for custom link:kafka-streams-StateManager.adoc[StateManagers] that are link:kafka-streams-Checkpointable.adoc[checkpointable] and...FIXME
3+
`GlobalStateManager` is the <<contract, contract>> for custom link:kafka-streams-internals-StateManager.adoc[StateManagers] that are link:kafka-streams-Checkpointable.adoc[checkpointable] and...FIXME
44

55
[[contract]]
66
[source, java]

kafka-streams-PartitionGrouper.adoc

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
[[contract]]
66
.PartitionGrouper Contract
7-
[cols="1m,2",options="header",width="100%"]
7+
[cols="1m,3",options="header",width="100%"]
88
|===
99
| Method
1010
| Description

kafka-streams-ProcessorStateManager.adoc

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
== [[ProcessorStateManager]] ProcessorStateManager
22

3-
`ProcessorStateManager` is a concrete <<kafka-streams-StateManager.adoc#, StateManager>> (as a <<kafka-streams-AbstractStateManager.adoc#, AbstractStateManager>>) that...FIXME
3+
`ProcessorStateManager` is a concrete <<kafka-streams-internals-StateManager.adoc#, StateManager>> (as a <<kafka-streams-AbstractStateManager.adoc#, AbstractStateManager>>) that...FIXME
44

55
`ProcessorStateManager` is <<creating-instance, created>> exclusively when `AbstractTask` is <<kafka-streams-internals-AbstractTask.adoc#stateMgr, created>> (for <<kafka-streams-internals-StandbyTask.adoc#, StandbyTask>> and <<kafka-streams-internals-StreamTask.adoc#, StreamTask>> tasks).
66

@@ -73,7 +73,7 @@ void register(
7373
final StateRestoreCallback stateRestoreCallback)
7474
----
7575

76-
NOTE: `register` is part of link:kafka-streams-StateManager.adoc#register[StateManager Contract] to register a <<kafka-streams-StateStore.adoc#, state store>> and the associated `StateRestoreCallback`.
76+
NOTE: `register` is part of link:kafka-streams-internals-StateManager.adoc#register[StateManager Contract] to register a <<kafka-streams-StateStore.adoc#, state store>> and the associated `StateRestoreCallback`.
7777

7878
`register` prints out the following DEBUG message to the logs:
7979

@@ -118,7 +118,7 @@ Store [storeName] has already been registered.
118118
void close(final Map<TopicPartition, Long> ackedOffsets) throws ProcessorStateException
119119
----
120120

121-
NOTE: `close` is part of link:kafka-streams-StateManager.adoc#close[StateManager Contract] to...FIXME.
121+
NOTE: `close` is part of link:kafka-streams-internals-StateManager.adoc#close[StateManager Contract] to...FIXME.
122122

123123
`close`...FIXME
124124

@@ -129,7 +129,7 @@ NOTE: `close` is part of link:kafka-streams-StateManager.adoc#close[StateManager
129129
void flush()
130130
----
131131

132-
NOTE: `flush` is part of the <<kafka-streams-StateManager.adoc#flush, StateManager Contract>> to flush all <<kafka-streams-StateStore.adoc#, state stores>> registered with the state manager.
132+
NOTE: `flush` is part of the <<kafka-streams-internals-StateManager.adoc#flush, StateManager Contract>> to flush all <<kafka-streams-StateStore.adoc#, state stores>> registered with the state manager.
133133

134134
`flush`...FIXME
135135

@@ -140,7 +140,7 @@ NOTE: `flush` is part of the <<kafka-streams-StateManager.adoc#flush, StateManag
140140
StateStore getGlobalStore(final String name)
141141
----
142142

143-
NOTE: `getGlobalStore` is part of link:kafka-streams-StateManager.adoc#getGlobalStore[StateManager Contract] to...FIXME.
143+
NOTE: `getGlobalStore` is part of link:kafka-streams-internals-StateManager.adoc#getGlobalStore[StateManager Contract] to...FIXME.
144144

145145
`getGlobalStore`...FIXME
146146

@@ -151,7 +151,7 @@ NOTE: `getGlobalStore` is part of link:kafka-streams-StateManager.adoc#getGlobal
151151
StateStore getStore(final String name)
152152
----
153153

154-
NOTE: `getStore` is part of link:kafka-streams-StateManager.adoc#getStore[StateManager Contract] to...FIXME.
154+
NOTE: `getStore` is part of link:kafka-streams-internals-StateManager.adoc#getStore[StateManager Contract] to...FIXME.
155155

156156
`getStore`...FIXME
157157

@@ -164,7 +164,7 @@ void reinitializeStateStoresForPartitions(
164164
final InternalProcessorContext processorContext)
165165
----
166166

167-
NOTE: `reinitializeStateStoresForPartitions` is part of <<kafka-streams-StateManager.adoc#reinitializeStateStoresForPartitions, StateManager Contract>> to...FIXME.
167+
NOTE: `reinitializeStateStoresForPartitions` is part of <<kafka-streams-internals-StateManager.adoc#reinitializeStateStoresForPartitions, StateManager Contract>> to...FIXME.
168168

169169
`reinitializeStateStoresForPartitions`...FIXME
170170

kafka-streams-TaskId.adoc

+94-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,96 @@
11
== [[TaskId]] TaskId
22

3-
`TaskId` is...FIXME
3+
[[creating-instance]]
4+
`TaskId` takes the following to be created:
5+
6+
* [[topicGroupId]] Topic group ID
7+
* [[partition]] Assigned partition ID
8+
9+
`TaskId` is <<creating-instance, created>> when:
10+
11+
* `DefaultPartitionGrouper` is requested to <<kafka-streams-DefaultPartitionGrouper.adoc#partitionGroups, partitionGroups>>
12+
13+
* `GlobalProcessorContextImpl` is <<kafka-streams-internals-GlobalProcessorContextImpl.adoc#, created>>
14+
15+
* `TaskId` is requested to <<parse, parse>> and <<readFrom, readFrom>>
16+
17+
[[toString]]
18+
When requested for a textual representation (`toString`), `TaskId` simply returns the <<topicGroupId, topic group ID>> and the <<partition, assigned partition ID>> separated by `_` (underscore), e.g. `0_0`.
19+
20+
[source, scala]
21+
----
22+
import org.apache.kafka.streams.processor.TaskId
23+
val topicGroupId = 0
24+
val partition = 0
25+
val tid = new TaskId(topicGroupId, partition)
26+
scala> println(tid)
27+
0_0
28+
----
29+
30+
=== [[parse]] Creating TaskId from Textual Representation -- `parse` Factory Method
31+
32+
[source, java]
33+
----
34+
TaskId parse(final String taskIdStr)
35+
----
36+
37+
`parse` <<creating-instance, creates>> a `TaskId` from the given textual representation.
38+
39+
`parse` throws a `TaskIdFormatException` if the given `taskIdStr` is of incorrect format.
40+
41+
[source, scala]
42+
----
43+
import org.apache.kafka.streams.processor.TaskId
44+
val incorrectTaskId = "hello_world"
45+
scala> TaskId.parse(incorrectTaskId)
46+
org.apache.kafka.streams.errors.TaskIdFormatException: Task id cannot be parsed correctly from hello_world
47+
at org.apache.kafka.streams.processor.TaskId.parse(TaskId.java:58)
48+
... 36 elided
49+
----
50+
51+
[NOTE]
52+
====
53+
`parse` is used when:
54+
55+
* `StateDirectory` is requested to <<kafka-streams-internals-StateDirectory.adoc#cleanRemovedTasks, cleanRemovedTasks>>
56+
57+
* `TaskManager` is requested to <<kafka-streams-internals-TaskManager.adoc#cachedTasksIds, cachedTasksIds>>
58+
====
59+
60+
=== [[writeTo]] Serializing TaskId -- `writeTo` Method
61+
62+
[source, java]
63+
----
64+
void writeTo(final ByteBuffer buf)
65+
void writeTo(final DataOutputStream out)
66+
----
67+
68+
`writeTo` simply writes the <<topicGroupId, topicGroupId>> and the <<partition, partition>> out to the given output (either `buf` or `out`).
69+
70+
[NOTE]
71+
====
72+
`writeTo` is used when:
73+
74+
* `SubscriptionInfo` is requested to <<kafka-streams-internals-SubscriptionInfo.adoc#encodeTasks, encodeTasks>>
75+
76+
* `AssignmentInfo` is requested to <<kafka-streams-internals-AssignmentInfo.adoc#encodeActiveAndStandbyTaskAssignment, encodeActiveAndStandbyTaskAssignment>>
77+
====
78+
79+
=== [[readFrom]] Creating TaskId from Encoded Representation (Deserialization) -- `readFrom` Factory Method
80+
81+
[source, java]
82+
----
83+
TaskId readFrom(final ByteBuffer buf)
84+
TaskId readFrom(final DataInputStream in)
85+
----
86+
87+
`readFrom` simply creates a `TaskId` from (the numbers) from the given input (either `buf` or `in`).
88+
89+
[NOTE]
90+
====
91+
`readFrom` is used when:
92+
93+
* `SubscriptionInfo` is requested to <<kafka-streams-internals-SubscriptionInfo.adoc#decodeTasks, decodeTasks>>
94+
95+
* `AssignmentInfo` is requested to <<kafka-streams-internals-AssignmentInfo.adoc#decodeActiveTasks, decodeActiveTasks>> and <<kafka-streams-internals-AssignmentInfo.adoc#decodeStandbyTasks, decodeStandbyTasks>>
96+
====

kafka-streams-internals-AssignmentInfo.adoc

+37
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,40 @@ static void decodeVersionOneData(
2525
`decodeVersionOneData`...FIXME
2626

2727
NOTE: `decodeVersionOneData` is used exclusively when `AssignmentInfo` is requested to <<decode, decode the user data>>.
28+
29+
=== [[encodeActiveAndStandbyTaskAssignment]] `encodeActiveAndStandbyTaskAssignment` Internal Method
30+
31+
[source, java]
32+
----
33+
void encodeActiveAndStandbyTaskAssignment(final DataOutputStream out)
34+
----
35+
36+
`encodeActiveAndStandbyTaskAssignment`...FIXME
37+
38+
NOTE: `encodeActiveAndStandbyTaskAssignment` is used when...FIXME
39+
40+
=== [[decodeActiveTasks]] `decodeActiveTasks` Internal Factory Method
41+
42+
[source, java]
43+
----
44+
static void decodeActiveTasks(
45+
final AssignmentInfo assignmentInfo,
46+
final DataInputStream in)
47+
----
48+
49+
`decodeActiveTasks`...FIXME
50+
51+
NOTE: `decodeActiveTasks` is used when...FIXME
52+
53+
=== [[decodeStandbyTasks]] `decodeStandbyTasks` Internal Factory Method
54+
55+
[source, java]
56+
----
57+
static void decodeStandbyTasks(
58+
final AssignmentInfo assignmentInfo,
59+
final DataInputStream in)
60+
----
61+
62+
`decodeStandbyTasks`...FIXME
63+
64+
NOTE: `decodeStandbyTasks` is used when...FIXME

kafka-streams-GlobalProcessorContextImpl.adoc kafka-streams-internals-GlobalProcessorContextImpl.adoc

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66

77
[source, java]
88
----
9-
FIXME
9+
StateStore getStateStore(final String name)
1010
----
1111

1212
NOTE: `getStateStore` is part of the <<kafka-streams-ProcessorContext.adoc#getStateStore, ProcessorContext Contract>> to...FIXME.
1313

14-
`getStateStore`...FIXME
14+
`getStateStore` simply requests the <<kafka-streams-AbstractProcessorContext.adoc#stateManager, StateManager>> to <<kafka-streams-internals-StateManager.adoc#getGlobalStore, get the global state store>> by the given name.

kafka-streams-internals-GlobalStateManagerImpl.adoc

+4-4
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ void reinitializeStateStoresForPartitions(
4848
final InternalProcessorContext processorContext)
4949
----
5050

51-
NOTE: `reinitializeStateStoresForPartitions` is part of <<kafka-streams-StateManager.adoc#reinitializeStateStoresForPartitions, StateManager Contract>> to...FIXME.
51+
NOTE: `reinitializeStateStoresForPartitions` is part of <<kafka-streams-internals-StateManager.adoc#reinitializeStateStoresForPartitions, StateManager Contract>> to...FIXME.
5252

5353
`reinitializeStateStoresForPartitions`...FIXME
5454

@@ -59,7 +59,7 @@ NOTE: `reinitializeStateStoresForPartitions` is part of <<kafka-streams-StateMan
5959
void flush()
6060
----
6161

62-
NOTE: `flush` is part of the <<kafka-streams-StateManager.adoc#flush, StateManager Contract>> to flush all <<kafka-streams-StateStore.adoc#, state stores>> registered with the state manager.
62+
NOTE: `flush` is part of the <<kafka-streams-internals-StateManager.adoc#flush, StateManager Contract>> to flush all <<kafka-streams-StateStore.adoc#, state stores>> registered with the state manager.
6363

6464
`flush`...FIXME
6565

@@ -87,7 +87,7 @@ void register(
8787
final StateRestoreCallback stateRestoreCallback)
8888
----
8989

90-
NOTE: `register` is part of the <<kafka-streams-StateManager.adoc#register, StateManager Contract>> to register a <<kafka-streams-StateStore.adoc#, state store>>.
90+
NOTE: `register` is part of the <<kafka-streams-internals-StateManager.adoc#register, StateManager Contract>> to register a <<kafka-streams-StateStore.adoc#, state store>>.
9191

9292
`register`...FIXME
9393

@@ -98,6 +98,6 @@ NOTE: `register` is part of the <<kafka-streams-StateManager.adoc#register, Stat
9898
void close(final Map<TopicPartition, Long> offsets) throws IOException
9999
----
100100

101-
NOTE: `close` is part of the <<kafka-streams-StateManager.adoc#close, StateManager Contract>> to close the state manager.
101+
NOTE: `close` is part of the <<kafka-streams-internals-StateManager.adoc#close, StateManager Contract>> to close the state manager.
102102

103103
`close`...FIXME

kafka-streams-internals-GlobalStateUpdateTask.adoc

+3-3
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ void flushState()
5757

5858
NOTE: `flushState` is part of link:kafka-streams-internals-GlobalStateMaintainer.adoc#flushState[GlobalStateMaintainer Contract] to...FIXME.
5959

60-
`flushState` requests <<stateMgr, GlobalStateManager>> to link:kafka-streams-StateManager.adoc#flush[flush] followed by link:kafka-streams-Checkpointable.adoc#checkpoint[checkpointing] the <<offsets, offsets>>.
60+
`flushState` requests <<stateMgr, GlobalStateManager>> to link:kafka-streams-internals-StateManager.adoc#flush[flush] followed by link:kafka-streams-Checkpointable.adoc#checkpoint[checkpointing] the <<offsets, offsets>>.
6161

6262
=== [[close]] Closing State Manager -- `close` Method
6363

@@ -66,9 +66,9 @@ NOTE: `flushState` is part of link:kafka-streams-internals-GlobalStateMaintainer
6666
void close() throws IOException
6767
----
6868

69-
NOTE: `close` is part of link:kafka-streams-StateManager.adoc#close[StateManager Contract] to...FIXME.
69+
NOTE: `close` is part of link:kafka-streams-internals-StateManager.adoc#close[StateManager Contract] to...FIXME.
7070

71-
`close` simply requests <<stateMgr, GlobalStateManager>> to link:kafka-streams-StateManager.adoc#close[close] (passing on the <<offsets, offsets>>).
71+
`close` simply requests <<stateMgr, GlobalStateManager>> to link:kafka-streams-internals-StateManager.adoc#close[close] (passing on the <<offsets, offsets>>).
7272

7373
=== [[creating-instance]] Creating GlobalStateUpdateTask Instance
7474

0 commit comments

Comments
 (0)