Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

max-provisioned-writes AND enable-writes-up-scaling can be ignored #295

Open
tfeak opened this issue Apr 25, 2016 · 1 comment
Open

max-provisioned-writes AND enable-writes-up-scaling can be ignored #295

tfeak opened this issue Apr 25, 2016 · 1 comment

Comments

@tfeak
Copy link

tfeak commented Apr 25, 2016

I was experimenting with this on a development environment and had a situation where these configuration options were not sufficient to stop the tool from updating the write throughput.

under [default_options] I have both
max-provisioned-writes: 2
enable-writes-up-scaling: false

And yet, the following occurred in the logs:
[ec2-user@ip-192-168-11-111 ~]$ dynamic-dynamodb --config test.conf
2016-04-25 17:18:48,623 - dynamic-dynamodb - INFO - Dev.PlayerInventory - Consumed read units: 20.53%
2016-04-25 17:18:48,648 - dynamic-dynamodb - INFO - Dev.PlayerInventory - Consumed write units: 0.00%
2016-04-25 17:18:48,677 - dynamic-dynamodb - INFO - Dev.PlayerInventory - Consumed read units: 20.53%
2016-04-25 17:18:48,686 - dynamic-dynamodb - INFO - Dev.PlayerInventory - Read throttle count: 10
2016-04-25 17:18:48,702 - dynamic-dynamodb - INFO - Dev.PlayerInventory - Throttled read percent by provision: 0.33%
2016-04-25 17:18:48,726 - dynamic-dynamodb - INFO - Dev.PlayerInventory - Throttled read percent by consumption: 1.62%
2016-04-25 17:18:48,727 - dynamic-dynamodb - INFO - Dev.PlayerInventory - Consecutive read checks 1/1
2016-04-25 17:18:48,756 - dynamic-dynamodb - INFO - Dev.PlayerInventory - Consumed write units: 0.00%
2016-04-25 17:18:48,771 - dynamic-dynamodb - INFO - Dev.PlayerInventory - Write throttle count: 0
2016-04-25 17:18:48,795 - dynamic-dynamodb - INFO - Dev.PlayerInventory - Throttled write percent by provision: 0.00%
2016-04-25 17:18:48,823 - dynamic-dynamodb - INFO - Dev.PlayerInventory - Throttled write percent by consumption: 0.00%
2016-04-25 17:18:48,824 - dynamic-dynamodb - INFO - Dev.PlayerInventory - Scaling down writes is not done when usage is at 0%
2016-04-25 17:18:48,824 - dynamic-dynamodb - INFO - Will not increase writes over max-provisioned-writes limit (2 writes)
2016-04-25 17:18:48,824 - dynamic-dynamodb - INFO - Dev.PlayerInventory - Consecutive write checks 0/1
2016-04-25 17:18:48,824 - dynamic-dynamodb - INFO - Dev.PlayerInventory - Changing provisioning to 5 read units and 2 write units
2016-04-25 17:18:48,863 - dynamic-dynamodb - INFO - Dev.PlayerInventory - Updating provisioning to 5 reads and 10 writes

You'll notice that it indicates it will not increase writes over max-provisioned-writes, but it does update it anyway. Furthermore, the consumed write units was 0.00%. at the time, so there was no need to increase it.

This happened while I was experimenting with lookback-window-start value. I tried setting the value to 1-2 minutes, which seems to be too small and caused inaccurate measurement of the Consumed Read Units. I can reproduce this behavior with dry-runs at will by setting this value to 2 or 1. At 3, the behavior goes away.

@tfeak
Copy link
Author

tfeak commented Apr 25, 2016

As a side note, you might consider updating the documentation on lookback-window-start. It appears unstable below a value of 3, which would also match with my Cloudwatch experience. Realistically dynamo cloudwatch values don't seem to be reliably available prior to that and the edge case doesn't appear to be handled.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant