[
https://issues.apache.org/jira/browse/HBASE-20828?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16559208#comment-16559208
]
stack commented on HBASE-20828:
-------------------------------
Explain that there are "two dimensions" of exclusivity when we talk about
Procedure execution ([~Apache9]'s words). There is exclusion around the entity
that the Procedure is working on -- the Region, etc. -- and for this the
framework has a locking facility (hasLock, etc.). But then there is also
nothing in the framework currently to prevent multi-threaded execution of
steps, possible if one worker thread execution runs into a "suspend". See
HBASE-20939 for discussion. The case is rare. Ideally the framework would
ensure single-threaded execution but for now, until we get more experience, see
the 'trick' in HBASE-20939.
> Finish-up AMv2 Design/List of Tenets/Specification of operation
> ---------------------------------------------------------------
>
> Key: HBASE-20828
> URL: https://issues.apache.org/jira/browse/HBASE-20828
> Project: HBase
> Issue Type: Umbrella
> Components: amv2
> Reporter: stack
> Priority: Major
>
> AMv2 is missing specification. There are too many grey-areas still. Also
> missing are a concise listing of the tenets of AMv2 operation. Here are some
> examples:
> * HBASE-19529 "Handle null states in AM": Asks how we should treat null
> state in hbase:meta. What does it 'mean'. We seem to treat it differently
> dependent on context. Needs clarification. [~Apache9] recently asked similar
> about the meaning of OFFLINE.
> * Logging needs to have a particular form to help trace Procedure progress;
> needs a write-up.
> Lets fill in items to address in this umbrella issue. Can address in
> subissues and produce specification doc too. We have the below but these are
> mostly (incomplete) description for devs on pv2 and amv2; the specification
> is missing:
> http://hbase.apache.org/book.html#pv2
> http://hbase.apache.org/book.html#amv2
> (Other areas include addressing what is up w/ rollback -- when, how much, and
> when it is not appropriate -- as well as recommendation on Procedures
> coarseness, locking -- is it ok to lock table in alter table procedure for
> the life of the procedure? -- and so on).
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)