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

Mike Drob commented on HBASE-18893:
-----------------------------------

bq. These checks done still?
modifyTable calls sanityCheckTableDescriptor which does those same checks and 
more

bq. CPs must not intercept preModifyTable and figure what sort of op is ongoing 
now we've removed specialized methods/procedures?
assuming s/not/now

Yes, but they kind of had to do that anyway after shell changed to always call 
modifyTable, and users could always call modifyTable themselves to do column 
add, so the CPs needed to be aware of the possibility anyway. This makes 
removes an easy trap for CP developers to fall into where they miss ops.

bq.  the check is now coarser, checking if user has perm to modify table at all.
yep. not sure if this affect phoenix when trying to create views or something 
like that. i know they do some custom stuff with column handling.

bq. On test removal, we lose coverage? Should the tests rather be adapted to 
use modifytable instead of invocation of the purposed methods/procedures? This 
could be a follow-on.
modifytable tests already have add/delete column tests. we're mostly losing 
tests that the procedures would behave correctly in case of recover/double 
exec, which isn't relevant after we delete the procs.

> Remove Add/Modify/DeleteColumnFamilyProcedure in favor of using 
> ModifyTableProcedure
> ------------------------------------------------------------------------------------
>
>                 Key: HBASE-18893
>                 URL: https://issues.apache.org/jira/browse/HBASE-18893
>             Project: HBase
>          Issue Type: Bug
>          Components: Coprocessors, master
>            Reporter: Mike Drob
>            Assignee: Mike Drob
>             Fix For: 2.0.0-alpha-4
>
>         Attachments: HBASE-18893.patch, HBASE-18893.v2.patch
>
>
> The shell changed from using separate add/modify/delete column calls to 
> funneling everything through modify table for performance reasons. We know 
> that using modify table works for everything. Let's drop the old code for 
> Add/Modify/Delete Column so that we have a lower maintenance burden and fewer 
> code paths to reason about.
> -------- Was: shell 'alter' command no longer distinguishes column 
> add/modify/delete
> After HBASE-15641 all 'alter' commands go through a single modifyTable call 
> at the end, so we no longer can easily distinguish add, modify, and delete 
> column events. This potentially affects coprocessors that needed the update 
> notifications for new or removed columns.
> Let's let the shell still make separate behaviour calls like it did before 
> without undoing the batching that seems pretty useful.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to