hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stephen Yuan Jiang (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (HBASE-17149) Procedure v2 - Fix nonce submission
Date Thu, 15 Dec 2016 20:02:59 GMT

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

Stephen Yuan Jiang edited comment on HBASE-17149 at 12/15/16 8:02 PM:
----------------------------------------------------------------------

The UT failure is unrelated to this change.

The javadoc warning (basically, in the comments,@Override appears) - we can either ignore
or make the comment simpler.  

I am not quite understand the FindBugs warning by looking at the code (maybe it complains
that the 'completed' map is 100% sure that the key is missing when reaching to line 745):

{code}
  public void setFailureResultForNonce(final NonceKey nonceKey, final String procName,

    final User procOwner, final IOException exception) {

    if (nonceKey == null) return;

    final Long procId = nonceKeysToProcIdsMap.get(nonceKey);

    if (procId == null || completed.containsKey(procId)) return;

    final long currentTime = EnvironmentEdgeManager.currentTime();

    final ProcedureInfo result = new ProcedureInfo(procId.longValue(),

      procName, procOwner != null ? procOwner.getShortName() : null,

      ProcedureUtil.convertToProcedureState(ProcedureState.ROLLEDBACK),

      -1, nonceKey, exception, currentTime, currentTime, null);

    completed.putIfAbsent(procId.longValue(), result);  <== Line 745

  }
{code}

[~stack], any insight?  If you don't see issue either, then we can commit.


was (Author: syuanjiang):
The UT failure is unrelated to this change.

The javadoc warning (basically, in the comments,@Override appears) - we can either ignore
or make the comment simpler.  

I am not quite understand the FindBugs warning by looking at the code (maybe it complains
that the 'completed' map is 100% sure that the key is missing when reaching to line 745):

{code}
  public void setFailureResultForNonce(final NonceKey nonceKey, final String procName,

    final User procOwner, final IOException exception) {

    if (nonceKey == null) return;

    final Long procId = nonceKeysToProcIdsMap.get(nonceKey);

    if (procId == null || completed.containsKey(procId)) return;

    final long currentTime = EnvironmentEdgeManager.currentTime();

    final ProcedureInfo result = new ProcedureInfo(procId.longValue(),

      procName, procOwner != null ? procOwner.getShortName() : null,

      ProcedureUtil.convertToProcedureState(ProcedureState.ROLLEDBACK),

      -1, nonceKey, exception, currentTime, currentTime, null);

    completed.putIfAbsent(procId.longValue(), result);  <== Line 745

  }
{code}


> Procedure v2 - Fix nonce submission
> -----------------------------------
>
>                 Key: HBASE-17149
>                 URL: https://issues.apache.org/jira/browse/HBASE-17149
>             Project: HBase
>          Issue Type: Sub-task
>          Components: proc-v2
>    Affects Versions: 2.0.0, 1.3.0, 1.4.0, 1.1.7, 1.2.4
>            Reporter: Matteo Bertozzi
>            Assignee: Matteo Bertozzi
>         Attachments: nonce.patch
>
>
> instead of having all the logic in submitProcedure(), split in registerNonce() + submitProcedure().
> In this case we can avoid calling the coprocessor twice and having a clean submit logic
knowing that there will only be one submission.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message