Return-Path: Delivered-To: apmail-hadoop-hbase-dev-archive@locus.apache.org Received: (qmail 79559 invoked from network); 14 Aug 2008 18:44:05 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 14 Aug 2008 18:44:05 -0000 Received: (qmail 4867 invoked by uid 500); 14 Aug 2008 18:44:04 -0000 Delivered-To: apmail-hadoop-hbase-dev-archive@hadoop.apache.org Received: (qmail 4849 invoked by uid 500); 14 Aug 2008 18:44:04 -0000 Mailing-List: contact hbase-dev-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: hbase-dev@hadoop.apache.org Delivered-To: mailing list hbase-dev@hadoop.apache.org Received: (qmail 4838 invoked by uid 99); 14 Aug 2008 18:44:04 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 14 Aug 2008 11:44:04 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 14 Aug 2008 18:43:15 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 65166234C1AD for ; Thu, 14 Aug 2008 11:43:44 -0700 (PDT) Message-ID: <122681255.1218739424413.JavaMail.jira@brutus> Date: Thu, 14 Aug 2008 11:43:44 -0700 (PDT) From: "Toby White (JIRA)" To: hbase-dev@hadoop.apache.org Subject: [jira] Commented: (HBASE-657) InvalidColumnNameException not passed through to Thrift interface In-Reply-To: <26655732.1212108225237.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/HBASE-657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12622635#action_12622635 ] Toby White commented on HBASE-657: ---------------------------------- There is a related issue which occurs when a Mutation is passed in with no column name - a rather opaque thrift.transport.TTransport.TTransportException: None is generated instead of a useful message. The patch attached fixes this in ThriftServer.java by checking that the column name is not null before use. (The patch is to be applied on top of Tim Sell's patch in HBASE-697) > 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 > > 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.