Miles Spielberg created PHOENIX-5155: ----------------------------------------
Summary: Phoenix treats ENCRYPTION and ENCRYPTION_KEY as TableDescriptor Key: PHOENIX-5155 URL: https://issues.apache.org/jira/browse/PHOENIX-5155 Project: Phoenix Issue Type: Bug Reporter: Miles Spielberg As described in the code ([https://github.com/apache/phoenix/blob/master/phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java#L1187|https://github.com/apache/phoenix/blob/master/phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java#L1187)]), Phoenix uses a "somewhat hacky way" of determining if a table property should be set on an HTableDescriptor or on the HColumnDescriptors for each column family. It does this by checking if an otherwise unconfigured HColumnDescriptor has a default value for the specified property. This mostly works, but the two exceptions as of HBase 1.4 are ENCRYPTION and ENCRYPTION_KEY, which are HColumnDescriptor properties, but have no default values ([https://github.com/apache/hbase/blob/rel/1.4.9/hbase-client/src/main/java/org/apache/hadoop/hbase/HColumnDescriptor.java#L245|https://github.com/apache/hbase/blob/rel/1.4.9/hbase-client/src/main/java/org/apache/hadoop/hbase/HColumnDescriptor.java#L245).]). As a result, Phoenix incorrectly sets ENCRYPTION on the HTableDescriptor, where it has no effect. Current HBase master has added additional properties that also have no default values: ([https://github.com/apache/hbase/blob/master/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ColumnFamilyDescriptorBuilder.java#L285|https://github.com/apache/hbase/blob/master/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ColumnFamilyDescriptorBuilder.java#L285)]) -- This message was sent by Atlassian JIRA (v7.6.3#76005)