hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Erdem Agaoglu <erdem.agao...@gmail.com>
Subject online_merge on 0.92.1 cdh4
Date Wed, 03 Oct 2012 14:59:52 GMT
Hi all,

We tried online_merge on one of our tables today and got screwed big time.
dryrun failed several times because unknown constructors of HServerAddress,
HRegionInfo.

We fixed those and passed to normalRun and failed on admin.closeRegion
because online_merge was providing region server as 'host:port' while
method expects it as 'host,port,startsecond'.
StringIndexOutOfBoundsException was pretty helpful.

We fixed that too, only to fail at admin.assign because method was not
expecting a second argument, which was set to true at online_merge.rb. We
think we did fix that too, but it was no longer relevant because we had a
table with unassigned regions and a broken .META. record. Applications were
warning with

o.a.h.h.c.HConnectionManager$HConnectionImplementation - Encountered
problems when prefetch META table:
java.io.IOException: HRegionInfo was null or empty in Meta for <tablename>

We discovered that there were rows in .META. about the table without
info:regioninfo column and found out that these were causing warnings, so
deleted those rows. This fixed these warnings.

After that we saw that the only region of the table after the merge has an
endKey attribute, so our scan's or get's fail with WrongRegionException. We
tried to change the endKey value in .META. but we killed .META. scanning in
the process. Deleted the tampered row and hbck -repair'ed only to get back
to square one: single region with an endKey.

Any ideas on how to set a region definition without an endKey would be
greatly appreciated.

-- 
erdem agaoglu

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message