You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hbase.apache.org by Mark Jarecki <mj...@bigpond.net.au> on 2011/05/21 05:51:59 UTC

NoSuchColumnFamilyException Node.JS Thrift

Hi there,
Just experimenting with getting Hbase 0.90.3 working with Node.js using Thrift 0.6 (nonblocking & framed transport) and node-thrift.
I was testing exceptions, by mutating on a column that didn't exist:
	var mutations = [];
 	mutations.push(new ttypes.Mutation({column: "column1:", value: "value 1"}));
	client.mutateRow("experimental", "row1", mutations, callback);
This throws, as expected:
{"name":"IOError","message":"Failed 1 action: NoSuchColumnFamilyException: 1 time, servers with issues: 10.0.1.2:56195, "}

The logs read:
2011-05-21 13:30:30,924 WARN org.apache.hadoop.hbase.regionserver.HRegion: No such column family in batch put
org.apache.hadoop.hbase.regionserver.NoSuchColumnFamilyException: Column family column1 does not exist in region experimental,,1305873969637.37ad0e48bf8c5b9b6d0fbb9379b77807. in table {NAME => 'experimental', FAMILIES => [{NAME => 'column2', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', VERSIONS => '3', COMPRESSION => 'NONE', TTL => '-1', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'false'}]}
	at org.apache.hadoop.hbase.regionserver.HRegion.checkFamily(HRegion.java:3187)
	at org.apache.hadoop.hbase.regionserver.HRegion.checkFamilies(HRegion.java:1740)
	at org.apache.hadoop.hbase.regionserver.HRegion.doMiniBatchPut(HRegion.java:1422)
	at org.apache.hadoop.hbase.regionserver.HRegion.put(HRegion.java:1386)
	at org.apache.hadoop.hbase.regionserver.HRegionServer.multi(HRegionServer.java:2549)
	at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:570)
	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1039)


However, all subsequent operations persist with the same exception. Yet the operations themselves are successful. Hbase doesn't want to let the older exception go, it is seemingly retrying on each new operation.

How do I stop these exceptions persisting?

Thanks,
Mark





Re: NoSuchColumnFamilyException Node.JS Thrift

Posted by Mark Jarecki <mj...@bigpond.net.au>.
I'm using the node.js binding, 

https://github.com/wadey/node-thrift




On 22/05/2011, at 1:33 PM, Stack wrote:

> You are using a JavaScript binding for thrift?  I wonder if this code is holding the exception (I have not seen this in php access for example)
> 
> 
> 
> On May 21, 2011, at 3:21, Mark Jarecki <mj...@bigpond.net.au> wrote:
> 
>> I noticed that the issue persists for exactly 60 seconds, which corresponds to the hbase.resionserver.lease.period. 
>> 
>> Does anyone have any insights on how best to find the cause of this issue?
>> 
>> Thanks in advance.
>> 
>> Mark
>> 
>> 
>> On 21/05/2011, at 3:20 PM, Mark Jarecki wrote:
>> 
>>> Finally got  ttransport.TBufferedTransport to work, however, the same error exists.
>>> 
>>> 
>>> On 21/05/2011, at 3:08 PM, Mark Jarecki wrote:
>>> 
>>>> I've tried, unsuccessfully, to get ttransport.TBufferedTransport to work. 
>>>> 
>>>> 
>>>> On 21/05/2011, at 2:30 PM, Stack wrote:
>>>> 
>>>>> If you use a different transport -- is that possible w/ node.js --
>>>>> does it work then?
>>>>> St.Ack
>>>>> 
>>>>> On Fri, May 20, 2011 at 8:56 PM, Mark Jarecki <mj...@bigpond.net.au> wrote:
>>>>>> Just an addition,
>>>>>> 
>>>>>> I notice that when I restart the thrift server, the exception is no longer persisted.
>>>>>> 
>>>>>> On 21/05/2011, at 1:51 PM, Mark Jarecki wrote:
>>>>>> 
>>>>>>> Hi there,
>>>>>>> Just experimenting with getting Hbase 0.90.3 working with Node.js using Thrift 0.6 (nonblocking & framed transport) and node-thrift.
>>>>>>> I was testing exceptions, by mutating on a column that didn't exist:
>>>>>>>   var mutations = [];
>>>>>>>   mutations.push(new ttypes.Mutation({column: "column1:", value: "value 1"}));
>>>>>>>   client.mutateRow("experimental", "row1", mutations, callback);
>>>>>>> This throws, as expected:
>>>>>>> {"name":"IOError","message":"Failed 1 action: NoSuchColumnFamilyException: 1 time, servers with issues: 10.0.1.2:56195, "}
>>>>>>> 
>>>>>>> The logs read:
>>>>>>> 2011-05-21 13:30:30,924 WARN org.apache.hadoop.hbase.regionserver.HRegion: No such column family in batch put
>>>>>>> org.apache.hadoop.hbase.regionserver.NoSuchColumnFamilyException: Column family column1 does not exist in region experimental,,1305873969637.37ad0e48bf8c5b9b6d0fbb9379b77807. in table {NAME => 'experimental', FAMILIES => [{NAME => 'column2', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', VERSIONS => '3', COMPRESSION => 'NONE', TTL => '-1', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'false'}]}
>>>>>>>   at org.apache.hadoop.hbase.regionserver.HRegion.checkFamily(HRegion.java:3187)
>>>>>>>   at org.apache.hadoop.hbase.regionserver.HRegion.checkFamilies(HRegion.java:1740)
>>>>>>>   at org.apache.hadoop.hbase.regionserver.HRegion.doMiniBatchPut(HRegion.java:1422)
>>>>>>>   at org.apache.hadoop.hbase.regionserver.HRegion.put(HRegion.java:1386)
>>>>>>>   at org.apache.hadoop.hbase.regionserver.HRegionServer.multi(HRegionServer.java:2549)
>>>>>>>   at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
>>>>>>>   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>>>>   at java.lang.reflect.Method.invoke(Method.java:597)
>>>>>>>   at org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:570)
>>>>>>>   at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1039)
>>>>>>> 
>>>>>>> 
>>>>>>> However, all subsequent operations persist with the same exception. Yet the operations themselves are successful. Hbase doesn't want to let the older exception go, it is seemingly retrying on each new operation.
>>>>>>> 
>>>>>>> How do I stop these exceptions persisting?
>>>>>>> 
>>>>>>> Thanks,
>>>>>>> Mark
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>>> 
>>>> 
>>> 
>> 


Re: NoSuchColumnFamilyException Node.JS Thrift

Posted by Stack <sa...@gmail.com>.
You are using a JavaScript binding for thrift?  I wonder if this code is holding the exception (I have not seen this in php access for example)



On May 21, 2011, at 3:21, Mark Jarecki <mj...@bigpond.net.au> wrote:

> I noticed that the issue persists for exactly 60 seconds, which corresponds to the hbase.resionserver.lease.period. 
> 
> Does anyone have any insights on how best to find the cause of this issue?
> 
> Thanks in advance.
> 
> Mark
> 
> 
> On 21/05/2011, at 3:20 PM, Mark Jarecki wrote:
> 
>> Finally got  ttransport.TBufferedTransport to work, however, the same error exists.
>> 
>> 
>> On 21/05/2011, at 3:08 PM, Mark Jarecki wrote:
>> 
>>> I've tried, unsuccessfully, to get ttransport.TBufferedTransport to work. 
>>> 
>>> 
>>> On 21/05/2011, at 2:30 PM, Stack wrote:
>>> 
>>>> If you use a different transport -- is that possible w/ node.js --
>>>> does it work then?
>>>> St.Ack
>>>> 
>>>> On Fri, May 20, 2011 at 8:56 PM, Mark Jarecki <mj...@bigpond.net.au> wrote:
>>>>> Just an addition,
>>>>> 
>>>>> I notice that when I restart the thrift server, the exception is no longer persisted.
>>>>> 
>>>>> On 21/05/2011, at 1:51 PM, Mark Jarecki wrote:
>>>>> 
>>>>>> Hi there,
>>>>>> Just experimenting with getting Hbase 0.90.3 working with Node.js using Thrift 0.6 (nonblocking & framed transport) and node-thrift.
>>>>>> I was testing exceptions, by mutating on a column that didn't exist:
>>>>>>    var mutations = [];
>>>>>>    mutations.push(new ttypes.Mutation({column: "column1:", value: "value 1"}));
>>>>>>    client.mutateRow("experimental", "row1", mutations, callback);
>>>>>> This throws, as expected:
>>>>>> {"name":"IOError","message":"Failed 1 action: NoSuchColumnFamilyException: 1 time, servers with issues: 10.0.1.2:56195, "}
>>>>>> 
>>>>>> The logs read:
>>>>>> 2011-05-21 13:30:30,924 WARN org.apache.hadoop.hbase.regionserver.HRegion: No such column family in batch put
>>>>>> org.apache.hadoop.hbase.regionserver.NoSuchColumnFamilyException: Column family column1 does not exist in region experimental,,1305873969637.37ad0e48bf8c5b9b6d0fbb9379b77807. in table {NAME => 'experimental', FAMILIES => [{NAME => 'column2', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', VERSIONS => '3', COMPRESSION => 'NONE', TTL => '-1', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'false'}]}
>>>>>>    at org.apache.hadoop.hbase.regionserver.HRegion.checkFamily(HRegion.java:3187)
>>>>>>    at org.apache.hadoop.hbase.regionserver.HRegion.checkFamilies(HRegion.java:1740)
>>>>>>    at org.apache.hadoop.hbase.regionserver.HRegion.doMiniBatchPut(HRegion.java:1422)
>>>>>>    at org.apache.hadoop.hbase.regionserver.HRegion.put(HRegion.java:1386)
>>>>>>    at org.apache.hadoop.hbase.regionserver.HRegionServer.multi(HRegionServer.java:2549)
>>>>>>    at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
>>>>>>    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>>>    at java.lang.reflect.Method.invoke(Method.java:597)
>>>>>>    at org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:570)
>>>>>>    at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1039)
>>>>>> 
>>>>>> 
>>>>>> However, all subsequent operations persist with the same exception. Yet the operations themselves are successful. Hbase doesn't want to let the older exception go, it is seemingly retrying on each new operation.
>>>>>> 
>>>>>> How do I stop these exceptions persisting?
>>>>>> 
>>>>>> Thanks,
>>>>>> Mark
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>> 
>>>>> 
>>> 
>> 
> 

Re: NoSuchColumnFamilyException Node.JS Thrift

Posted by Mark Jarecki <mj...@bigpond.net.au>.
I noticed that the issue persists for exactly 60 seconds, which corresponds to the hbase.resionserver.lease.period. 

Does anyone have any insights on how best to find the cause of this issue?

Thanks in advance.

Mark


On 21/05/2011, at 3:20 PM, Mark Jarecki wrote:

> Finally got  ttransport.TBufferedTransport to work, however, the same error exists.
> 
> 
> On 21/05/2011, at 3:08 PM, Mark Jarecki wrote:
> 
>> I've tried, unsuccessfully, to get ttransport.TBufferedTransport to work. 
>> 
>> 
>> On 21/05/2011, at 2:30 PM, Stack wrote:
>> 
>>> If you use a different transport -- is that possible w/ node.js --
>>> does it work then?
>>> St.Ack
>>> 
>>> On Fri, May 20, 2011 at 8:56 PM, Mark Jarecki <mj...@bigpond.net.au> wrote:
>>>> Just an addition,
>>>> 
>>>> I notice that when I restart the thrift server, the exception is no longer persisted.
>>>> 
>>>> On 21/05/2011, at 1:51 PM, Mark Jarecki wrote:
>>>> 
>>>>> Hi there,
>>>>> Just experimenting with getting Hbase 0.90.3 working with Node.js using Thrift 0.6 (nonblocking & framed transport) and node-thrift.
>>>>> I was testing exceptions, by mutating on a column that didn't exist:
>>>>>     var mutations = [];
>>>>>     mutations.push(new ttypes.Mutation({column: "column1:", value: "value 1"}));
>>>>>     client.mutateRow("experimental", "row1", mutations, callback);
>>>>> This throws, as expected:
>>>>> {"name":"IOError","message":"Failed 1 action: NoSuchColumnFamilyException: 1 time, servers with issues: 10.0.1.2:56195, "}
>>>>> 
>>>>> The logs read:
>>>>> 2011-05-21 13:30:30,924 WARN org.apache.hadoop.hbase.regionserver.HRegion: No such column family in batch put
>>>>> org.apache.hadoop.hbase.regionserver.NoSuchColumnFamilyException: Column family column1 does not exist in region experimental,,1305873969637.37ad0e48bf8c5b9b6d0fbb9379b77807. in table {NAME => 'experimental', FAMILIES => [{NAME => 'column2', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', VERSIONS => '3', COMPRESSION => 'NONE', TTL => '-1', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'false'}]}
>>>>>     at org.apache.hadoop.hbase.regionserver.HRegion.checkFamily(HRegion.java:3187)
>>>>>     at org.apache.hadoop.hbase.regionserver.HRegion.checkFamilies(HRegion.java:1740)
>>>>>     at org.apache.hadoop.hbase.regionserver.HRegion.doMiniBatchPut(HRegion.java:1422)
>>>>>     at org.apache.hadoop.hbase.regionserver.HRegion.put(HRegion.java:1386)
>>>>>     at org.apache.hadoop.hbase.regionserver.HRegionServer.multi(HRegionServer.java:2549)
>>>>>     at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
>>>>>     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>>     at java.lang.reflect.Method.invoke(Method.java:597)
>>>>>     at org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:570)
>>>>>     at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1039)
>>>>> 
>>>>> 
>>>>> However, all subsequent operations persist with the same exception. Yet the operations themselves are successful. Hbase doesn't want to let the older exception go, it is seemingly retrying on each new operation.
>>>>> 
>>>>> How do I stop these exceptions persisting?
>>>>> 
>>>>> Thanks,
>>>>> Mark
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>> 
>>>> 
>> 
> 


Re: NoSuchColumnFamilyException Node.JS Thrift

Posted by Mark Jarecki <mj...@bigpond.net.au>.
Finally got  ttransport.TBufferedTransport to work, however, the same error exists.


On 21/05/2011, at 3:08 PM, Mark Jarecki wrote:

> I've tried, unsuccessfully, to get ttransport.TBufferedTransport to work. 
> 
> 
> On 21/05/2011, at 2:30 PM, Stack wrote:
> 
>> If you use a different transport -- is that possible w/ node.js --
>> does it work then?
>> St.Ack
>> 
>> On Fri, May 20, 2011 at 8:56 PM, Mark Jarecki <mj...@bigpond.net.au> wrote:
>>> Just an addition,
>>> 
>>> I notice that when I restart the thrift server, the exception is no longer persisted.
>>> 
>>> On 21/05/2011, at 1:51 PM, Mark Jarecki wrote:
>>> 
>>>> Hi there,
>>>> Just experimenting with getting Hbase 0.90.3 working with Node.js using Thrift 0.6 (nonblocking & framed transport) and node-thrift.
>>>> I was testing exceptions, by mutating on a column that didn't exist:
>>>>      var mutations = [];
>>>>      mutations.push(new ttypes.Mutation({column: "column1:", value: "value 1"}));
>>>>      client.mutateRow("experimental", "row1", mutations, callback);
>>>> This throws, as expected:
>>>> {"name":"IOError","message":"Failed 1 action: NoSuchColumnFamilyException: 1 time, servers with issues: 10.0.1.2:56195, "}
>>>> 
>>>> The logs read:
>>>> 2011-05-21 13:30:30,924 WARN org.apache.hadoop.hbase.regionserver.HRegion: No such column family in batch put
>>>> org.apache.hadoop.hbase.regionserver.NoSuchColumnFamilyException: Column family column1 does not exist in region experimental,,1305873969637.37ad0e48bf8c5b9b6d0fbb9379b77807. in table {NAME => 'experimental', FAMILIES => [{NAME => 'column2', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', VERSIONS => '3', COMPRESSION => 'NONE', TTL => '-1', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'false'}]}
>>>>      at org.apache.hadoop.hbase.regionserver.HRegion.checkFamily(HRegion.java:3187)
>>>>      at org.apache.hadoop.hbase.regionserver.HRegion.checkFamilies(HRegion.java:1740)
>>>>      at org.apache.hadoop.hbase.regionserver.HRegion.doMiniBatchPut(HRegion.java:1422)
>>>>      at org.apache.hadoop.hbase.regionserver.HRegion.put(HRegion.java:1386)
>>>>      at org.apache.hadoop.hbase.regionserver.HRegionServer.multi(HRegionServer.java:2549)
>>>>      at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
>>>>      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>      at java.lang.reflect.Method.invoke(Method.java:597)
>>>>      at org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:570)
>>>>      at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1039)
>>>> 
>>>> 
>>>> However, all subsequent operations persist with the same exception. Yet the operations themselves are successful. Hbase doesn't want to let the older exception go, it is seemingly retrying on each new operation.
>>>> 
>>>> How do I stop these exceptions persisting?
>>>> 
>>>> Thanks,
>>>> Mark
>>>> 
>>>> 
>>>> 
>>>> 
>>> 
>>> 
> 


Re: NoSuchColumnFamilyException Node.JS Thrift

Posted by Mark Jarecki <mj...@bigpond.net.au>.
I've tried, unsuccessfully, to get ttransport.TBufferedTransport to work. 


On 21/05/2011, at 2:30 PM, Stack wrote:

> If you use a different transport -- is that possible w/ node.js --
> does it work then?
> St.Ack
> 
> On Fri, May 20, 2011 at 8:56 PM, Mark Jarecki <mj...@bigpond.net.au> wrote:
>> Just an addition,
>> 
>> I notice that when I restart the thrift server, the exception is no longer persisted.
>> 
>> On 21/05/2011, at 1:51 PM, Mark Jarecki wrote:
>> 
>>> Hi there,
>>> Just experimenting with getting Hbase 0.90.3 working with Node.js using Thrift 0.6 (nonblocking & framed transport) and node-thrift.
>>> I was testing exceptions, by mutating on a column that didn't exist:
>>>       var mutations = [];
>>>       mutations.push(new ttypes.Mutation({column: "column1:", value: "value 1"}));
>>>       client.mutateRow("experimental", "row1", mutations, callback);
>>> This throws, as expected:
>>> {"name":"IOError","message":"Failed 1 action: NoSuchColumnFamilyException: 1 time, servers with issues: 10.0.1.2:56195, "}
>>> 
>>> The logs read:
>>> 2011-05-21 13:30:30,924 WARN org.apache.hadoop.hbase.regionserver.HRegion: No such column family in batch put
>>> org.apache.hadoop.hbase.regionserver.NoSuchColumnFamilyException: Column family column1 does not exist in region experimental,,1305873969637.37ad0e48bf8c5b9b6d0fbb9379b77807. in table {NAME => 'experimental', FAMILIES => [{NAME => 'column2', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', VERSIONS => '3', COMPRESSION => 'NONE', TTL => '-1', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'false'}]}
>>>       at org.apache.hadoop.hbase.regionserver.HRegion.checkFamily(HRegion.java:3187)
>>>       at org.apache.hadoop.hbase.regionserver.HRegion.checkFamilies(HRegion.java:1740)
>>>       at org.apache.hadoop.hbase.regionserver.HRegion.doMiniBatchPut(HRegion.java:1422)
>>>       at org.apache.hadoop.hbase.regionserver.HRegion.put(HRegion.java:1386)
>>>       at org.apache.hadoop.hbase.regionserver.HRegionServer.multi(HRegionServer.java:2549)
>>>       at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
>>>       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>       at java.lang.reflect.Method.invoke(Method.java:597)
>>>       at org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:570)
>>>       at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1039)
>>> 
>>> 
>>> However, all subsequent operations persist with the same exception. Yet the operations themselves are successful. Hbase doesn't want to let the older exception go, it is seemingly retrying on each new operation.
>>> 
>>> How do I stop these exceptions persisting?
>>> 
>>> Thanks,
>>> Mark
>>> 
>>> 
>>> 
>>> 
>> 
>> 


Re: NoSuchColumnFamilyException Node.JS Thrift

Posted by Stack <st...@duboce.net>.
If you use a different transport -- is that possible w/ node.js --
does it work then?
St.Ack

On Fri, May 20, 2011 at 8:56 PM, Mark Jarecki <mj...@bigpond.net.au> wrote:
> Just an addition,
>
> I notice that when I restart the thrift server, the exception is no longer persisted.
>
> On 21/05/2011, at 1:51 PM, Mark Jarecki wrote:
>
>> Hi there,
>> Just experimenting with getting Hbase 0.90.3 working with Node.js using Thrift 0.6 (nonblocking & framed transport) and node-thrift.
>> I was testing exceptions, by mutating on a column that didn't exist:
>>       var mutations = [];
>>       mutations.push(new ttypes.Mutation({column: "column1:", value: "value 1"}));
>>       client.mutateRow("experimental", "row1", mutations, callback);
>> This throws, as expected:
>> {"name":"IOError","message":"Failed 1 action: NoSuchColumnFamilyException: 1 time, servers with issues: 10.0.1.2:56195, "}
>>
>> The logs read:
>> 2011-05-21 13:30:30,924 WARN org.apache.hadoop.hbase.regionserver.HRegion: No such column family in batch put
>> org.apache.hadoop.hbase.regionserver.NoSuchColumnFamilyException: Column family column1 does not exist in region experimental,,1305873969637.37ad0e48bf8c5b9b6d0fbb9379b77807. in table {NAME => 'experimental', FAMILIES => [{NAME => 'column2', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', VERSIONS => '3', COMPRESSION => 'NONE', TTL => '-1', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'false'}]}
>>       at org.apache.hadoop.hbase.regionserver.HRegion.checkFamily(HRegion.java:3187)
>>       at org.apache.hadoop.hbase.regionserver.HRegion.checkFamilies(HRegion.java:1740)
>>       at org.apache.hadoop.hbase.regionserver.HRegion.doMiniBatchPut(HRegion.java:1422)
>>       at org.apache.hadoop.hbase.regionserver.HRegion.put(HRegion.java:1386)
>>       at org.apache.hadoop.hbase.regionserver.HRegionServer.multi(HRegionServer.java:2549)
>>       at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
>>       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>       at java.lang.reflect.Method.invoke(Method.java:597)
>>       at org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:570)
>>       at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1039)
>>
>>
>> However, all subsequent operations persist with the same exception. Yet the operations themselves are successful. Hbase doesn't want to let the older exception go, it is seemingly retrying on each new operation.
>>
>> How do I stop these exceptions persisting?
>>
>> Thanks,
>> Mark
>>
>>
>>
>>
>
>

Re: NoSuchColumnFamilyException Node.JS Thrift

Posted by Mark Jarecki <mj...@bigpond.net.au>.
Just an addition,

I notice that when I restart the thrift server, the exception is no longer persisted.

On 21/05/2011, at 1:51 PM, Mark Jarecki wrote:

> Hi there,
> Just experimenting with getting Hbase 0.90.3 working with Node.js using Thrift 0.6 (nonblocking & framed transport) and node-thrift.
> I was testing exceptions, by mutating on a column that didn't exist:
> 	var mutations = [];
> 	mutations.push(new ttypes.Mutation({column: "column1:", value: "value 1"}));
> 	client.mutateRow("experimental", "row1", mutations, callback);
> This throws, as expected:
> {"name":"IOError","message":"Failed 1 action: NoSuchColumnFamilyException: 1 time, servers with issues: 10.0.1.2:56195, "}
> 
> The logs read:
> 2011-05-21 13:30:30,924 WARN org.apache.hadoop.hbase.regionserver.HRegion: No such column family in batch put
> org.apache.hadoop.hbase.regionserver.NoSuchColumnFamilyException: Column family column1 does not exist in region experimental,,1305873969637.37ad0e48bf8c5b9b6d0fbb9379b77807. in table {NAME => 'experimental', FAMILIES => [{NAME => 'column2', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', VERSIONS => '3', COMPRESSION => 'NONE', TTL => '-1', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'false'}]}
> 	at org.apache.hadoop.hbase.regionserver.HRegion.checkFamily(HRegion.java:3187)
> 	at org.apache.hadoop.hbase.regionserver.HRegion.checkFamilies(HRegion.java:1740)
> 	at org.apache.hadoop.hbase.regionserver.HRegion.doMiniBatchPut(HRegion.java:1422)
> 	at org.apache.hadoop.hbase.regionserver.HRegion.put(HRegion.java:1386)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.multi(HRegionServer.java:2549)
> 	at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:570)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1039)
> 
> 
> However, all subsequent operations persist with the same exception. Yet the operations themselves are successful. Hbase doesn't want to let the older exception go, it is seemingly retrying on each new operation.
> 
> How do I stop these exceptions persisting?
> 
> Thanks,
> Mark
> 
> 
> 
>