You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As far as I can tell, enabling skip_describe_stream doesn't skip anything. self.shards is set to an empty list, but the describe stream is still performed. Let me know if I'm missing something but it doesn't seem like there's any change in behavior when this is set.
I'm trying to figure this out because I'm concerned about the use of kinesis's DescribeStream api. This api has a 10 ops/s account wide limit, which has basically made it unusable for us for use in our clients. There are just too many clients across our aws account to have each reader/writer trying to hit this at runtime.
I can understand polling this after attempting to create a stream (though there's a DescribeStreamSummary api which has 2x higher limit that I think is preferred), but I'd really like to disable stream creation and provision externally and never attempt to hit this api in producer/consumer services, which I think is what I'd look for when skipping describe stream.
Consumers of course need to know about shards. There's a ListShards api which is newer but affords 100 ops/s per stream and is what we are using today in our consumer services.
I'd like to propose moving to these APIs and refactoring so that only the ListShards api is hit when producers/consumers are configured not to create the streams. What do you think?
The text was updated successfully, but these errors were encountered:
hi @akursar yes you are right its not actually skipping, oops! I think I put it in for unit testing but ended up not using it. The use case I had for Kinesis was long lived consumer/producers so never encountered this problem before.
And yes using those alternate API sounds heaps better, PR would be amazing :)
As far as I can tell, enabling
skip_describe_stream
doesn't skip anything. self.shards is set to an empty list, but the describe stream is still performed. Let me know if I'm missing something but it doesn't seem like there's any change in behavior when this is set.I'm trying to figure this out because I'm concerned about the use of kinesis's DescribeStream api. This api has a 10 ops/s account wide limit, which has basically made it unusable for us for use in our clients. There are just too many clients across our aws account to have each reader/writer trying to hit this at runtime.
I can understand polling this after attempting to create a stream (though there's a DescribeStreamSummary api which has 2x higher limit that I think is preferred), but I'd really like to disable stream creation and provision externally and never attempt to hit this api in producer/consumer services, which I think is what I'd look for when skipping describe stream.
Consumers of course need to know about shards. There's a ListShards api which is newer but affords 100 ops/s per stream and is what we are using today in our consumer services.
I'd like to propose moving to these APIs and refactoring so that only the ListShards api is hit when producers/consumers are configured not to create the streams. What do you think?
The text was updated successfully, but these errors were encountered: