[ https://issues.apache.org/jira/browse/HBASE-7801?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13630621#comment-13630621 ]
Ted Yu commented on HBASE-7801: ------------------------------- In {code} + public static Durability valueOf(int ordinal) { {code} {code} + default: return null; {code} Should exception be raised above ? Otherwise we would see NPE somewhere else. {code} + * Note that the items must be sorted in order of increasing durability {code} So the durability of SKIP_WAL is higher than that of USE_DEFAULT ? {code} + Durability tmpDur = m.getDurability(); + if (tmpDur.ordinal() > durability.ordinal()) { + durability = tmpDur; + } if (m.getWriteToWAL()) { {code} Should the m.getWriteToWAL() call be replaced with m.getDurability() ? {code} + case SYNC_WAL: + case FSYNC_WAL: + // sync the WAL edit (SYNC and FSYNC treated the same for now) + this.log.sync(txid); + break; {code} Minor: it would be easier to maintain if the above two conditions are separated, with same this.log.sync(txid) call. > Allow a deferred sync option per Mutation. > ------------------------------------------ > > Key: HBASE-7801 > URL: https://issues.apache.org/jira/browse/HBASE-7801 > Project: HBase > Issue Type: Sub-task > Affects Versions: 0.94.6, 0.95.0 > Reporter: Lars Hofhansl > Assignee: Lars Hofhansl > Fix For: 0.98.0, 0.94.7, 0.95.1 > > Attachments: 7801-0.94-v1.txt, 7801-0.94-v2.txt, 7801-0.94-v3.txt, > 7801-0.94-v4.txt, 7801-0.94-v5.txt, 7801-0.96-full-v2.txt, > 7801-0.96-full-v3.txt, 7801-0.96-full-v4.txt, 7801-0.96-full-v5.txt, > 7801-0.96-v10.txt, 7801-0.96-v1.txt, 7801-0.96-v6.txt, 7801-0.96-v7.txt, > 7801-0.96-v8.txt, 7801-0.96-v9.txt > > > Won't have time for parent. But a deferred sync option on a per operation > basis comes up quite frequently. > In 0.96 this can be handled cleanly via protobufs and 0.94 we can have a > special mutation attribute. > For batch operation we'd take the safest sync option of any of the mutations. > I.e. if there is at least one that wants to be flushed we'd sync the batch, > if there's none of those but at least one that wants deferred flush we defer > flush the batch, etc. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira