HBASE-3872 Hole in split transaction rollback; edits to .META. need to be rolled back even if it seems like they didn't make it; fix failing HRegion test -- server passed is null, allow for this in tests when running splits

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1146557 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Michael Stack 2011-07-14 05:05:54 +00:00
parent 0a0ce9f1ae
commit f54803aac2
1 changed files with 5 additions and 3 deletions

View File

@ -375,7 +375,8 @@ public class SplitTransaction {
DaughterOpener(final Server s, final RegionServerServices services,
final HRegion r) {
super(s.getServerName() + "-daughterOpener=" + r.getRegionInfo().getEncodedName());
super((s == null? "null-services": s.getServerName()) +
"-daughterOpener=" + r.getRegionInfo().getEncodedName());
setDaemon(true);
this.services = services;
this.server = s;
@ -411,8 +412,9 @@ public class SplitTransaction {
void openDaughterRegion(final Server server,
final RegionServerServices services, final HRegion daughter)
throws IOException, KeeperException {
boolean stopped = server != null && server.isStopped();
boolean stopping = services != null && services.isStopping();
if (server.isStopped() || stopping) {
if (stopped || stopping) {
MetaEditor.addDaughter(server.getCatalogTracker(),
daughter.getRegionInfo(), null);
LOG.info("Not opening daughter " +
@ -421,7 +423,7 @@ public class SplitTransaction {
return;
}
HRegionInfo hri = daughter.getRegionInfo();
LoggingProgressable reporter =
LoggingProgressable reporter = server == null? null:
new LoggingProgressable(hri, server.getConfiguration());
HRegion r = daughter.openHRegion(reporter);
if (services != null) {