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

Viraj Jasani commented on PHOENIX-7346:
---------------------------------------

Yes, this is a known issue. We have done some improvements with PHOENIX-7076 
that you might be interested in.

If you are no longer using old indexing framework, please feel free to keep 
value of config "phoenix.index.failure.handling.rebuild" as "false" and you 
would likely never face this issue. Also, if you are not using stats feature, 
the config value for "phoenix.stats.collection.enabled" would also be "false", 
it is an additional improvement to make MetaDataRegionObserver coproc a no-op.

> PhoenixDriver and DriverManager deadlocked during class initialization.
> -----------------------------------------------------------------------
>
>                 Key: PHOENIX-7346
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-7346
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: qazwsx
>            Priority: Major
>         Attachments: image-2024-06-25-21-48-05-491.png
>
>
> After HBase is started, some Phoenix functions are unavailable. The logs show 
> that the region of the Catalog table cannot be brought online. The stack 
> analysis shows that a deadlock occurs between phoenixDriver and DriverManager 
> during class initialization.
>  
> --------------------------------------
> "pool-101-thread-1" #360 prio=5 os_prio=0 cpu=129.59ms elapsed=230121.51s 
> tid=0x0000ffff78622000 nid=0x39850 in Object.wait() [0x0000ffff2cf6e000]
>    java.lang.Thread.State: RUNNABLE
>     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>     at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>     at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>     at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
>     at java.lang.Class.newInstance(Class.java:442)
>     at 
> java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
>     at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
>     at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
>     at java.sql.DriverManager$2.run(DriverManager.java:603)
>     at java.sql.DriverManager$2.run(DriverManager.java:583)
>     at java.security.AccessController.doPrivileged(Native Method)
>     at java.sql.DriverManager.loadInitialDrivers(DriverManager.java:583)
>     at java.sql.DriverManager.<clinit>(DriverManager.java:101)
>     at org.apache.phoenix.util.QueryUtil.getConnection(QueryUtil.java:422)
>     at 
> org.apache.phoenix.util.QueryUtil.getConnectionOnServer(QueryUtil.java:400)
>     at 
> org.apache.phoenix.util.QueryUtil.getConnectionOnServer(QueryUtil.java:381)
>     at 
> org.apache.phoenix.coprocessor.TaskRegionObserver$SelfHealingTask.run(TaskRegionObserver.java:162)
>     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>     at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
>     at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
>     at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
>     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:750)
>  
> -----------------------------------------------------
> "RS_OPEN_PRIORITY_REGION-regionserver/ac-2:21302-0" #270 daemon prio=5 
> os_prio=0 cpu=1600.63ms elapsed=230127.52s tid=0x0000ffff791a3000 nid=0x380dc 
> in Object.wait() [0x0000ffff3236f000]
>    java.lang.Thread.State: RUNNABLE
>     at org.apache.phoenix.jdbc.PhoenixDriver.<clinit>(PhoenixDriver.java:128)
>     at java.lang.Class.forName0(Native Method)
>     at java.lang.Class.forName(Class.java:264)
>     at 
> org.apache.phoenix.coprocessor.MetaDataRegionObserver.postOpen(MetaDataRegionObserver.java:216)
>     at 
> org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost$2.call(RegionCoprocessorHost.java:524)
>     at 
> org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost$2.call(RegionCoprocessorHost.java:521)
>     at 
> org.apache.hadoop.hbase.coprocessor.CoprocessorHost$ObserverOperationWithoutResult.callObserver(CoprocessorHost.java:591)
>     at 
> org.apache.hadoop.hbase.coprocessor.CoprocessorHost.execOperation(CoprocessorHost.java:664)
>     at 
> org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.postOpen(RegionCoprocessorHost.java:521)
>     at 
> org.apache.hadoop.hbase.regionserver.HRegion.initializeRegionInternals(HRegion.java:1114)
>     at 
> org.apache.hadoop.hbase.regionserver.HRegion.initialize(HRegion.java:966)
>     at 
> org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:8024)
>     at 
> org.apache.hadoop.hbase.regionserver.HRegion.openHRegionFromTableDir(HRegion.java:7983)
>     at 
> org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:7959)
>     at 
> org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:7918)
>     at 
> org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:7874)
>     at 
> org.apache.hadoop.hbase.regionserver.handler.AssignRegionHandler.process(AssignRegionHandler.java:186)
>     at 
> org.apache.hadoop.hbase.executor.EventHandler.run(EventHandler.java:102)
>     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:750)
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to