-
Notifications
You must be signed in to change notification settings - Fork 89
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[server][metrics] Fix sawtooth behavior on follower lag monitoring (#…
…1305) * [server][metrics] Fix sawtooth behavior on follower lag monitoring For AA stores heartbeats from all peer colos are forwarded to the local follower replica, and the last received timestamp heartbeat is reported. The effect of this is that if one colo is lagging, this will cause the metric to jump around as unhealthy heartbeats are interleaved with healthy ones. This change addresses that by having the follower strictly report only the highest timestamp amongst heartbeats it's recieved.
- Loading branch information
Showing
4 changed files
with
113 additions
and
83 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
24 changes: 24 additions & 0 deletions
24
...src/main/java/com/linkedin/davinci/stats/ingestion/heartbeat/HeartbeatTimeStampEntry.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
package com.linkedin.davinci.stats.ingestion.heartbeat; | ||
|
||
public class HeartbeatTimeStampEntry { | ||
/** | ||
* Whether this heartbeat entry is for a partition which is ready to serve | ||
*/ | ||
public final boolean readyToServe; | ||
|
||
/** | ||
* Whether this heartbeat entry was consumed from input or if the system initialized it as a default entry | ||
*/ | ||
public final boolean consumedFromUpstream; | ||
|
||
/** | ||
* The timestamp associated with this entry | ||
*/ | ||
public final long timestamp; | ||
|
||
public HeartbeatTimeStampEntry(long timestamp, boolean readyToServe, boolean consumedFromUpstream) { | ||
this.readyToServe = readyToServe; | ||
this.consumedFromUpstream = consumedFromUpstream; | ||
this.timestamp = timestamp; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.