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)