This is my first time messing with a secondary index in Phoenix.


I used this syntax:


create index fma_er_keyed_gz_endpoint_id_include_sample_point on fma.er_keyed_gz_meterkey_split_custid (endpoint_id) include (sample_point) SALT_BUCKETS = 550;


and I get this error:


[Error Code: 1029, SQL State: 42Y88]  ERROR 1029 (42Y88): Mutable secondary indexes must have the hbase.regionserver.wal.codec property set to org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec in the hbase-sites.xml of every region server tableName=FMA_ER_KEYED_GZ_ENDPOINT_ID_INCLUDE_SAMPLE_POINT


I have 2 questions and 1 (tiny) bug:


1) This table wasn’t declared as immutable, but functionally, it is. Is there a way to alter the table to add the IMMUTABLE_ROWS property so that this will work? The table has over 10 billion rows, so I don’t want to recreate it if I can help it.


2) My region servers have all the following hbase-site.xml files. Which one(s) do I alter? And do I need to restart hbase afterwards?











3) In the error message, hbase-sites.xml should be hbase-site.xml, correct?