@Internal public class FanOutShardSubscriber extends Object
[
| ----------- Source Connector Thread ----------- | | --- KinesisAsyncClient Thread(s) -- |
| FanOutRecordPublisher | FanOutShardSubscription | == blocking queue == | KinesisProxyV2 | KinesisAsyncClient |
]
Three types of message are passed over the queue for inter-thread communication:
SubscriptionNextEvent
- passes data from the network to the consumer
SubscriptionCompleteEvent
- indicates a subscription has expired
SubscriptionErrorEvent
- passes an exception from the network to the consumer
The blocking queue has a maximum capacity of two. One slot is used for a record batch, the
remaining slot is reserved to completion events. At maximum capacity we will have two SubscribeToShardEvent
in memory (per instance of this class):
Copyright © 2014–2023 The Apache Software Foundation. All rights reserved.