[
https://issues.apache.org/jira/browse/PHOENIX-1270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14144241#comment-14144241
]
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: https://issues.apache.org/jira/browse/PHOENIX-1270
> 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
(v6.3.4#6332)