An FYI,
I tried using phoenix in hBase with Transparent Encryption of Data At Rest
enabled ( AES encryption)
Works fine for a table with primary key column.
But it doesn't work if I create Secondary index on that tables.I tried to
dig deep into the problem and found WAL file encryption throws exception
when I have Global Secondary Index created on my mutable table.
Following is the error I was getting on one of the region server.
2015-02-20 10:44:48,768 ERROR
org.apache.hadoop.hbase.regionserver.wal.FSHLog: UNEXPECTED
java.lang.NullPointerException
at org.apache.hadoop.hbase.util.Bytes.toInt(Bytes.java:767)
at org.apache.hadoop.hbase.util.Bytes.toInt(Bytes.java:754)
at org.apache.hadoop.hbase.KeyValue.getKeyLength(KeyValue.java:1253)
at
org.apache.hadoop.hbase.regionserver.wal.SecureWALCellCodec$EncryptedKvEncoder.write(SecureWALCellCodec.java:194)
at
org.apache.hadoop.hbase.regionserver.wal.ProtobufLogWriter.append(ProtobufLogWriter.java:117)
at
org.apache.hadoop.hbase.regionserver.wal.FSHLog$AsyncWriter.run(FSHLog.java:1137)
at java.lang.Thread.run(Thread.java:745)
2015-02-20 10:44:48,776 INFO
org.apache.hadoop.hbase.regionserver.wal.FSHLog:
regionserver60020-WAL.AsyncWriter exiting
I had to disable WAL encryption, and it started working fine with secondary
Index. So Hfile encryption works with secondary index but WAL encryption
doesn't work.
hbase version 0.98.6-cdh5.3.0 ,with phoenix 4.2.2.
Hope this helps.
-Dhaval