[
https://issues.apache.org/jira/browse/HBASE-15014?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15064935#comment-15064935
]
stack commented on HBASE-15014:
-------------------------------
Came in with "HBASE-12405 WAL accounting by Store" which makes sense.
Patch looks good. How does it address issue? (dumb question).
This has to be public? Caller and called are in same package
public void setCells(ArrayList<Cell> cells) {
Otherwise +1 if it makes it faster.
> Fix filterCellByStore in WALsplitter is awful for performance
> -------------------------------------------------------------
>
> Key: HBASE-15014
> URL: https://issues.apache.org/jira/browse/HBASE-15014
> Project: HBase
> Issue Type: Bug
> Reporter: Elliott Clark
> Assignee: Elliott Clark
> Priority: Critical
> Attachments: HBASE-15014.patch
>
>
> Testing the latest 1.2 I see this when there is a regionserver that crashes.
> {code}
> Thread 921 (RS_LOG_REPLAY_OPS-hbase2698:16020-0-Writer-1):
> State: RUNNABLE
> Blocked count: 6354
> Waited count: 6249
> Stack:
> org.apache.hadoop.hbase.KeyValue.equals(KeyValue.java:1128)
> java.util.ArrayList.indexOf(ArrayList.java:317)
> java.util.ArrayList.contains(ArrayList.java:300)
> java.util.ArrayList.batchRemove(ArrayList.java:720)
> java.util.ArrayList.removeAll(ArrayList.java:690)
>
> org.apache.hadoop.hbase.wal.WALSplitter$LogRecoveredEditsOutputSink.filterCellByStore(WALSplitter.java:1529)
>
> org.apache.hadoop.hbase.wal.WALSplitter$LogRecoveredEditsOutputSink.append(WALSplitter.java:1557)
>
> org.apache.hadoop.hbase.wal.WALSplitter$WriterThread.writeBuffer(WALSplitter.java:1113)
>
> org.apache.hadoop.hbase.wal.WALSplitter$WriterThread.doRun(WALSplitter.java:1105)
>
> org.apache.hadoop.hbase.wal.WALSplitter$WriterThread.run(WALSplitter.java:1075)
> Thread 920 (RS_LOG_REPLAY_OPS-hbase2698:16020-0-Writer-0):
> State: TIMED_WAITING
> Blocked count: 17560
> Waited count: 19695
> Stack:
> java.lang.Object.wait(Native Method)
>
> org.apache.hadoop.hbase.wal.WALSplitter$WriterThread.doRun(WALSplitter.java:1093)
>
> org.apache.hadoop.hbase.wal.WALSplitter$WriterThread.run(WALSplitter.java:1075)
> Thread 919 (RS_LOG_REPLAY_OPS-hbase2698:16020-0):
> State: TIMED_WAITING
> Blocked count: 115
> Waited count: 976
> Stack:
> java.lang.Object.wait(Native Method)
>
> org.apache.hadoop.hbase.wal.WALSplitter$EntryBuffers.appendEntry(WALSplitter.java:944)
> org.apache.hadoop.hbase.wal.WALSplitter.splitLogFile(WALSplitter.java:365)
> org.apache.hadoop.hbase.wal.WALSplitter.splitLogFile(WALSplitter.java:236)
>
> org.apache.hadoop.hbase.regionserver.SplitLogWorker$1.exec(SplitLogWorker.java:104)
>
> org.apache.hadoop.hbase.regionserver.handler.WALSplitterHandler.process(WALSplitterHandler.java:72)
> org.apache.hadoop.hbase.executor.EventHandler.run(EventHandler.java:128)
>
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> java.lang.Thread.run(Thread.java:745)
> {code}
> This has been going on for >10 mins.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)