So I have this code which when runs is doing what I expect from a new row

    val table = new HTable(conf, "mytable")

    val theput= new Put(Bytes.toBytes("rowkey1"))


 theput.add(Bytes.toBytes("ids"),Bytes.toBytes("id2"),Bytes.toBytes("one"))

    println("check and put 1" +
table.checkAndPut(Bytes.toBytes("rowkey1"),Bytes.toBytes("ids"),Bytes.toBytes("id2"),null,theput))

    println("check and put 2" +
table.checkAndPut(Bytes.toBytes("rowkey1"),Bytes.toBytes("ids"),Bytes.toBytes("id2"),null,theput))

check and put 1true
check and put 2false

when I run my test app again, I would expect false and false (since the row
already has the column there)

check and put 1true
check and put 2false

I don't understand I thought it would be

check and put 1false
check and put 2false

hbase(main):012:0> scan 'mytable'
ROW                                                 COLUMN+CELL


 rowkey1                                            column=ids:id2,
timestamp=1325018846038, value=one

1 row(s) in 1.1010 seconds


-- 

/*
Joe Stein
http://www.linkedin.com/in/charmalloc
Twitter: @allthingshadoop <http://twitter.com/#!/allthingshadoop>
*/

Reply via email to