hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hadoop QA (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-13415) Procedure V2 - Use nonces for double submits from client
Date Wed, 08 Jul 2015 06:28:06 GMT

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

Hadoop QA commented on HBASE-13415:
-----------------------------------

{color:red}-1 overall{color}.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12744134/HBASE-13415.v1-master.patch
  against master branch at commit f5ad736282c8c9c27b14131919d60b72834ec9e4.
  ATTACHMENT ID: 12744134

    {color:green}+1 @author{color}.  The patch does not contain any @author tags.

    {color:green}+1 tests included{color}.  The patch appears to include 42 new or modified
tests.

    {color:green}+1 hadoop versions{color}. The patch compiles with all supported hadoop versions
(2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.6.0 2.7.0)

    {color:green}+1 javac{color}.  The applied patch does not increase the total number of
javac compiler warnings.

    {color:green}+1 protoc{color}.  The applied patch does not increase the total number of
protoc compiler warnings.

    {color:green}+1 javadoc{color}.  The javadoc tool did not generate any warning messages.

                {color:red}-1 checkstyle{color}.  The applied patch generated 1906 checkstyle
errors (more than the master's current 1898 errors).

    {color:green}+1 findbugs{color}.  The patch does not introduce any  new Findbugs (version
2.0.3) warnings.

    {color:green}+1 release audit{color}.  The applied patch does not increase the total number
of release audit warnings.

    {color:red}-1 lineLengths{color}.  The patch introduces the following lines longer than
100:
    +      final TableName tableName, final HColumnDescriptor column, final long nonceGroup,
final long nonce) {
+      final TableName tableName, final byte [] columnName, final long nonceGroup, final long
nonce) {
+      final TableName tableName, final HColumnDescriptor column, final long nonceGroup, final
long nonce) {
+  public static DeleteTableRequest buildDeleteTableRequest(final TableName tableName, final
long nonceGroup, final long nonce) {
+  public static EnableTableRequest buildEnableTableRequest(final TableName tableName, final
long nonceGroup, final long nonce) {
+  public static DisableTableRequest buildDisableTableRequest(final TableName tableName, final
long nonceGroup, final long nonce) {
+      final HTableDescriptor hTableDesc, final byte [][] splitKeys, final long nonceGroup,
final long nonce) {
+      final TableName tableName, final HTableDescriptor hTableDesc, final long nonceGroup,
final long nonce) {
+      "(\r\022\014\n\004type\030\002 \002(\r\022\016\n\006log_id\030\003 \002(\004\022\023\n\013min_"
+
+      "\030\003 \001(\004\"J\n\004Type\022\007\n\003EOF\020\001\022\010\n\004INIT\020\002\022\n\n\006INS"
+

  {color:green}+1 site{color}.  The mvn post-site goal succeeds with this patch.

     {color:red}-1 core tests{color}.  The patch failed these unit tests:
                       org.apache.hadoop.hbase.client.TestHBaseAdminNoCluster

Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/14699//testReport/
Release Findbugs (version 2.0.3) 	warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/14699//artifact/patchprocess/newFindbugsWarnings.html
Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/14699//artifact/patchprocess/checkstyle-aggregate.html

                Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/14699//console

This message is automatically generated.

> Procedure V2 - Use nonces for double submits from client
> --------------------------------------------------------
>
>                 Key: HBASE-13415
>                 URL: https://issues.apache.org/jira/browse/HBASE-13415
>             Project: HBase
>          Issue Type: Sub-task
>          Components: master
>            Reporter: Enis Soztutar
>            Assignee: Stephen Yuan Jiang
>            Priority: Blocker
>             Fix For: 2.0.0, 1.2.0, 1.3.0
>
>         Attachments: HBASE-13415.v1-master.patch
>
>
> The client can submit a procedure, but before getting the procId back, the master might
fail. In this case, the client request will fail and the client will re-submit the request.
If 1.1 client or if there is no contention for the table lock, the time window is pretty small,
but still might happen. 
> If the proc was accepted and stored in the procedure store, a re-submit from the client
will add another procedure, which will execute after the first one. The first one will likely
succeed, and the second one will fail (for example in the case of create table, the second
one will throw TableExistsException). 
> One idea is to use client generated nonces (that we already have) to guard against these
cases. The client will submit the request with the nonce and the nonce will be saved together
with the procedure in the store. In case of a double submit, the nonce-cache is checked and
the procId of the original request is returned. 



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

Mime
View raw message