[
https://issues.apache.org/jira/browse/HBASE-14949?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15052136#comment-15052136
]
Duo Zhang commented on HBASE-14949:
-----------------------------------
Oh, seems fine. {{DefaultMemStore}} uses a {{ConcurrentSkipListMap}},
{{KeyValueHeap}} uses a {{PriorityQueue}}. They both use a {{CellComparator}}
to compare entries and will replace old entry when equal. A {{CellComparator}}
first compares rowkey, then family, qualifier, timestamp, and last compares
sequence id. In our scenario, all of them are equal so the new entry will
overwrite the old entry.
Thanks.
> Skip duplicate entries when replay WAL.
> ---------------------------------------
>
> Key: HBASE-14949
> URL: https://issues.apache.org/jira/browse/HBASE-14949
> Project: HBase
> Issue Type: Sub-task
> Reporter: Heng Chen
> Attachments: HBASE-14949.patch, HBASE-14949_v1.patch
>
>
> As HBASE-14004 design, there will be duplicate entries in different WAL. It
> happens when one hflush failed, we will close old WAL with 'acked hflushed'
> length, then open a new WAL and write the unacked hlushed entries into it.
> So there maybe some overlap between old WAL and new WAL.
> We should skip the duplicate entries when replay. I think it has no harm to
> current logic, maybe we do it first.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)