Skip to content

Commit

Permalink
feat!: Add monitoring of Scaling Long Running Operations (#223)
Browse files Browse the repository at this point in the history
* feat!: Store LRO ID in state object

BREAKING CHANGE: Spanner State Store requires DB schema update.

Store the Scaling Operation ID in the State object and
check it next time scaler runs.

This allows scaler to pull operation failure messages from the LRO, and
also to use the LRO completion time as the last successful scaling time
for cooldown.

Update readme and terraform with new Spanner schema defs

```sql
ALTER TABLE spannerAutoscaler ADD COLUMN IF NOT EXISTS lastScalingCompleteTimestamp TIMESTAMP;
ALTER TABLE spannerAutoscaler ADD COLUMN IF NOT EXISTS scalingOperationId STRING(MAX);
```

* fix: Update package-lock.json

fix: Update package-lock.json

* fix: await on async write to spanner

* fix: review comments.
  • Loading branch information
nielm authored Mar 19, 2024
1 parent 96d6089 commit 41ac5e7
Show file tree
Hide file tree
Showing 20 changed files with 1,359 additions and 563 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,8 @@ used to monitor the behavior of the autoscaler, and to configure alerts.
maximum configured size.
* `WITHIN_COOLDOWN` - when the instance has been recently rescaled,
and the autoscaler is waiting for the cooldown period to end.
* `IN_PROGRESS` - when an instance scaling operation is still
ongoing.

## Configuration

Expand Down
12 changes: 6 additions & 6 deletions src/autoscaler-common/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 6 additions & 6 deletions src/forwarder/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 41ac5e7

Please sign in to comment.