You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "stack (JIRA)" <ji...@apache.org> on 2017/01/04 18:36:58 UTC

[jira] [Issue Comment Deleted] (HBASE-17407) Correct update of maxFlushedSeqId in HRegion

     [ https://issues.apache.org/jira/browse/HBASE-17407?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack updated HBASE-17407:
--------------------------
    Comment: was deleted

(was: Can I help?

As per [~Apache9], onlyIfGreater seems odd.

Some backgound if it will help:

The  map on the regionserver of region+family to lowest sequence id is used in two places. Locally for figuring when it is safe to let go of a regionservers WALs and then, remotely as on every heartbeat to the master, we send it our inmemory map. The master then keeps up a running accounting of the oldest sequenceid/edit in memstore for each familiy of each region. It comes in handy at crash time when replaying WALs. If we see an edit for a family that has a sequenceid that is less than what we have in our inmemory map for a particular region+family, then we skip replaying the edit since we know it already persisted (out in an hfile). If lowest sequenceid goes backwards, thats not the end of the world; we will over-replay. If the sequenceid accounting advances when it should not, we'll skip the replay of edits that should have been replayed (dataloss).

Our [~Apache9] knows this area of the code because he added finesse backfilling accounting by column family (where previous we only did accounting at the coarser region granularity). Finding bugs in implementation is awkward given the number of moving pieces and the offset between writing and recovery.)

> Correct update of maxFlushedSeqId in HRegion
> --------------------------------------------
>
>                 Key: HBASE-17407
>                 URL: https://issues.apache.org/jira/browse/HBASE-17407
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Eshcar Hillel
>
> The attribute maxFlushedSeqId in HRegion is used to track the max sequence id in the store files and is reported to HMaster. When flushing only part of the memstore content this value might be incorrect and may cause data loss.



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