[ 
https://issues.apache.org/jira/browse/AMBARI-15361?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Siddharth Wagle updated AMBARI-15361:
-------------------------------------
    Attachment: AMBARI-15361.patch

> Fix ordering of Alter table calls which could result in Region Close issue
> --------------------------------------------------------------------------
>
>                 Key: AMBARI-15361
>                 URL: https://issues.apache.org/jira/browse/AMBARI-15361
>             Project: Ambari
>          Issue Type: Bug
>          Components: ambari-metrics
>    Affects Versions: 2.2.0
>            Reporter: Siddharth Wagle
>            Assignee: Siddharth Wagle
>            Priority: Critical
>             Fix For: 2.2.2
>
>         Attachments: AMBARI-15361.patch
>
>
> Two Alter table calls one of TTL and the other for setting the Region 
> policies could result in a possible race condition on HBase side. 
> Here is some details:
> The assignment operation on the region in question 
> ({{2e13a2d264c50e27c32cd4d3cad6ebca}}) further indicates possible network 
> partition - the region is CLOSED and OFFLINED successfully, and trying to 
> OPEN again, but it found conflict information from zk node (the zk node had a 
> stale information and still thought that it is still in the CLOSING state, 
> which is not true based on the log) - the assignment succeeds, but updating 
> the assignment information to zk failed due to incorrect version in the zk 
> node.  
> {noformat}
> 2016-02-18 00:05:46,603 INFO  
> [os-s11-3-zxgfju-ambari-hv-ser-ha-3-1.novalocal,52093,1455753905161-org.apache.hadoop.hbase.master.BulkReOpen-0]
>  master.RegionStates: Transition {2e13a2d264c50e27c32cd4d3cad6ebca 
> state=OPEN, ts=1455753935244, 
> server=os-s11-3-zxgfju-ambari-hv-ser-ha-3-1.novalocal,41497,1455753908723} to 
> {2e13a2d264c50e27c32cd4d3cad6ebca state=PENDING_CLOSE, ts=1455753946603, 
> server=os-s11-3-zxgfju-ambari-hv-ser-ha-3-1.novalocal,41497,1455753908723}
> 2016-02-18 00:05:46,605 INFO  
> [PriorityRpcServer.handler=16,queue=0,port=41497] regionserver.RSRpcServices: 
> Close 2e13a2d264c50e27c32cd4d3cad6ebca, moving to null
> 2016-02-18 00:05:46,629 INFO  
> [StoreCloserThread-METRIC_RECORD,,1455753934664.2e13a2d264c50e27c32cd4d3cad6ebca.-1]
>  regionserver.HStore: Closed 0
> 2016-02-18 00:05:46,635 INFO  
> [RS_CLOSE_REGION-os-s11-3-zxgfju-ambari-hv-ser-ha-3-1:41497-1] 
> regionserver.HRegion: Closed 
> METRIC_RECORD,,1455753934664.2e13a2d264c50e27c32cd4d3cad6ebca.
> 2016-02-18 00:05:46,643 INFO  [AM.ZK.Worker-pool3-t1] master.RegionStates: 
> Transition {2e13a2d264c50e27c32cd4d3cad6ebca state=PENDING_CLOSE, 
> ts=1455753946603, 
> server=os-s11-3-zxgfju-ambari-hv-ser-ha-3-1.novalocal,41497,1455753908723} to 
> {2e13a2d264c50e27c32cd4d3cad6ebca state=CLOSED, ts=1455753946643, 
> server=os-s11-3-zxgfju-ambari-hv-ser-ha-3-1.novalocal,41497,1455753908723}
> 2016-02-18 00:05:46,644 INFO  [AM.ZK.Worker-pool3-t1] 
> master.AssignmentManager: Setting node as OFFLINED in ZooKeeper for region 
> {ENCODED => 2e13a2d264c50e27c32cd4d3cad6ebca, NAME => 
> 'METRIC_RECORD,,1455753934664.2e13a2d264c50e27c32cd4d3cad6ebca.', STARTKEY => 
> '', ENDKEY => ''}
> 2016-02-18 00:05:46,644 INFO  [AM.ZK.Worker-pool3-t1] master.RegionStates: 
> Transition {2e13a2d264c50e27c32cd4d3cad6ebca state=CLOSED, ts=1455753946643, 
> server=os-s11-3-zxgfju-ambari-hv-ser-ha-3-1.novalocal,41497,1455753908723} to 
> {2e13a2d264c50e27c32cd4d3cad6ebca state=OFFLINE, ts=1455753946644, 
> server=os-s11-3-zxgfju-ambari-hv-ser-ha-3-1.novalocal,41497,1455753908723}
> 2016-02-18 00:05:46,646 INFO  [AM.ZK.Worker-pool3-t1] 
> master.AssignmentManager: Assigning 
> METRIC_RECORD,,1455753934664.2e13a2d264c50e27c32cd4d3cad6ebca. to 
> os-s11-3-zxgfju-ambari-hv-ser-ha-3-1.novalocal,41497,1455753908723
> 2016-02-18 00:05:46,646 INFO  [AM.ZK.Worker-pool3-t1] master.RegionStates: 
> Transition {2e13a2d264c50e27c32cd4d3cad6ebca state=OFFLINE, ts=1455753946644, 
> server=os-s11-3-zxgfju-ambari-hv-ser-ha-3-1.novalocal,41497,1455753908723} to 
> {2e13a2d264c50e27c32cd4d3cad6ebca state=PENDING_OPEN, ts=1455753946646, 
> server=os-s11-3-zxgfju-ambari-hv-ser-ha-3-1.novalocal,41497,1455753908723}
> 2016-02-18 00:05:46,647 INFO  
> [PriorityRpcServer.handler=5,queue=1,port=41497] regionserver.RSRpcServices: 
> Open METRIC_RECORD,,1455753934664.2e13a2d264c50e27c32cd4d3cad6ebca.
> 2016-02-18 00:05:46,647 INFO  
> [PriorityRpcServer.handler=5,queue=1,port=41497] 
> coordination.ZkOpenRegionCoordination: Opening of region {ENCODED => 
> 2e13a2d264c50e27c32cd4d3cad6ebca, NAME => 
> 'METRIC_RECORD,,1455753934664.2e13a2d264c50e27c32cd4d3cad6ebca.', STARTKEY => 
> '', ENDKEY => ''} failed, transitioning from OFFLINE to FAILED_OPEN in ZK, 
> expecting version 2
> 2016-02-18 00:05:46,649 WARN  
> [PriorityRpcServer.handler=5,queue=1,port=41497] regionserver.RSRpcServices: 
> Failed opening region 
> METRIC_RECORD,,1455753934664.2e13a2d264c50e27c32cd4d3cad6ebca.
> org.apache.hadoop.hbase.regionserver.RegionAlreadyInTransitionException: 
> Received OPEN for the 
> region:METRIC_RECORD,,1455753934664.2e13a2d264c50e27c32cd4d3cad6ebca. , which 
> we are already trying to CLOSE 
>       at 
> org.apache.hadoop.hbase.regionserver.RSRpcServices.openRegion(RSRpcServices.java:1477)
>       at 
> org.apache.hadoop.hbase.protobuf.generated.AdminProtos$AdminService$2.callBlockingMethod(AdminProtos.java:22239)
>       at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2114)
>       at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:101)
>       at 
> org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:130)
>       at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:107)
>       at java.lang.Thread.run(Thread.java:745)
> 2016-02-18 00:05:46,653 WARN  [AM.ZK.Worker-pool3-t1] 
> master.AssignmentManager: Failed assignment of 
> METRIC_RECORD,,1455753934664.2e13a2d264c50e27c32cd4d3cad6ebca. to 
> os-s11-3-zxgfju-ambari-hv-ser-ha-3-1.novalocal,41497,1455753908723, waiting a 
> little before trying on the same region server try=1 of 10
> ...
> 2016-02-18 00:05:46,771 WARN  
> [RS_OPEN_REGION-os-s11-3-zxgfju-ambari-hv-ser-ha-3-1:41497-0] 
> coordination.ZkOpenRegionCoordination: Unable to mark region {ENCODED => 
> 2e13a2d264c50e27c32cd4d3cad6ebca, NAME => 
> 'METRIC_RECORD,,1455753934664.2e13a2d264c50e27c32cd4d3cad6ebca.', STARTKEY => 
> '', ENDKEY => ''} as FAILED_OPEN. It's likely that the master already timed 
> out this open attempt, and thus another RS already has the region.
> 016-02-18 00:05:47,038 WARN  [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:61181] 
> server.NIOServerCnxn: caught end of stream exception
> EndOfStreamException: Unable to read additional data from client sessionid 
> 0x152f1b1bbcb0014, likely client has closed socket
>       at 
> org.apache.zookeeper.server.NIOServerCnxn.doIO(NIOServerCnxn.java:228)
>       at 
> org.apache.zookeeper.server.NIOServerCnxnFactory.run(NIOServerCnxnFactory.java:208)
>       at java.lang.Thread.run(Thread.java:745)
> 2016-02-18 00:05:47,039 INFO  [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:61181] 
> server.NIOServerCnxn: Closed socket connection for client /127.0.0.1:51677 
> which had sessionid 0x152f1b1bbcb0014
> {noformat}



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

Reply via email to