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

Duo Zhang commented on HBASE-21336:
-----------------------------------

Split the WALProcedureMap into two classes, one is still called 
WALProcedureMap, but much simpler, which is only used to track the loaded 
procedures, without maintaining the relationship of procedures. And another is 
called WALProcedureTree, in which we will build the tree for procedures, 
validate them, and provide the result to upper layer. I removed the wal replay 
order related UTs, as the current implementation does not guarantee any 
order(the sort is just for better logging, as in the debug log we can see 
procedure ids in an increasing order). As now we will restore the locks before 
actually executing the procedures, I do not think we need to guarantee any 
order when loading procedures.

The patch here is an initial version, will add more comments and UT in the next 
patch. Just want to see if it breaks any existing UTs.

Thanks.

> Simplify the implementation of WALProcedureMap
> ----------------------------------------------
>
>                 Key: HBASE-21336
>                 URL: https://issues.apache.org/jira/browse/HBASE-21336
>             Project: HBase
>          Issue Type: Sub-task
>          Components: proc-v2
>            Reporter: Duo Zhang
>            Assignee: Duo Zhang
>            Priority: Major
>             Fix For: 3.0.0, 2.2.0
>
>         Attachments: HBASE-21336.patch
>
>
> I do not think we need to implement the logic from such a low level, i.e, 
> building complicated linked list by hand, which makes it really hard to 
> understand.
> Let me try to implement it with existing data structures...



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to