Steve Loughran created YARN-4716:
------------------------------------

             Summary: TimelineClient to implement Flushable; propagate to writer
                 Key: YARN-4716
                 URL: https://issues.apache.org/jira/browse/YARN-4716
             Project: Hadoop YARN
          Issue Type: Sub-task
          Components: timelineserver
    Affects Versions: 2.8.0
            Reporter: Steve Loughran


I need a {{flush()}} operation in the timeline client.  Knowing the lifecycle 
of my app, I do explicitly want to flush up events at certain points (app start 
event, app end, without relying on an async flush client)

Right now, in tests, the time it takes for an event to propagate is: flush 
delay + scan delay, you are looking at 2 seconds minimum, per test case, with 
less deterministic outcomes.

In production, those big app lifecycle events are so important my client code 
currently explicitly flushes my own event queue, and expects them to reach the 
destination

With the filesystem writer, I've lost those durability guarantees.

Implementing {{Flushable.flush()}} would let my app tell the timeline client to 
write; it'd be a no-op on the http client, but for the filesystem writer (or 
any other async writer), it'd be expected to force a write to the durable 
medium.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to