Grokbase Groups HBase user June 2012
0.90.4-cdh3u3 is the version I'm running.

On 6/27/2012 5:50 PM, Ted Yu wrote:
I created HBASE-6287 <> for porting HBASE-5941 to

What version of HBase are you using ?

Since HBASE-5941 is an improvement, a vote may be raised for porting it to other branches.

On Wed, Jun 27, 2012 at 4:15 PM, Jeff Whiting wrote:

Looking at HBASE-6284 it seems that deletes are not batched at the regionserver level so that
is the reason for the performance degradation. Additionally HBASE-5941 with the locks is also
contributing to the performance degradation.

So until those changes get into an hbase release I just have to live with the slower
performance. Is there anything I need to do on my end?

Just as a sanity check, I tried setting a timestamp in the delete object but it made no
difference. I'll batch my deletes at end as you suggested (as memory allows).


On 6/27/2012 4:11 PM, Ted Yu wrote:

Can you point us to the JIRA or changelist in 0.89-fb ?


On Wed, Jun 27, 2012 at 3:05 PM, Amitanand Aiyer wrote:

There was some difference in the way locks are taken for batched deletes
and puts. This was fixed for 89.

I wonder if the same could be the issue here.

Sent from my iPhone

On Jun 27, 2012, at 2:04 PM, "Jeff Whiting" wrote:

I'm struggling to understand why my deletes are taking longer than my

inserts. My understanding is that a delete is just an insertion of a
tombstone. And I'm deleting the entire row.

I do a simple loop (pseudo code) and insert the 100 byte rows:

for (int i=0; i < 50000; i++)
puts.append(new Put(rowkey[i], oneHundredBytes[i]));

if (puts.size() % 1000 == 0)

The above takes about 8282ms total.

However the delete takes more than twice as long:

Iterator it = table.getScannerScan(rowkey[0],


r =;
deletes.append(new Delete(r.getRow()));
if (deletes.size() % 1000 == 0)

The above takes 17369ms total.

I'm only benchmarking the deletion time and not the scan time.

Additionally if I batch the deletes into one big one at the end (rather
than while I'm scanning) it takes about the same amount of time. I am
deleting the entire row so I wouldn't think it would be doing a read before
the delete (

Any thoughts on why it is slower and how I can speed it up?


Jeff Whiting
Qualtrics Senior Software Engineer

Jeff Whiting
Qualtrics Senior Software Engineer

Jeff Whiting
Qualtrics Senior Software Engineer

Search Discussions

Discussion Posts


Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 8 of 8 | next ›
Discussion Overview
groupuser @
categorieshbase, hadoop
postedJun 27, '12 at 9:04p
activeJun 28, '12 at 2:38p



site design / logo © 2022 Grokbase