[
https://issues.apache.org/jira/browse/HBASE-657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12623198#action_12623198
]
Tim Sell commented on HBASE-657:
--------------------------------
Apologies..
I forgot to add my mutation to the List<Mutations> !!
This works now.
To summarise:
Putting to an invalid column using a BatchUpdate throws:
- org.apache.hadoop.hbase.regionserver.NoSuchColumnFamilyException: Column
family on invalid:col does not exist in region demo_table ... etc
Getting from an invalid column using HTable.get(...) throws:
- org.apache.hadoop.hbase.regionserver.NoSuchColumnFamilyException: Column
family on invalid:col does not exist in region demo_table ... etc
Putting to an invalid column using thrift, mutateRow(...) throws:
-
IOError(message:org.apache.hadoop.hbase.regionserver.NoSuchColumnFamilyException:
Column family on invalid:col does not exist in region demo_table ... etc
Getting from an invalid column using thrift, get(...) throws:
-
IOError(message:org.apache.hadoop.hbase.regionserver.NoSuchColumnFamilyException:
Column family on invalide:col does not exist in region demo_table ... etc
I think we can close this issue now. This is one of the things we need to unit
test in HBASE-837.
> InvalidColumnNameException not passed through to Thrift interface
> -----------------------------------------------------------------
>
> Key: HBASE-657
> URL: https://issues.apache.org/jira/browse/HBASE-657
> Project: Hadoop HBase
> Issue Type: Bug
> Components: thrift
> Affects Versions: 0.1.2
> Reporter: Todd Lipcon
> Assignee: Bryan Duxbury
> Priority: Minor
> Attachments: null-column-name.patch
>
>
> If an invalid column name is passed to the Thrift server, the
> InvalidColumnNameException is not caught and turned into a Thrift exception.
> Debug output:
> 08/05/29 20:34:30 DEBUG thrift.ThriftServer$HBaseHandler: get:
> table=test_table, row=todd, col=foobar
> 08/05/29 20:34:30 DEBUG hbase.HTable: reloading table servers because:
> org.apache.hadoop.hbase.InvalidColumnNameException: foobar is missing the
> colon family/qualifier separator
> at
> org.apache.hadoop.hbase.HStoreKey.getColonOffset(HStoreKey.java:335)
> at org.apache.hadoop.hbase.HStoreKey.extractFamily(HStoreKey.java:295)
> at org.apache.hadoop.hbase.HRegion.checkColumn(HRegion.java:1676)
> at org.apache.hadoop.hbase.HRegion.get(HRegion.java:1191)
> at org.apache.hadoop.hbase.HRegion.get(HRegion.java:1154)
> at org.apache.hadoop.hbase.HRegionServer.get(HRegionServer.java:1402)
> at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at org.apache.hadoop.hbase.ipc.HbaseRPC$Server.call(HbaseRPC.java:413)
> at org.apache.hadoop.ipc.Server$Handler.run(Server.java:901)
> 08/05/29 20:34:40 DEBUG hbase.HTable: reloading table servers because:
> org.apache.hadoop.hbase.InvalidColumnNameException: foobar is missing the
> colon family/qualifier separator
> at
> org.apache.hadoop.hbase.HStoreKey.getColonOffset(HStoreKey.java:335)
> at org.apache.hadoop.hbase.HStoreKey.extractFamily(HStoreKey.java:295)
> at org.apache.hadoop.hbase.HRegion.checkColumn(HRegion.java:1676)
> at org.apache.hadoop.hbase.HRegion.get(HRegion.java:1191)
> at org.apache.hadoop.hbase.HRegion.get(HRegion.java:1154)
> at org.apache.hadoop.hbase.HRegionServer.get(HRegionServer.java:1402)
> at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at org.apache.hadoop.hbase.ipc.HbaseRPC$Server.call(HbaseRPC.java:413)
> at org.apache.hadoop.ipc.Server$Handler.run(Server.java:901)
> 08/05/29 20:34:50 DEBUG hbase.HTable: reloading table servers because:
> org.apache.hadoop.hbase.InvalidColumnNameException: foobar is missing the
> colon family/qualifier separator
> at
> org.apache.hadoop.hbase.HStoreKey.getColonOffset(HStoreKey.java:335)
> at org.apache.hadoop.hbase.HStoreKey.extractFamily(HStoreKey.java:295)
> at org.apache.hadoop.hbase.HRegion.checkColumn(HRegion.java:1676)
> at org.apache.hadoop.hbase.HRegion.get(HRegion.java:1191)
> at org.apache.hadoop.hbase.HRegion.get(HRegion.java:1154)
> at org.apache.hadoop.hbase.HRegionServer.get(HRegionServer.java:1402)
> at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at org.apache.hadoop.hbase.ipc.HbaseRPC$Server.call(HbaseRPC.java:413)
> at org.apache.hadoop.ipc.Server$Handler.run(Server.java:901)
> 08/05/29 20:35:00 DEBUG hbase.HTable: reloading table servers because:
> org.apache.hadoop.hbase.InvalidColumnNameException: foobar is missing the
> colon family/qualifier separator
> at
> org.apache.hadoop.hbase.HStoreKey.getColonOffset(HStoreKey.java:335)
> at org.apache.hadoop.hbase.HStoreKey.extractFamily(HStoreKey.java:295)
> at org.apache.hadoop.hbase.HRegion.checkColumn(HRegion.java:1676)
> at org.apache.hadoop.hbase.HRegion.get(HRegion.java:1191)
> at org.apache.hadoop.hbase.HRegion.get(HRegion.java:1154)
> at org.apache.hadoop.hbase.HRegionServer.get(HRegionServer.java:1402)
> at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at org.apache.hadoop.hbase.ipc.HbaseRPC$Server.call(HbaseRPC.java:413)
> at org.apache.hadoop.ipc.Server$Handler.run(Server.java:901)
> 08/05/29 20:35:10 DEBUG hbase.HTable: Trying to contact region server for row
> 'todd', but failed after 5 attempts.
> Exception 1:
> org.apache.hadoop.hbase.InvalidColumnNameException:
> org.apache.hadoop.hbase.InvalidColumnNameException: foobar is missing the
> colon family/qualifier separator
> at
> org.apache.hadoop.hbase.HStoreKey.getColonOffset(HStoreKey.java:335)
> at org.apache.hadoop.hbase.HStoreKey.extractFamily(HStoreKey.java:295)
> at org.apache.hadoop.hbase.HRegion.checkColumn(HRegion.java:1676)
> at org.apache.hadoop.hbase.HRegion.get(HRegion.java:1191)
> at org.apache.hadoop.hbase.HRegion.get(HRegion.java:1154)
> at org.apache.hadoop.hbase.HRegionServer.get(HRegionServer.java:1402)
> at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at org.apache.hadoop.hbase.ipc.HbaseRPC$Server.call(HbaseRPC.java:413)
> at org.apache.hadoop.ipc.Server$Handler.run(Server.java:901)
> Exception 1:
> org.apache.hadoop.hbase.InvalidColumnNameException:
> org.apache.hadoop.hbase.InvalidColumnNameException: foobar is missing the
> colon family/qualifier separator
> at
> org.apache.hadoop.hbase.HStoreKey.getColonOffset(HStoreKey.java:335)
> at org.apache.hadoop.hbase.HStoreKey.extractFamily(HStoreKey.java:295)
> at org.apache.hadoop.hbase.HRegion.checkColumn(HRegion.java:1676)
> at org.apache.hadoop.hbase.HRegion.get(HRegion.java:1191)
> at org.apache.hadoop.hbase.HRegion.get(HRegion.java:1154)
> at org.apache.hadoop.hbase.HRegionServer.get(HRegionServer.java:1402)
> at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at org.apache.hadoop.hbase.ipc.HbaseRPC$Server.call(HbaseRPC.java:413)
> at org.apache.hadoop.ipc.Server$Handler.run(Server.java:901)
> Exception 1:
> org.apache.hadoop.hbase.InvalidColumnNameException:
> org.apache.hadoop.hbase.InvalidColumnNameException: foobar is missing the
> colon family/qualifier separator
> at
> org.apache.hadoop.hbase.HStoreKey.getColonOffset(HStoreKey.java:335)
> at org.apache.hadoop.hbase.HStoreKey.extractFamily(HStoreKey.java:295)
> at org.apache.hadoop.hbase.HRegion.checkColumn(HRegion.java:1676)
> at org.apache.hadoop.hbase.HRegion.get(HRegion.java:1191)
> at org.apache.hadoop.hbase.HRegion.get(HRegion.java:1154)
> at org.apache.hadoop.hbase.HRegionServer.get(HRegionServer.java:1402)
> at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at org.apache.hadoop.hbase.ipc.HbaseRPC$Server.call(HbaseRPC.java:413)
> at org.apache.hadoop.ipc.Server$Handler.run(Server.java:901)
> Exception 1:
> org.apache.hadoop.hbase.InvalidColumnNameException:
> org.apache.hadoop.hbase.InvalidColumnNameException: foobar is missing the
> colon family/qualifier separator
> at
> org.apache.hadoop.hbase.HStoreKey.getColonOffset(HStoreKey.java:335)
> at org.apache.hadoop.hbase.HStoreKey.extractFamily(HStoreKey.java:295)
> at org.apache.hadoop.hbase.HRegion.checkColumn(HRegion.java:1676)
> at org.apache.hadoop.hbase.HRegion.get(HRegion.java:1191)
> at org.apache.hadoop.hbase.HRegion.get(HRegion.java:1154)
> at org.apache.hadoop.hbase.HRegionServer.get(HRegionServer.java:1402)
> at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at org.apache.hadoop.hbase.ipc.HbaseRPC$Server.call(HbaseRPC.java:413)
> at org.apache.hadoop.ipc.Server$Handler.run(Server.java:901)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.