phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Samarth Jain (JIRA)" <>
Subject [jira] [Updated] (PHOENIX-3994) Index RPC priority still depends on the controller factory property in hbase-site.xml
Date Wed, 12 Jul 2017 06:50:00 GMT


Samarth Jain updated PHOENIX-3994:
    Attachment: PHOENIX-3994_addendum.patch

Addendum patch that fixes the test failures introduced in the previous patch. It also covers
cases which the previous patch didn't cover. Summary of changes:

1) Disabled server side upsert select when source and destination tables are different across
the board. See PHOENIX-4012 for explanation.
2) Introduced two new controller factories - InterRegionServerIndexRpcControllerFactory and
InterRegionServerMetadataRpcControllerFactory (the names are a bit lengthy but I wanted to
be explicit). 
InterRegionServerMetadataRpcControllerFactory  is used for setting the priority of remote
RPC controls made to the region server hosting SYSTEM tables.
InterRegionServerIndexRpcControllerFactory is used by the Indexer coprocessor to set the priority
of remote RPC calls to region servers hosting global mutable indexes.

For backwards compatibility, I have left the ServerRpcControllerFactory class. It now just
extends the InterRegionServerMetadataRpcControllerFactory 

[~jamestaylor], please review. It would be good to get your eyes on it too, [~vincentpoon].

> Index RPC priority still depends on the controller factory property in hbase-site.xml
> -------------------------------------------------------------------------------------
>                 Key: PHOENIX-3994
>                 URL:
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.11.0
>            Reporter: Sergey Soldatov
>            Assignee: Samarth Jain
>            Priority: Critical
>             Fix For: 4.12.0, 4.11.1
>         Attachments: PHOENIX-3994_addendum.patch, PHOENIX-3994.patch, PHOENIX-3994_v2.patch
> During PHOENIX-3360 we tried to remove dependency on hbase.rpc.controllerfactory.class
property in hbase-site.xml since it cause problems on the client side (if client is using
server side configuration, all client request may go using index priority). Committed solution
is using setting the controller factory programmatically for coprocessor environment in Indexer
class, but it comes that this solution doesn't work because the environment configuration
is not used for the coprocessor connection creation. We need to provide a better solution
since this issue may cause accidental locks and failures that hard to identify and avoid.

This message was sent by Atlassian JIRA

View raw message