You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Stephen Yuan Jiang (JIRA)" <ji...@apache.org> on 2016/08/31 00:18:20 UTC
[jira] [Commented] (HBASE-16532) Procedure-V2: Enforce procedure
ownership at construction
[ https://issues.apache.org/jira/browse/HBASE-16532?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15450569#comment-15450569 ]
Stephen Yuan Jiang commented on HBASE-16532:
--------------------------------------------
I have no problem for this patch to go in. By the way, is it possible that 1.x ServerCrashProcedure upgrade to later version and hit this check?
However, I think we probably should improve in this part of code. Today, (1). we have to repeat the setOwner code {{this.setOwner(env.getRequestUser().getShortName());}} in ALL procedure constructor; and (2) we have to store {{required UserInformation user_info = 1;}} in all procedures that run coprocessor inside procedure (those repeated {{this.user = env.getRequestUser();}}, {{.setUserInfo(MasterProcedureUtil.toProtoUserInfo(this.user))}}, {{user = MasterProcedureUtil.toUserInfo(state.getUserInfo());}} code)
- code duplication is one major problem for software development, the 2 JIRAs mentioned in this JIRA shows that :-(
My suggestion is to simplify this: instead of all those duplicate code, in {{ProcedureExecutor<TEnvironment>}} class, we should set procedure owner information in {{submitProcedure()}}. Therefore, we put code in one place and there is no need to duplicate or maybe forget to duplicate these logic in the future. (note: upgrade might be a problem if we removes user_info in protobuf)
> Procedure-V2: Enforce procedure ownership at construction
> ---------------------------------------------------------
>
> Key: HBASE-16532
> URL: https://issues.apache.org/jira/browse/HBASE-16532
> Project: HBase
> Issue Type: Bug
> Components: proc-v2
> Reporter: Ted Yu
> Assignee: Ted Yu
> Attachments: 16532.v1.txt, 16532.v2.txt, 16532.v3.txt
>
>
> HBASE-16520 (for TableBackupProcedure) and HBASE-16528 (for ServerCrashProcedure) were two recent JIRAs where procedure ownership is set at time of construction.
> This JIRA continues the discussion toward the end of HBASE-16520.
> Proposal is to enforce procedure ownership for all the procedures.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)