[
https://issues.apache.org/jira/browse/PHOENIX-5478?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16963658#comment-16963658
]
Kadir OZDEMIR commented on PHOENIX-5478:
----------------------------------------
The fix for this issue did not start and stop the region operation at the right
place. This resulted in an exception when tested in a real cluster. The
addendum2 patch is for correcting this. It was reviewed by [~vincentpoon]. The
exception was
Error: java.lang.RuntimeException:
org.apache.phoenix.exception.PhoenixIOException: Failed after attempts=5,
exceptions: Wed Oct 30 22:16:21 GMT 2019,
RpcRetryingCaller\{globalStartTime=1572473756072, pause=100, retries=5},
java.io.IOException: java.io.IOException: attempt to unlock read lock, not
locked by current thread at
org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2475) at
org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:124) at
org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:186) at
org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:166)
Caused by: java.lang.IllegalMonitorStateException: attempt to unlock read lock,
not locked by current thread at
java.util.concurrent.locks.ReentrantReadWriteLock$Sync.unmatchedUnlockException(ReentrantReadWriteLock.java:444)
at
java.util.concurrent.locks.ReentrantReadWriteLock$Sync.tryReleaseShared(ReentrantReadWriteLock.java:428)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.releaseShared(AbstractQueuedSynchronizer.java:1341)
at
java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.unlock(ReentrantReadWriteLock.java:881)
at
org.apache.hadoop.hbase.regionserver.HRegion.closeRegionOperation(HRegion.java:8588)
at
org.apache.hadoop.hbase.regionserver.HRegion.closeRegionOperation(HRegion.java:8577)
at
org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2878)
at
> IndexTool mapper task should not timeout
> -----------------------------------------
>
> Key: PHOENIX-5478
> URL: https://issues.apache.org/jira/browse/PHOENIX-5478
> Project: Phoenix
> Issue Type: Bug
> Affects Versions: 5.0.0, 4.15.0
> Reporter: Kadir OZDEMIR
> Assignee: Kadir OZDEMIR
> Priority: Major
> Attachments: PHOENIX-5478.master.001.patch,
> PHOENIX-5478.master.002.patch, PHOENIX-5478.master.003.patch,
> PHOENIX-5478.master.addendum.patch, PHOENIX-5478.master.addendum2.patch
>
> Time Spent: 2.5h
> Remaining Estimate: 0h
>
> In the old design, the IndexTool MR job mapper first scanned the data table
> rows one by one using a Phoenix client code, then constructed the index rows
> and finally sent these row mutations to region servers to update the rows on
> the index table regions. In the new design, this entire process is done on
> the server side (within a coprocessor). So, the mapper just issues one RPC
> call to instruct the coprocessor to build the entire table region. This RPC
> call can timeout if the table region is large. The temporary solution that is
> currently used is to set very large timeout values. We should break up single
> table region rebuild into smaller operations and eliminate setting large
> timeout values.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)