[ https://issues.apache.org/jira/browse/HBASE-10001?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13827933#comment-13827933 ]
Nicolas Liochon edited comment on HBASE-10001 at 11/20/13 6:25 PM: ------------------------------------------------------------------- There is a bug linked to this: in HRegion#doMiniBatchMutation: we start with: {code}boolean walSyncSuccessful = false;{code} if the preBatch hook call byPass, we then return immediately, because of this: {code}if (coprocessorHost.preBatchMutate(miniBatchOp)) return 0L;{code} then the finally clause is executed with walSyncSuccessful set to false, and then we try to rollback the memstore. {code} if (!walSyncSuccessful) { rollbackMemstore(batchOp, familyMaps, firstIndex, lastIndexExclusive); } {code} In my load test, we're spending 15% of our time in the rollback. I can fix this in the coprocessor (by not setting bypass), but I think we should set the value of walSyncSuccessful later, just before we try to write something in the memstore: Any opinion? I can do the fix in HRegion#doMiniBatchMutation or in the coprocessor. was (Author: nkeywal): There is a bug linked to this: in HRegion#doMiniBatchMutation: we start with: ??boolean walSyncSuccessful = false;?? if the preBatch hook call byPass, we then return immediately, because of this: ?? if (coprocessorHost.preBatchMutate(miniBatchOp)) return 0L;?? then the finally clause is executed with ??walSyncSuccessful?? set to false, and then we try to rollback the memstore. In my load test, we're spending 15% of our time in the rollback. I can fix this in the coprocessor (by not setting bypass), but I think we should set the value of walSyncSuccessful later, just before we try to write something in the memstore. Any opinion? I can do the fix in HRegion#doMiniBatchMutation or in the coprocessor. > Add a coprocessor to help testing the performances without taking into > account the i/o > -------------------------------------------------------------------------------------- > > Key: HBASE-10001 > URL: https://issues.apache.org/jira/browse/HBASE-10001 > Project: HBase > Issue Type: Improvement > Components: test > Affects Versions: 0.98.0, 0.96.0, 0.94.13 > Reporter: Nicolas Liochon > Assignee: Nicolas Liochon > Priority: Minor > Fix For: 0.98.0, 0.96.1, 0.94.15 > > Attachments: 10001.v1.patch, 10001.v2.patch > > > We have a mockup to test only the client. If we want to include the network, > without beeing limited by the i/o, we don't have much tools. > This coprocessor helps to test this. > I put it in the main code as to make it usable without adding a jar... > I don't think it's possible avoid the WAL writes in the coprocessors. It > would be great to have it to simplify the test with any kind of client (i.e. > w/o changing the durability). -- This message was sent by Atlassian JIRA (v6.1#6144)