This error is thrown when on the server-side, the following code returns
false (IndexManagementUtil#isWALEditCodecSet):
public static boolean isWALEditCodecSet(Configuration conf) {
> // check to see if the WALEditCodec is installed
> try {
> // Use reflection to load the IndexedWALEditCodec, since it
> may not load with an older version
> // of HBase
> Class.forName(INDEX_WAL_EDIT_CODEC_CLASS_NAME);
> } catch (Throwable t) {
> return false;
> }
> if
> (INDEX_WAL_EDIT_CODEC_CLASS_NAME.equals(conf.get(WAL_EDIT_CODEC_CLASS_KEY,
> null))) {
> // its installed, and it can handle compression and
> non-compression cases
> return true;
> }
> return false;
> }
>
You could just put this into a main method in a java class, put that in
the classpath of your HBase install on one of the machines on your cluster
and run it from the HBase command line to make sure that it passes.
Otherwise, you might not have the actual right configs (copy-paste error?)
or missing the right jars.
Also, FWIW, this property:
<property>
> <name>hbase.region.server.rpc.scheduler.factory.class</name>
>
>
> <value>org.apache.phoenix.hbase.index.ipc.PhoenixIndexRpcSchedulerFactory</value>
> <description>Factory to create the Phoenix RPC Scheduler that knows
> to put index updates into index queues</description>
>
</property>
>
is only valid in HBase 0.98.4+ (as pointed out in the section "Advanced
Setup - Removing Index Deadlocks (0.98.4+)"). However, it should still be
fine to have in older versions.
-------------------
Jesse Yates
@jesse_yates
jyates.github.com
On Fri, Aug 8, 2014 at 2:18 AM, Saravanan A <[email protected]>
wrote:
> This is my Hbase-site.xml file...
>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!--Autogenerated by Cloudera CM on 2014-06-16T11:10:16.319Z-->
> <configuration>
>
> <property>
> <name>hbase.regionserver.wal.codec</name>
>
> <value>org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec</value>
> </property>
> <property>
> <name>hbase.region.server.rpc.scheduler.factory.class</name>
>
>
> <value>org.apache.phoenix.hbase.index.ipc.PhoenixIndexRpcSchedulerFactory</value>
> <description>Factory to create the Phoenix RPC Scheduler that knows
> to put index updates into index queues</description>
> </property>
>
> <property>
> <name>hbase.rootdir</name>
> <value>hdfs://alpmas.alp.com:8020/hbase</value>
> </property>
> <property>
> <name>hbase.client.write.buffer</name>
> <value>2097152</value>
> </property>
> <property>
> <name>hbase.client.pause</name>
> <value>1000</value>
> </property>
> <property>
> <name>hbase.client.retries.number</name>
> <value>10</value>
> </property>
> <property>
> <name>hbase.client.scanner.caching</name>
> <value>1000</value>
> </property>
> <property>
> <name>hbase.client.keyvalue.maxsize</name>
> <value>20971520</value>
> </property>
> <property>
> <name>hbase.rpc.timeout</name>
> <value>1200000</value>
> </property>
> <property>
> <name>hbase.security.authentication</name>
> <value>simple</value>
> </property>
> <property>
> <name>zookeeper.session.timeout</name>
> <value>240000</value>
> </property>
> <property>
> <name>zookeeper.retries</name>
> <value>5</value>
> </property>
> <property>
> <name>zookeeper.pause</name>
> <value>5000</value>
> </property>
> <property>
> <name>zookeeper.znode.parent</name>
> <value>/hbase</value>
> </property>
> <property>
> <name>zookeeper.znode.rootserver</name>
> <value>root-region-server</value>
> </property>
> <property>
> <name>hbase.zookeeper.quorum</name>
> <value>zk3.alp.com,zk2.alp.com,zk1.alp.com</value>
> </property>
> <property>
> <name>hbase.zookeeper.property.clientPort</name>
> <value>2181</value>
> </property>
> </configuration>
>
>
>
> On Fri, Aug 8, 2014 at 2:46 PM, Saravanan A <[email protected]>
> wrote:
>
>> I already included this property in hbase-site.xml in all region
>> servers..but still am getting that error...If i define my view as
>> IMMUTABLE_ROWS = true, then i can able to create view..but i want to create
>> index for mutable..
>>
>>
>> On Fri, Aug 8, 2014 at 2:10 PM, Abhilash L L <[email protected]>
>> wrote:
>>
>>> Really sorry, shared the wrong config
>>>
>>>
>>>
>>> <property>
>>> <name>hbase.regionserver.wal.codec</name>
>>>
>>> <value>org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec</value>
>>> </property>
>>>
>>>
>>>
>>> Regards,
>>> Abhilash L L
>>> Capillary Technologies
>>> M:919886208262
>>> [email protected] | www.capillarytech.com
>>>
>>> Email from people at capillarytech.com may not represent official
>>> policy of Capillary Technologies unless explicitly stated. Please see our
>>> Corporate-Email-Policy
>>> <http://support.capillary.co.in/policy-public/Corporate-Email-Policy.pdf>
>>> for details. Contents of this email are confidential. Please contact the
>>> Sender if you have received this email in error.
>>>
>>>
>>>
>>> On Fri, Aug 8, 2014 at 1:07 PM, Saravanan A <[email protected]>
>>> wrote:
>>>
>>>> Hi Abhilash,
>>>>
>>>> Thanks for the replay...i included above property and restarted the
>>>> region servers but still am getting the same error...
>>>>
>>>>
>>>>
>>>> On Fri, Aug 8, 2014 at 12:39 PM, Abhilash L L <
>>>> [email protected]> wrote:
>>>>
>>>>> Hi Saravanan,
>>>>>
>>>>> Please check the Setup section here
>>>>>
>>>>> http://phoenix.apache.org/secondary_indexing.html
>>>>>
>>>>> You will need to add this config to all Region Servers in
>>>>> hbase-site. xml, as the error says as well (You will need to restart the
>>>>> servers after the change)
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> <property>
>>>>> <name>hbase.region.server.rpc.scheduler.factory.class</name>
>>>>>
>>>>> <value>org.apache.phoenix.hbase.index.ipc.PhoenixIndexRpcSchedulerFactory</value>
>>>>> <description>Factory to create the Phoenix RPC Scheduler that knows to
>>>>> put index updates into index queues</description>
>>>>> </property>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Regards,
>>>>> Abhilash L L
>>>>> Capillary Technologies
>>>>> M:919886208262
>>>>> [email protected] | www.capillarytech.com
>>>>>
>>>>> Email from people at capillarytech.com may not represent official
>>>>> policy of Capillary Technologies unless explicitly stated. Please see our
>>>>> Corporate-Email-Policy
>>>>> <http://support.capillary.co.in/policy-public/Corporate-Email-Policy.pdf>
>>>>> for details. Contents of this email are confidential. Please contact the
>>>>> Sender if you have received this email in error.
>>>>>
>>>>>
>>>>>
>>>>> On Fri, Aug 8, 2014 at 12:22 PM, Saravanan A <
>>>>> [email protected]> wrote:
>>>>>
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I have a table in hbase and created view in phoenix and try to
>>>>>> create index on a column on the view..but i got following error..
>>>>>>
>>>>>> Error: 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=tab2_col4
>>>>>> (state=42Y88,code=1029)
>>>>>>
>>>>>>
>>>>>> but i have added the hbase.regionserver.wal.codec property in all my
>>>>>> region server...i can able to create IMMUTABLE index for that...
>>>>>>
>>>>>> Am using Hbase ---0.94.15-cdh4.7.0
>>>>>> Phoenix---3.0
>>>>>>
>>>>>>
>>>>>> am i missing something???
>>>>>> thanks in advance...
>>>>>>
>>>>>>
>>>>>> Regards,
>>>>>> Saravanan
>>>>>>
>>>>>>
>>>>>
>>>>> Email from people at capillarytech.com may not represent official
>>>>> policy of Capillary Technologies unless explicitly stated. Please see our
>>>>> Corporate-Email-Policy for details.Contents of this email are
>>>>> confidential.
>>>>> Please contact the Sender if you have received this email in error.
>>>>>
>>>>
>>>>
>>>
>>> Email from people at capillarytech.com may not represent official
>>> policy of Capillary Technologies unless explicitly stated. Please see our
>>> Corporate-Email-Policy for details.Contents of this email are confidential.
>>> Please contact the Sender if you have received this email in error.
>>>
>>
>>
>