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

Viraj Jasani updated PHOENIX-5998:
----------------------------------
    Fix Version/s: 5.1.0

> Paged server side ungrouped aggregate operations 
> -------------------------------------------------
>
>                 Key: PHOENIX-5998
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-5998
>             Project: Phoenix
>          Issue Type: Improvement
>            Reporter: Kadir OZDEMIR
>            Assignee: Kadir OZDEMIR
>            Priority: Major
>             Fix For: 5.1.0, 4.16.0
>
>         Attachments: PHOENIX-5998.4.x.001.patch, PHOENIX-5998.4.x.002.patch, 
> PHOENIX-5998.4.x.003.patch, PHOENIX-5998.4.x.005.patch, 
> PHOENIX-5998.4.x.006.patch, PHOENIX-5998.master.001.patch, 
> PHOENIX-5998.master.002.patch
>
>
> Phoenix provides the option of performing upsert select and delete query 
> operations on the client or server side.  This is decided by the Phoenix 
> optimizer based on configuration parameters. For the server side option, the 
> table operation (upsert select/delete query) is parallelized such that 
> multiple table regions are scanned and the mutations derived from these scans 
> can also be executed in parallel on the server side. However, currently there 
> is no paging capability and the server side operation can take long enough to 
> lead to HBase client timeouts. When this happens, Phoenix return failure to 
> its applications and the rest of the parallel scans and mutations on the 
> server side can still continue since  Phoenix has no mechanism in place to 
> stop these operations before returning failure to applications. This can 
> create unexpected race conditions between these left-over operations and the 
> new operations issued by applications. 
> Putting a limit on the time that can be spent within a single next operation 
> on the region scanner implemented by a Phoenix coproc using a Phoenix level 
> paging is highly desirable to eliminate timeouts due to long running 
> operations on the server side, and is a required step to prevent operation 
> failures and possible race conditions following these failures.
> A similar paging mechanism has been already implemented for index rebuild and 
> verification operations and proven to be effective to prevent timeouts. This 
> paging can be implemented for all server side operations including 
> aggregates, upsert selects, delete queries and so on. This jira is for 
> implementing such a paging capability for the coproc 
> UngroupedAggregateRegionObserver.



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

Reply via email to