Comments (4)
Hey, yes you're completely right, it is a bug.
I actually noticed that recently and have fixed it on an experimental branch where i am performing a large refactor. https://github.com/channl/dynamodb-lambda-autoscale/blob/experimental/src/ProvisionedThroughtputCalculator.js You can see my change here. Unfortunately just at the moment I have zero spare time to look into this but happy to accept a simple pull request. Otherwise i will soon be merging my refactor to main once fully tested.
from dynamodb-lambda-autoscale.
Hi,
thank's for your feedback.
I compared the files and tried to find a solution.
Unfortunately I have to use your commit dccd224 because the newer commits do not work for me. You have reduced the number of packages in packages.json. When running "npm run build" I'm getting a lot of error, e.g. "gulp dist" not found. Do you already know these problems, too?
So I tried to fix the issue with the old commit where src/utils/ThroughputUtils.js doesn't exists. But src/utils/Throughput.js consists of similar code.
I introduced a new variable for writes:
let isWriteDecrementAllowed = adjustmentContext.AdjustmentType === 'decrement' ? RateLimitedDecrement.isDecrementAllowed(data, adjustmentContext, d => this.calculateDecrementedWriteCapacityValue(d)) : true;
And then changed isAdjustmentAllowed with an addtional or operator:
let isAdjustmentAllowed = isAfterLastDecreaseGracePeriod && isAfterLastIncreaseGracePeriod && (isReadDecrementAllowed || isWriteDecrementAllowed);
I will let you know if this small fix works properly after doing some load test. If you already know that this won't work please let me know.
from dynamodb-lambda-autoscale.
Yea that doesn't look quite right to me because you would allow a decrement on read if either read or write decrement is allowed, and then the same for writes.
from dynamodb-lambda-autoscale.
I agree with you. I will probably wait till you merge the experimental branch into master because your refactoring is too big in order to select only specific piece of code from the experimental branch.
from dynamodb-lambda-autoscale.
Related Issues (20)
- How to scale down working HOT 1
- Minimum capacity ignored HOT 6
- [Discussion] Strategy with fixed values. HOT 5
- Incorporate throttled events into provisioning calculations
- Odd logging message & failure to increase throughput capacity HOT 1
- Add an SNS notification channel for increase / decrease throughput? HOT 7
- Table IOPS are currently being updated HOT 1
- Combine getmetricsstatistics into as few requests as possible
- Add circuit breaker logic
- Is there a setting to limit the number of downscales per day? HOT 1
- Configuration per table group HOT 4
- Would be nice to have a --dryRun feature
- Socket timeouts HOT 1
- Would be nice to have a provisioner that selects tables based on tags HOT 1
- Missing script build in package.json HOT 2
- AWS Officially releases native DynamoDB autoscaling HOT 13
- Lambda fails with error
- Configuration specific to env or tables HOT 4
- Allow more decreases per day as per docs HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dynamodb-lambda-autoscale.