From ca7a109d1bf6eba20a37d7c3ca4fc04d05b21fa5 Mon Sep 17 00:00:00 2001 From: Alex Senger Date: Fri, 19 Apr 2024 13:32:53 +0200 Subject: [PATCH] #19 fixes retry on kinesis error --- consumer.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/consumer.go b/consumer.go index 05ae65c..5e2c93c 100644 --- a/consumer.go +++ b/consumer.go @@ -276,10 +276,12 @@ func (c *Consumer) getShardIterator(ctx context.Context, streamName, shardID, se } func isRetriableError(err error) bool { - switch err.(type) { - case *types.ExpiredIteratorException: + var expiredIteratorException *types.ExpiredIteratorException + var provisionedThroughputExceededException *types.ProvisionedThroughputExceededException + switch { + case errors.As(err, &expiredIteratorException): return true - case *types.ProvisionedThroughputExceededException: + case errors.As(err, &provisionedThroughputExceededException): return true } return false