phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "daniel meng (JIRA)" <>
Subject [jira] [Commented] (PHOENIX-1270) Avoid retrieve metadata from server to gain performance
Date Tue, 23 Sep 2014 02:58:33 GMT


daniel meng commented on PHOENIX-1270:

[~jamestaylor] thanks for your review. 
1. about the performance. The upsert case will gain 30% on TPS(we only have one column in
test), but still lower than HBase Put, like  25%. simple query (select * from t where pk =
?)  is much lower because there are two extra RPCs for ColumnResolver.

2. about " declare this on the table (as a property at DDL time)" , do u mean one of below
or both?
     A:  when declare, metadata of this table will auto-refresh
     B:  when declare, compiler will always use metadata first on this table 
we use hint because it may dangerous to use unsync cache, for example when one index is droped,
the unkown client will still write to the index table and then abort the RS. we let users
to decide the right time.

looking forward for your advice!

> Avoid retrieve metadata from server to gain performance
> -------------------------------------------------------
>                 Key: PHOENIX-1270
>                 URL:
>             Project: Phoenix
>          Issue Type: Improvement
>    Affects Versions: 3.0.0
>            Reporter: daniel meng
>         Attachments: PHOENIX-1270.patch
> Now the SELECT or UPSERT(when autoCommit is TRUE) will need one extra RPC for retrieve
metadata from RS. In some cases where metadata rarely changed and higher TPS is required,
we should let the client have a choice to use cache directly for better performance. the attached
patch do two :
> 1. enable metadata cache self refresh (switch by "phoenix.cache.autoRefresh")
> 2. client can use hint /\*+ALWAYS_USE_META_CACHE\*/ to force compiler to use cache frist
> thanks in advance for your advice

This message was sent by Atlassian JIRA

View raw message