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

Vincent Poon commented on PHOENIX-5515:
---------------------------------------

I see the data table regionserver getting killed on an index write failure 
after this patch:

2019-10-14 13:39:26,042 FATAL 
[RpcServer.FifoWFPBQ.default.handler=255,queue=21,port=16201] 
regionserver.HRegionServer: ABORTING region server 
vincentpoon-wsm.internal.salesforce.com,16201,1571085425169: The coprocessor 
org.apache.phoenix.hbase.index.IndexRegionObserver threw 
java.lang.IllegalMonitorStateException

java.lang.IllegalMonitorStateException

at 
java.util.concurrent.locks.ReentrantLock$Sync.tryRelease(ReentrantLock.java:151)

at 
java.util.concurrent.locks.AbstractQueuedSynchronizer.release(AbstractQueuedSynchronizer.java:1261)

at java.util.concurrent.locks.ReentrantLock.unlock(ReentrantLock.java:457)

at 
org.apache.phoenix.hbase.index.LockManager$RowLockImpl.release(LockManager.java:227)

at 
org.apache.phoenix.hbase.index.IndexRegionObserver.postBatchMutateIndispensably(IndexRegionObserver.java:708)

at 
org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost$37.call(RegionCoprocessorHost.java:1052)

at 
org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost$RegionOperation.call(RegionCoprocessorHost.java:1693)

at 
org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.execOperation(RegionCoprocessorHost.java:1771)

at 
org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.execOperation(RegionCoprocessorHost.java:1727)

at 
org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.postBatchMutateIndispensably(RegionCoprocessorHost.java:1048)

at 
org.apache.hadoop.hbase.regionserver.HRegion.doMiniBatchMutation(HRegion.java:3536)

at org.apache.hadoop.hbase.regionserver.HRegion.batchMutate(HRegion.java:3045)

at org.apache.hadoop.hbase.regionserver.HRegion.batchMutate(HRegion.java:2987)

at 
org.apache.hadoop.hbase.regionserver.RSRpcServices.doBatchOp(RSRpcServices.java:914)

at 
org.apache.hadoop.hbase.regionserver.RSRpcServices.doNonAtomicRegionMutation(RSRpcServices.java:842)

at 
org.apache.hadoop.hbase.regionserver.RSRpcServices.multi(RSRpcServices.java:2396)

at 
org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:35080)

at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2373)

at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:124)

at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:188)

at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:168)

> Able to write indexed value to data table without writing to index table
> ------------------------------------------------------------------------
>
>                 Key: PHOENIX-5515
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-5515
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.14.3
>            Reporter: Vincent Poon
>            Assignee: Kadir OZDEMIR
>            Priority: Major
>             Fix For: 4.15.0, 5.1.0
>
>         Attachments: PHOENIX-5515.master.001.patch, 
> PHOENIX-5515.master.002.patch
>
>          Time Spent: 1h 50m
>  Remaining Estimate: 0h
>
> Using the 4.14.3 client, it still seems the IndexFailurePolicy is still 
> kicking in, which disables the index on write failure.  This means that while 
> the index is in 'disabled' state, writes to the data table can happen without 
> any writes to the index table.  While in theory this might be ok since the 
> rebuilder should eventually kick in and rebuild from the disable_timestamp, 
> this breaks the new indexing design invariant that there should be no data 
> table rows without a corresponding index row (potentially unverified), so 
> this could potentially cause some unexpected behavior.
> Steps to repro:
> 1) Create data table
> 2) Create index table
> 3) "close_region" on index region from hbase shell
> 4) Upsert to data table
> Eventually after some number of retries, the index will get disabled, which 
> means any other client can write to the data table without writing to the 
> index table.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to