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)

Reply via email to