[
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)