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

Hudson commented on PHOENIX-2520:
---------------------------------

SUCCESS: Integrated in Phoenix-master #1086 (See 
[https://builds.apache.org/job/Phoenix-master/1086/])
PHOENIX-2520 Create DDL property for metadata update frequency (jtaylor: rev 
59b336ec84b7cf5189bb2e67f07f9ef20da898d9)
* phoenix-core/src/main/java/org/apache/phoenix/query/MetaDataMutated.java
* phoenix-core/src/test/java/org/apache/phoenix/schema/PMetaDataImplTest.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/PMetaData.java
* 
phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/TableProperty.java
* phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheWithScnIT.java
* 
phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionlessQueryServicesImpl.java
* 
phoenix-core/src/main/java/org/apache/phoenix/coprocessor/generated/PTableProtos.java
* phoenix-core/src/main/java/org/apache/phoenix/compile/FromCompiler.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/PTableRef.java
* 
phoenix-core/src/main/java/org/apache/phoenix/compile/TupleProjectionCompiler.java
* 
phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
* phoenix-core/src/main/java/org/apache/phoenix/query/QueryConstants.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/PTableImpl.java
* phoenix-core/src/main/java/org/apache/phoenix/compile/UnionCompiler.java
* 
phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java
* 
phoenix-core/src/main/java/org/apache/phoenix/query/DelegateConnectionQueryServices.java
* 
phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixDatabaseMetaData.java
* phoenix-core/src/main/antlr3/PhoenixSQL.g
* phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixConnection.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/DelegateTable.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/PTable.java
* phoenix-protocol/src/main/PTable.proto
* phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheIT.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java
* phoenix-core/src/main/java/org/apache/phoenix/schema/PMetaDataImpl.java
* phoenix-core/src/test/java/org/apache/phoenix/execute/CorrelatePlanTest.java
* phoenix-core/src/main/java/org/apache/phoenix/compile/JoinCompiler.java


> Create DDL property for metadata update frequency
> -------------------------------------------------
>
>                 Key: PHOENIX-2520
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-2520
>             Project: Phoenix
>          Issue Type: Improvement
>            Reporter: James Taylor
>            Assignee: James Taylor
>             Fix For: 4.7.0
>
>         Attachments: PHOENIX-2520.patch, PHOENIX-2520_v2.patch, 
> PHOENIX-2520_wip.patch, preferMetaCache.patch
>
>
> On the client-side, Phoenix pings the server when a query is compiled to 
> confirm that the client has the most up-to-date metadata for the table being 
> queried. For some tables that are known to not change, this RPC is wasteful. 
> We can allow a property such as {{UPDATE_METADATA_CACHE_FREQUENCY_MS}} to be 
> specified a time to wait before checking with the server to see if the 
> metadata has changed. This could be specified in the CREATE TABLE call and 
> stored in the SYSTEM.CATALOG table header row. By default the value could be 
> 0 which would keep the current behavior. Tables that never change could use 
> Long.MAX_VALUE. Potentially we could allow 'ALWAYS' and 'NEVER' values for 
> convenience.
> Proposed implementation:
> - add {{public long getAge()}} method to {{PTableRef}}.
> - when setting lastAccessTime, also store System.currentMillis() to new 
> {{setAccessTime}} private member variable
> - the getAge() would return {{System.currentMillis() - setAccessTime}}
> - code in MetaDataClient would prevent call to server if age < 
> {{UPDATE_METADATA_CACHE_FREQUENCY_MS}}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to