Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-657

InvalidColumnNameException not passed through to Thrift interface

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Invalid
    • 0.1.2
    • 0.2.1, 0.18.0
    • Thrift
    • None

    Description

      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)

      Attachments

        1. null-column-name.patch
          2 kB
          Toby White

        Issue Links

          Activity

            People

              tim_s Tim Sell
              tlipcon Todd Lipcon
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: