[ 
https://issues.apache.org/jira/browse/HBASE-15014?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15066139#comment-15066139
 ] 

Anoop Sam John commented on HBASE-15014:
----------------------------------------

Before patch we were not considering cells of METAFAMILY for possible exclusion 
mean it will be there in final List.  Now those cells will never get into the 
new list.    But will it be an issue?  I know we use these cells in 
Replication.   But this patch is in WAL splitter in recovery path.

> 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
>          Components: MTTR, Recovery, wal
>    Affects Versions: 1.2.0
>            Reporter: Elliott Clark
>            Assignee: Elliott Clark
>            Priority: Critical
>             Fix For: 2.0.0, 1.2.0, 1.3.0
>
>         Attachments: HBASE-15014-v1.patch, 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)

Reply via email to