You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flume.apache.org by "will zhang (JIRA)" <ji...@apache.org> on 2017/08/18 01:55:01 UTC

[jira] [Created] (FLUME-3149) reduce cpu cost for file source transfer while still maintaining reliability

will zhang created FLUME-3149:
---------------------------------

             Summary: reduce cpu cost for file source transfer while still maintaining reliability
                 Key: FLUME-3149
                 URL: https://issues.apache.org/jira/browse/FLUME-3149
             Project: Flume
          Issue Type: Improvement
          Components: File Channel
            Reporter: will zhang


File channel tracks transferred events and use transnational mechanism to make transfer recoverable. However, it increases CPU cost due to frequent system calls like write, read, etc. The Cpu cost could be very high if the transfer rate is high. In contrast, Memory channel  has no such issue which requires only about 10% of CPU cost  in the same environment but it's not recovered if the system is down accidentally.
For sources like taildir/spooldir, I propose we could track offsets of file and store them locally to achieve reliability while still using memory channel to reduce CPU cost. Actually, I have already implemented this feature in our production which reduces CPU cost by about 90 percent.
Please let me know if it's worthwhile to have this feature in community. Thank you.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)