HTable.checkAndPut/Delete doesn't handle null values
----------------------------------------------------

                 Key: HBASE-2920
                 URL: https://issues.apache.org/jira/browse/HBASE-2920
             Project: HBase
          Issue Type: Bug
    Affects Versions: 0.89.20100621
            Reporter: Jean-Daniel Cryans
            Priority: Critical
             Fix For: 0.90.0


>From John Beatty on the ML:

{quote}
Thanks Ryan, but I seem to be missing something then. It NPEs for me.
When running against 0.89.20100726 and providing a null expected value
I get the below stack trace (and works like a champ when I provide a
byte[0]. I also don't see the transformation you're referring to in
HTable.

(for reference,
http://svn.apache.org/viewvc/hbase/branches/0.89.20100726/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java?view=markup)

java.io.IOException: java.io.IOException: java.lang.NullPointerException
       at 
org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:845)
       at 
org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:835)
       at 
org.apache.hadoop.hbase.regionserver.HRegionServer.checkAndMutate(HRegionServer.java:1754)
       at 
org.apache.hadoop.hbase.regionserver.HRegionServer.checkAndPut(HRegionServer.java:1773)
       at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
       at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:576)
       at 
org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:919)
Caused by: java.lang.NullPointerException
       at 
org.apache.hadoop.hbase.regionserver.HRegion.checkAndMutate(HRegion.java:1616)
       at 
org.apache.hadoop.hbase.regionserver.HRegionServer.checkAndMutate(HRegionServer.java:1751)
       ... 6 more
{quote}

Looking in the code, I'm not sure either where the null conversion is done, 
even worse is that we don't even have unit tests! It should be put 
intoTestFromClientSide.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to