[ https://issues.apache.org/jira/browse/PHOENIX-7573?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Viraj Jasani updated PHOENIX-7573: ---------------------------------- Fix Version/s: 5.3.0 > Backward Compatibility Issues in Phoenix TTL > -------------------------------------------- > > Key: PHOENIX-7573 > URL: https://issues.apache.org/jira/browse/PHOENIX-7573 > Project: Phoenix > Issue Type: Sub-task > Affects Versions: 5.3.0 > Reporter: Tanuj Khurana > Assignee: Lokesh Khurana > Priority: Blocker > Fix For: 5.3.0 > > > PHOENIX-6978 moved the TTL from HBase column family descriptor to a column in > SYSTEM.CATALOG. The current change has introduced some backward compatibility > issues when an older client connects to new server (5.3) > # TTLRegionScanner which implements masking now always assumes that for > non-system tables TTL will be specified as a scan attribute. An older client > connecting to a newer 5.3 server will not be specifying the TTL as a scan > attribute. If the server doesn't find the scan attribute , the server should > fallback to read the ttl from the column family descriptor. > # As part of PHOENIX-6978, the upgrade code copies the TTL from HBase > descriptor to SYSCAT column. This takes care of existing tables with TTL. But > after we upgrade the server, we can still have clients running on older > version. Any old client which creates a new table after the server has been > upgraded will continue to write the TTL to the HBase descriptors. This will > be a problem as the server will no longer check the HBase column descriptors > and TTL will not be enforced. One option is to handle this on the server side > as part of create table/alter table DDL operation is to translate the > descriptor update to a syscat update on the server side. -- This message was sent by Atlassian Jira (v8.20.10#820010)