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

Chao Wang updated PHOENIX-5861:
-------------------------------
    Description: 
when delete index data,throw pool closed in 
TrackingParallelWriterIndexCommitter class.sql statement delete from ... for 
client side, In the case of index table enable,Indexer will deal index data in 
server side. Finally server use HTable of index table  which batch mutations. 

When region split, region close firstly,and then region will close phoenix 
CP(Indexer) which call stop method  of Indexer. this method will stop  
IndexWriter and IndexBuildManager ,recoveryWriter. But region split failed, 
start to roll back, which can not processing IndexWriter  and IndexBuildManager 
,recoveryWriter initialization. afterwards deal of index data will failed which 
throw pool close.

A simple test where region split failed, roll back success. but failed to 
delete index data.

1.create data table and index table

2.bulkload data for this table

3.alter hbase-server code, which region split throw exception , after region 
close happen. 

4.use hbase shell , split region.

5.view regionserver log, where region split failed, and then rollback success.

6.user phoenix sqlline.py for delete data, which  will throw exption

 

org.apache.phoenix.hbase.index.exception.SingleIndexWriteFailureException: Pool 
closed, not attempting to write to the 
index!org.apache.phoenix.hbase.index.exception.SingleIndexWriteFailureException:
 Pool closed, not attempting to write to the index! at 
org.apache.phoenix.hbase.index.write.TrackingParallelWriterIndexCommitter$1.throwFailureIfDone(TrackingParallelWriterIndexCommitter.java:196)
 at 
org.apache.phoenix.hbase.index.write.TrackingParallelWriterIndexCommitter$1.call(TrackingParallelWriterIndexCommitter.java:155)
 at 
org.apache.phoenix.hbase.index.write.TrackingParallelWriterIndexCommitter$1.call(TrackingParallelWriterIndexCommitter.java:144)
 at java.util.concurrent.FutureTask.run(FutureTask.java:266) at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
at java.lang.Thread.run(Thread.java:748)

 

  was:
when delete index data,throw pool closed in 
TrackingParallelWriterIndexCommitter class.sql statement delete from ... for 
client side, In the case of index table enable,Indexer will deal index data in 
server side. Finally server use HTable of index table  which batch mutations. 

When region split, region close firstly,and then region will close phoenix 
CP(Indexer) which call stop method  of Indexer. this method will stop  
IndexWriter and IndexBuildManager ,recoveryWriter. But region split failed, 
start to roll back, which can not processing IndexWriter  and IndexBuildManager 
,recoveryWriter initialization. afterwards deal of index data will failed which 
throw pool close.

A simple test where region split failed, roll back success. but failed to 
delete index data.

1.create data table and index table

2.bulkload data for this table

3.alter hbase-server code, which region split throw exception , after region 
close happen. 

4.use hbase shell , split region.

5.view regionserver log, where region split failed, and then rollback success.

6.user phoenix sqlline.py for delete data, which  will throw exption

 


> Delete index data failed,due to pool closed
> -------------------------------------------
>
>                 Key: PHOENIX-5861
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-5861
>             Project: Phoenix
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 4.13.1, 4.15.0, 4.14.1
>            Reporter: Chao Wang
>            Assignee: Chao Wang
>            Priority: Critical
>         Attachments: PHOENIX-5861.4.13.x-HBASE.1.3.x.002.patch
>
>          Time Spent: 2.5h
>  Remaining Estimate: 0h
>
> when delete index data,throw pool closed in 
> TrackingParallelWriterIndexCommitter class.sql statement delete from ... for 
> client side, In the case of index table enable,Indexer will deal index data 
> in server side. Finally server use HTable of index table  which batch 
> mutations. 
> When region split, region close firstly,and then region will close phoenix 
> CP(Indexer) which call stop method  of Indexer. this method will stop  
> IndexWriter and IndexBuildManager ,recoveryWriter. But region split failed, 
> start to roll back, which can not processing IndexWriter  and 
> IndexBuildManager ,recoveryWriter initialization. afterwards deal of index 
> data will failed which throw pool close.
> A simple test where region split failed, roll back success. but failed to 
> delete index data.
> 1.create data table and index table
> 2.bulkload data for this table
> 3.alter hbase-server code, which region split throw exception , after region 
> close happen. 
> 4.use hbase shell , split region.
> 5.view regionserver log, where region split failed, and then rollback success.
> 6.user phoenix sqlline.py for delete data, which  will throw exption
>  
> org.apache.phoenix.hbase.index.exception.SingleIndexWriteFailureException: 
> Pool closed, not attempting to write to the 
> index!org.apache.phoenix.hbase.index.exception.SingleIndexWriteFailureException:
>  Pool closed, not attempting to write to the index! at 
> org.apache.phoenix.hbase.index.write.TrackingParallelWriterIndexCommitter$1.throwFailureIfDone(TrackingParallelWriterIndexCommitter.java:196)
>  at 
> org.apache.phoenix.hbase.index.write.TrackingParallelWriterIndexCommitter$1.call(TrackingParallelWriterIndexCommitter.java:155)
>  at 
> org.apache.phoenix.hbase.index.write.TrackingParallelWriterIndexCommitter$1.call(TrackingParallelWriterIndexCommitter.java:144)
>  at java.util.concurrent.FutureTask.run(FutureTask.java:266) at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>  at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>  at java.lang.Thread.run(Thread.java:748)
>  



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

Reply via email to