[
https://issues.apache.org/jira/browse/HBASE-16507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15455853#comment-15455853
]
Stephen Yuan Jiang commented on HBASE-16507:
--------------------------------------------
I +1 in the RB. Since this patch contains some improvement in the rollback and
it is critical for the proc-V2-based AM implementation. I 'd like to see this
patch to be done to unblock the AM work.
However, I'd like to have additional JIRA to have DDL rollback to be
re-implemented in the future (preferably before 3.0 release - not have to be
2.0, could be 2.x)
"
A general comments (some from our private conversation):
I know from technical point of view, the DDL rollback code is tricky. However,
I think we do need to provide a robust way for users to rollback hanging or
transient failed DDL operation. We can have this patch committed and later
implement a better version of DDL rollback.
More comments:
- Direction should be trying to support robust rollback to all DDLs, instead of
remove it.
DDL rollback is part of database technology forever. I don't see any major
database technology not support rollback. Technical difficulty apart, we
should move to a direction that makes rollback more robust; instead of disallow
it - why split region has to be completed, even with all the errors, why not
allow it to rollback quick so users can start to access the region; if a create
table meets tons of issues, instead of hanging there forever or manual cleanup,
isn't "kill it and let the inconsistent state to be cleaned automatically" a
logic choice?
- We have already had DDL rollbacks in HBASE, cannot just reduce functionality
(a good functionality) due to complication of procedure implementation.
"
> Procedure v2 - Force DDL operation to always roll forward
> ---------------------------------------------------------
>
> Key: HBASE-16507
> URL: https://issues.apache.org/jira/browse/HBASE-16507
> Project: HBase
> Issue Type: Sub-task
> Components: master, proc-v2
> Affects Versions: 2.0.0
> Reporter: Matteo Bertozzi
> Assignee: Matteo Bertozzi
> Priority: Minor
> Fix For: 2.0.0
>
> Attachments: HBASE-16507-v0.patch, HBASE-16507-v1.patch
>
>
> Having rollback for DDLs was a bad idea.
> and it turns out to be an unexpected behavior for the user.
> DDLs only have transient errors (e.g. zk, hdfs, meta down)
> if we abort/rollback on a transient failure the user will get a failure,
> and it is not clear why the user needs to retry the command when the system
> can do that.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)