Skip to content

Releases: awslabs/kinesis-hot-shard-advisor

v0.12

29 Mar 10:30
Compare
Choose a tag to compare
Fix: Ensure results are rendered in report when there are failed shards

v0.11

29 Mar 09:33
Compare
Choose a tag to compare

What's Changed

  • Improved stability for analysing large streams (>1000 shards)

    • Number of shards processed concurrently is decided based on the number of CPUs available in host. Default behaviour can also be overridden via a newly introduced argument -max-workers
    • Partition key analysis uses count-min-sketch algorithm to predict hot keys (experimental). Partition key analysis is turned off by default to and can be enabled via -aggregate-keys option.
  • Ability to specify time windows using seconds

    khs -stream test -from "2023-03-28 09:00:00" -to "2023-03-28 09:00:10"
    
  • Output file size is reduced (should be in the range of 10-50KB for a stream with 2500 shards)

  • Output the metrics of successfully analysed shards even when there are some failed shards

  • Fix: Correctly display time range in command output

Full Changelog: v0.10...v0.11

v0.10

24 Mar 09:04
Compare
Choose a tag to compare
Fix processing merged shards twice

v0.9

24 Mar 06:14
Compare
Choose a tag to compare
Fix: Clear progress bar before displaying errors

v0.8

22 Mar 07:00
Compare
Choose a tag to compare
Use a better aggregator name

v0.7: Fix: Trim white spaces in user provided shard-ids

21 Mar 06:02
Compare
Choose a tag to compare
When specifying a list of shard ids, users are
likely to use white space characters.
This change will sanitise the input before passing
it to sdk calls.

v0.6

21 Mar 04:58
Compare
Choose a tag to compare
Man page update for shard-ids argument

v0.5

14 Mar 01:51
Compare
Choose a tag to compare
Increase retry tokens to support streams with lots of shards

We are seeing the quota error during `SubscribeToShard` because
Kinesis client is shared across go routines concurrently subscribing to
multiple shards. They are all sharing the retry token bucket which
has 500 tokens by default. Each retry of `SubscribeToShard` costs
5 tokens. In streams with large number of shards it's possible
that more than 100 `SubscribeToShard` calls are failing and therefore
runs out of retry tokens.

This change increases the token count to 1000000.

Once we verify the stability of this fix, we may introduce a mechanism
to dynamically workout the token count based on the number of shards
in the target.

Also includes:
- Go version is updated 1.19
- All dependencies are upgraded with go get -u

Fixes #7

v0.4

10 Mar 02:45
Compare
Choose a tag to compare
Fix shard listing logic to support paged results

Fixes #5

v0.3

02 Aug 05:31
Compare
Choose a tag to compare
Fix test accuracy by matching slice with order