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

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

Nice! This is a really good improvement already. One potential way we can avoid 
a grammar change is to have a new boolean config parameter 
{{phoenix.stats.collect.asynchronous}} which defaults to true but is set to 
false in {{QueryServicesTestImpl}} for testing. Running it asynchronously is 
really the way to go IMO, so I think this may be simpler/better.

I asked Lars about whether or not there's a common thread pool, but he said no. 
I think it's fine to create one for this that's shared across the RS. We've got 
our GlobalCache singleton that you could hang it off of - it's initialized with 
access to a Configuration object off of RegionCoprocessorEnvironment, so you 
could make the thread pool size configurable.

> 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