[
https://issues.apache.org/jira/browse/HBASE-13415?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14625217#comment-14625217
]
Hudson commented on HBASE-13415:
--------------------------------
FAILURE: Integrated in HBase-1.2 #64 (See
[https://builds.apache.org/job/HBase-1.2/64/])
HBASE-13415 Procedure v2 - Use nonces for double submits from client (Stephen
Yuan Jiang) (busbey: rev d360200bdb0ffdb94fef68c6337b9de7012fe525)
*
hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/MasterProtos.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityController.java
*
hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/Procedure.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
*
hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/ProcedureTestingUtility.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHBaseAdminNoCluster.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentManagerOnCluster.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestModifyTableProcedure.java
*
hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/RequestConverter.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/MasterProcedureTestingUtility.java
*
hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/ProcedureResult.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestDeleteColumnFamilyProcedure.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestTruncateTableProcedure.java
*
hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestModifyColumnFamilyProcedure.java
* hbase-common/src/main/java/org/apache/hadoop/hbase/util/NonceKey.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ServerNonceManager.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java
* hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
*
hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ProcedureProtos.java
* hbase-protocol/src/main/protobuf/Procedure.proto
*
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestCreateTableProcedure.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
*
hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestAddColumnFamilyProcedure.java
* hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterServices.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlLists.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestEnableTableProcedure.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestDisableTableProcedure.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestDeleteTableProcedure.java
* hbase-protocol/src/main/protobuf/Master.proto
> 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,
> HBASE-13415.v2-master.patch, HBASE-13415.v3-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)