The connector sends a replication_latency e2e metric based on the WRITETIME property that originates from a mutation on the commit log. For backfilled items, the writetime is not indicative of latency as those are historical items and will lead to skewed metric. The connector sends the metric only if the property exists.
Notes:
Changing the tsMicro to Long or Optional<Long> would require changing the agent3/4/dse implementations. It is also unnecessary because typical a timestamp should be available but I'm making an exception for backfilled items
AbstractPulsarMutationSender is not unit test friendly so testing the WRITETIME is skipped would require lots of refactoring, I don't think it is worth it now.
The connector sends a
replication_latency
e2e metric based on theWRITETIME
property that originates from a mutation on the commit log. For backfilled items, the writetime is not indicative of latency as those are historical items and will lead to skewed metric. The connector sends the metric only if the property exists.Notes:
Long
orOptional<Long>
would require changing the agent3/4/dse implementations. It is also unnecessary because typical a timestamp should be available but I'm making an exception for backfilled itemsAbstractPulsarMutationSender
is not unit test friendly so testing theWRITETIME
is skipped would require lots of refactoring, I don't think it is worth it now.