Chukwa
  1. Chukwa
  2. CHUKWA-632

Logs getting lost in hbase using TsProcessor

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.5.0
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      When collector writes to hbase using TsProcessor, it is using timestamp as the key. If there are multiple log statements with the same timestamp, which is the key, it looses them in hbase.

      As a fix, I extended AbstractProcessor and built my key using timestamp and the AbstractProcessor.startOffset. But, for that, it has to be protected or a getter on it in AbstractProcessor class to be able to use it.

      Also, the way OutputCollector.collect method works, it might need to redo the way rowKey is created.

      1. patch.txt
        0.9 kB
        Abhijit Dhar

        Activity

        Eric Yang made changes -
        Status Patch Available [ 10002 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Eric Yang made changes -
        Assignee Abhijit Dhar [ abhijitdhar ]
        Abhijit Dhar made changes -
        Status Open [ 1 ] Patch Available [ 10002 ]
        Abhijit Dhar made changes -
        Attachment patch.txt [ 12522876 ]
        Abhijit Dhar made changes -
        Status Patch Available [ 10002 ] Open [ 1 ]
        Abhijit Dhar made changes -
        Status Open [ 1 ] Patch Available [ 10002 ]
        Affects Version/s 0.5.0 [ 12315030 ]
        Abhijit Dhar made changes -
        Field Original Value New Value
        Description When collector writes to hbase using TsProcessor, it is using timestamp as the key. If there are multiple log statements with the same timestamp, which is the key, it looses them in hbase.

        As a fix, I extended AbstractProcessor and built my key using timestamp and the AbstractProcessor.startOffset. But, for that, it has to be protected or a getter on it in AbstractProcessor class to be able to use it
        When collector writes to hbase using TsProcessor, it is using timestamp as the key. If there are multiple log statements with the same timestamp, which is the key, it looses them in hbase.

        As a fix, I extended AbstractProcessor and built my key using timestamp and the AbstractProcessor.startOffset. But, for that, it has to be protected or a getter on it in AbstractProcessor class to be able to use it.

        Also, the way OutputCollector.collect method works, it might need to redo the way rowKey is created.
        Abhijit Dhar created issue -

          People

          • Assignee:
            Abhijit Dhar
            Reporter:
            Abhijit Dhar
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development