[ https://issues.apache.org/jira/browse/HBASE-21721?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17173573#comment-17173573 ]
Anoop Sam John commented on HBASE-21721: ---------------------------------------- Pushed to trunk, branch-2, branch-2.3 [~Bo Cui] Can u pls raise PR for branch-2.2 as it is not possible to cherry-pick to here. Conflicts are coming. Also this needs a branch-1 PR also. > FSHLog : reduce write#syncs() times > ----------------------------------- > > Key: HBASE-21721 > URL: https://issues.apache.org/jira/browse/HBASE-21721 > Project: HBase > Issue Type: Improvement > Affects Versions: 1.3.1, 2.1.1, master, 2.2.3 > Reporter: Bo Cui > Assignee: Bo Cui > Priority: Major > Fix For: 3.0.0-alpha-1, 2.3.1, 1.7.0, 2.4.0, 2.2.6 > > > the number of write#syncs can be reduced by updating the > highestUnsyncedSequence: > before write#sync(), get the current highestUnsyncedSequence > after write#sync, highestSyncedSequence=highestUnsyncedSequence > > {code:title=FSHLog.java|borderStyle=solid} > // Some comments here > public void run() > { > long currentSequence; > while (!isInterrupted()) { > int syncCount = 0; > try { > while (true) { > ... > try { > Trace.addTimelineAnnotation("syncing writer"); > long unSyncedFlushSeq = highestUnsyncedSequence; > writer.sync(); > Trace.addTimelineAnnotation("writer synced"); > if( unSyncedFlushSeq > currentSequence ) currentSequence = > unSyncedFlushSeq; > currentSequence = updateHighestSyncedSequence(currentSequence); > } catch (IOException e) { > LOG.error("Error syncing, request close of WAL", e); > lastException = e; > } catch (Exception e) { > ... > } > } > {code} > Add code > long unSyncedFlushSeq = highestUnsyncedSequence; > if( unSyncedFlushSeq > currentSequence ) currentSequence = unSyncedFlushSeq; -- This message was sent by Atlassian Jira (v8.3.4#803005)