[
https://issues.apache.org/jira/browse/KAFKA-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14328260#comment-14328260
]
Aditya Auradkar commented on KAFKA-1546:
----------------------------------------
I do have a concern about the heuristic. [~jkreps] Using your example:
"if(!fetchedData.readToEndOfLog)
this.lagBegin = System.currentTimeMillis()
else
this.lagBegin = -1
Then the liveness criteria is
partitionLagging = this.lagBegin > 0 && System.currentTimeMillis() -
this.lagBegin > REPLICA_LAG_TIME_MS"
The time counter starts when the read doesn't go the end of log and only stops
when it does reach the end. In this case, the lag measures the absolute
duration of time for which this replica is lagging but not how far behind it is
in terms of applying commits. For example a replica could be catching up
quickly but the "replica.lag.max.ms" counter would still increase until it
fully catches up and then it will abruptly drop to zero.
> Automate replica lag tuning
> ---------------------------
>
> Key: KAFKA-1546
> URL: https://issues.apache.org/jira/browse/KAFKA-1546
> Project: Kafka
> Issue Type: Improvement
> Components: replication
> Affects Versions: 0.8.0, 0.8.1, 0.8.1.1
> Reporter: Neha Narkhede
> Assignee: Aditya Auradkar
> Labels: newbie++
>
> Currently, there is no good way to tune the replica lag configs to
> automatically account for high and low volume topics on the same cluster.
> For the low-volume topic it will take a very long time to detect a lagging
> replica, and for the high-volume topic it will have false-positives.
> One approach to making this easier would be to have the configuration
> be something like replica.lag.max.ms and translate this into a number
> of messages dynamically based on the throughput of the partition.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)