[
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)