Implement exponential backoff for resync retries #252

Merged
lx merged 1 commit from bug/resync-exponential-backoff into feature/opentelemetry 2022-03-14 10:47:40 +00:00
Owner
No description provided.
lx force-pushed bug/resync-exponential-backoff from 16fad698b0 to beed72f128 2022-02-25 20:04:51 +00:00 Compare
lx force-pushed bug/resync-exponential-backoff from e18d4fd811 to 68b2693cd4 2022-03-01 11:02:15 +00:00 Compare
quentin added the
kind
performance
label 2022-03-03 13:51:30 +00:00
quentin approved these changes 2022-03-04 09:50:07 +00:00
quentin left a comment
Owner

LGTM

LGTM
@ -40,3 +40,3 @@
pub const BACKGROUND_WORKERS: u64 = 1;
pub const BACKGROUND_TRANQUILITY: u32 = 3;
pub const BACKGROUND_TRANQUILITY: u32 = 2;
Owner

Just curiosity, but is there a reason why you decreased it?

Just curiosity, but is there a reason why you decreased it?
@ -563,0 +575,4 @@
if let Some(ec) = self.resync_errors.get(hash.as_slice())? {
let ec = ErrorCounter::decode(ec);
if now < ec.next_try() {
// if next retry after an error is not yet,
Owner

I know understand that your correctness PR depends on this one.

I know understand that your correctness PR depends on this one.
lx added
kind
wrong-behavior
and removed
kind
performance
labels 2022-03-09 16:20:59 +00:00
lx added 29 commits 2022-03-14 10:41:29 +00:00
Test WinSCP
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2a3afcaf65
Functional tests for admin commands
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
c00b2c9948
add support for kubernetes service discovery
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
9d44127245
This commit adds support to discover garage instances running in
kubernetes.

Once enabled by setting `kubernetes_namespace` and
`kubernetes_service_name` garage will create a Custom Resources
`garagenodes.deuxfleurs.fr` with nodes public key as the resource name.
and IP and Port information as spec in the namespace configured by
`kubernetes_namespace`.

For discovering nodes the resources are filtered with the optionally set
`kubernetes_service_name` which sets a label
`garage.deuxfleurs.fr/service` on the resources.

This allows to separate multiple garage deployments in a single
namespace.

the `kubernetes_skip_crd` variable allows to disable the creation of the
CRD by garage itself. The user must deploy this manually.
- Global dependencies updated in Cargo.lock
- New module created in src/admin to host:
  - the (future) admin REST API
  - the metric collection
- add configuration block

No metrics implemented yet
Make admin server optional
Some checks reported errors
continuous-integration/drone/push Build was killed
continuous-integration/drone/pr Build was killed
9b2b531f4d
Update Grafana dashboard
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
bfb4353df5
Implement exponential backoff for resync retries
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
fe62d01b7e
lx merged commit fe62d01b7e into feature/opentelemetry 2022-03-14 10:47:40 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Deuxfleurs/garage#252
No description provided.