[
https://issues.apache.org/jira/browse/HBASE-11511?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14061315#comment-14061315
]
stack commented on HBASE-11511:
-------------------------------
Before we would sync all outstanding edits. Now when we flush we flush just
the start flush tx?
- if (wal != null && !shouldSyncLog()) wal.sync();
+ if (wal != null) {
+ try {
+ wal.sync(trxId); // ensure that flush marker is sync'ed
+ } catch (IOException ioe) {
+ LOG.warn("Unexpected exception while log.sync(), ignoring.
Exception: "
+ + StringUtils.stringifyException(ioe));
+ }
+ }
That is ok? What if an edit after the start flush edit was added?
Is this last line in the right location? Should it be inside the bracket?
+ }
wal.abortCacheFlush(this.getRegionInfo().getEncodedNameAsBytes());
... or are we still dealing with failure at this point?
Patch looks good otherwise.
> Write flush events to WAL
> -------------------------
>
> Key: HBASE-11511
> URL: https://issues.apache.org/jira/browse/HBASE-11511
> Project: HBase
> Issue Type: Sub-task
> Reporter: Enis Soztutar
> Assignee: Enis Soztutar
> Attachments: hbase-11511_v1.patch, hbase-11511_v1.patch,
> hbase-11511_v2.patch
>
>
> We used to write COMPLETE_FLUSH event to WAL until it got removed in 0.96 in
> issue HBASE-7329.
> For secondary region replicas, it is important to share the data files with
> the primary region. So we should reintroduce the flush wal markers so that
> the secondary region replicas can pick up the newly flushed files from the
> WAL and start serving data from those.
> A design doc which explains the context a bit better can be found in
> HBASE-11183.
--
This message was sent by Atlassian JIRA
(v6.2#6252)