Hi there! I have an issue scaling the stream shredder horizontally. Currently, we are running the Snowplow pipeline on AWS using Kinesis and stream shredder 2.2.0, which is consuming from a Kinesis data stream with 6 shards. The pipeline is working as expected, but lately, we noticed that the RecordProcessor.processRecords.Time CloudWatch metric has started increasing, indicating slow processing and delays in delivering the events in real-time to Redshift. I’m running the shredder on an EC2 instance as a Docker container. Additionally, the shredder is set up as an enhanced fan-out consumer.
I decided to scale it horizontally. My first attempt was to run a second container with the same appName but a different S3 output path. In the first two minutes, everything was fine. Both shredders started consuming 3 shards each, which was what I expected, but suddenly the Kinesis SDK started closing the connection to one of the consumers with the following error:
WARN software.amazon.awssdk.http.nio.netty.internal.http2.Http2GoAwayEventListener - GOAWAY received on a connection ([id: 0x882e9690, L:/XX.XX.X.XX:XXXX - R:kinesis.us-east-1.amazonaws.com/XX.XX.XX.XXX:XXX]) not associated with any multiplexed channel pool.
I thought that this was due to the fact that I’m running 2 shredders with the same appName.
My second attempt was to run a second shredder with a different appName. This resulted in a new enhanced fan-out consumer being registered in the Kinesis stream, a second DynamoDB table being created, and assignment to all 6 shards. Consequently, we started having duplicate events and the same error again:
WARN software.amazon.awssdk.http.nio.netty.internal.http2.Http2GoAwayEventListener - GOAWAY received on a connection ([id: 0x882e9690, L:/XX.XX.X.XX:XXXX - R:kinesis.us-east-1.amazonaws.com/XX.XX.XX.XXX:XXX]) not associated with any multiplexed channel pool.
Am I missing something? I will greatly appreciate your help.
Thanks in advance!