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

James Taylor commented on PHOENIX-1261:
---------------------------------------

Initialize the thread pool in the constructor of GlobalCache. That way it'll be 
initialized on the first access automatically (as that'll be your access point 
for the thread pool), here in GlobalCache:
{code}
    public static GlobalCache getInstance(RegionCoprocessorEnvironment env) {
        GlobalCache result = INSTANCE;
        if (result == null) {
            synchronized(GlobalCache.class) {
                result = INSTANCE;
                if(result == null) {
                    INSTANCE = result = new GlobalCache(env.getConfiguration());
                }
            }
        }
        return result;
    }
{code}

> Update stats table asynchronously
> ---------------------------------
>
>                 Key: PHOENIX-1261
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-1261
>             Project: Phoenix
>          Issue Type: Sub-task
>            Reporter: James Taylor
>            Assignee: Samarth Jain
>             Fix For: 4.7.0
>
>         Attachments: 1261-wip.patch
>
>
> Instead of writing the the stats table directly in the thread performing 
> major compaction, we should instead write to it asynchronously, perhaps using 
> the same asynchronous mechanism used by tracing. Apparently HBase used to 
> have a "custodian" table where they'd write as compaction and other 
> background tasks were running, and this leads to bad things happening if the 
> table being written to can't be reached.



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

Reply via email to