DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
| Table of Contents |
|---|
This page is meant as a template for writing a KIP. To create a KIP choose Tools->Copy on this page and modify with your content and replace the heading with the next KIP number and a description of your issue. Replace anything in italics with your own description.
Status
Current state: DraftUnder discussion
Discussion thread: here [Change the link from the KIP proposal email archive to your own email thread]
JIRA: here
Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).
...
The following new configuration properties will be added to `DistributedConfig`:
| Property | Type | Default | Valid Value | Description |
|---|---|---|---|---|
status.storage.retry.max.retries | int | 5 | [0, MAX_INT] | Maximum number of retry attempts before giving up |
status.storage.retry.initial.backoff.ms | long | 300 | [0, MAX_LONG] | Initial backoff delay in milliseconds |
status.storage.retry.max.backoff.ms | long | 10000 | [0, MAX_LONG] | Maximum backoff delay cap in milliseconds |
status.storage.retry.backoff.multiplier | double | 2.0 | [1.0, ∞[ | Multiplier applied to backoff after each attempt |
status.storage.retry.jitter.factor | double | 0.25 | [0.0, 1.0] | Jitter factor applied to backoff to add randomness |
New JMX Metrics
New metrics will be exposed under the `status-backing-store-metrics` group:
| Metric Name | Type | Description |
|---|---|---|
status-update-retry-total | Counter | Total number of retry attempts for status updates |
status-update-failure-total | Counter | Total number of status updates that failed after all retries |
status-update-success-total | Counter | Total number of successful status updates |
Proposed Changes
1. Retry Configuration in DistributedConfig
...
A new `StatusBackingStoreMetrics` class will be created following the pattern of `ErrorHandlingMetrics`:
| Code Block | ||
|---|---|---|
| ||
public class StatusBackingStoreMetrics implements AutoCloseable {
private final ConnectMetrics.MetricGroup metricGroup;
private final Sensor retries;
private final Sensor failures;
private final Sensor successes;
public void recordRetry() { retries.record(); }
public void recordFailure() { failures.record(); }
public void recordSuccess() { successes.record(); }
}
|
...