Tanuj Khurana created PHOENIX-7573: -------------------------------------- Summary: Backward Compatibility Issues in Phoenix TTL Key: PHOENIX-7573 URL: https://issues.apache.org/jira/browse/PHOENIX-7573 Project: Phoenix Issue Type: Bug Affects Versions: 5.3.0 Reporter: Tanuj Khurana
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)