Brock Noland created FLUME-1432:
-----------------------------------

             Summary: FileChannel should replay logs in order of them being 
written
                 Key: FLUME-1432
                 URL: https://issues.apache.org/jira/browse/FLUME-1432
             Project: Flume
          Issue Type: Bug
          Components: Channel
            Reporter: Brock Noland
            Assignee: Brock Noland


Currently we replay the logs one at a time causing us to build large queue of 
pending takes. Additionally, there maybe scenerios where this simply will not 
work. Take a queue which is full (via checkpoint) and two files:

1:
put
commit
put
commit

2:
take
commit
take
commit
take
commit

Replaying these logs in the current form will not work because we will we try 
and reply the puts first and exceed our queue size. For these reasons, we 
should replay them in the order they were written.

However, at present there is no way to do this. Currently we have two 
identifers in each record we write, a transaction id and a timestamp. Neither 
can be used in replaying logs in order because the transaction id is created 
when we create the transaction not when we write to the log. Someone could 
create transaction, sleep, and then do work. The timestamp its not granular 
enough as we could have duplicates.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to