HADOOP-1723 If master asks region server to shut down, by-pass return of shutdown message
git-svn-id: https://svn.apache.org/repos/asf/lucene/hadoop/trunk/src/contrib/hbase@567864 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
00c1b877e8
commit
4ebd558b41
|
@ -10,6 +10,8 @@ Trunk (unreleased changes)
|
|||
OPTIMIZATIONS
|
||||
|
||||
BUG FIXES
|
||||
HADOOP-1723 If master asks region server to shut down, by-pass return of
|
||||
shutdown message
|
||||
HADOOP-1729 Recent renaming or META tables breaks hbase shell
|
||||
HADOOP-1730 unexpected null value causes META scanner to exit (silently)
|
||||
|
||||
|
|
|
@ -580,6 +580,7 @@ public class HRegionServer implements HConstants, HRegionInterface, Runnable {
|
|||
|
||||
// Server
|
||||
|
||||
boolean masterRequestedStop = false;
|
||||
try {
|
||||
this.server.start();
|
||||
LOG.info("HRegionServer started at: " +
|
||||
|
@ -663,6 +664,7 @@ public class HRegionServer implements HConstants, HRegionInterface, Runnable {
|
|||
if (LOG.isDebugEnabled()) {
|
||||
LOG.debug("Got regionserver stop message");
|
||||
}
|
||||
masterRequestedStop = true;
|
||||
stopRequested = true;
|
||||
break;
|
||||
|
||||
|
@ -757,18 +759,20 @@ public class HRegionServer implements HConstants, HRegionInterface, Runnable {
|
|||
LOG.error("", e);
|
||||
}
|
||||
try {
|
||||
HMsg[] exitMsg = new HMsg[closedRegions.size() + 1];
|
||||
exitMsg[0] = new HMsg(HMsg.MSG_REPORT_EXITING);
|
||||
// Tell the master what regions we are/were serving
|
||||
int i = 1;
|
||||
for(HRegion region: closedRegions) {
|
||||
exitMsg[i++] = new HMsg(HMsg.MSG_REPORT_CLOSE,
|
||||
region.getRegionInfo());
|
||||
}
|
||||
if (!masterRequestedStop) {
|
||||
HMsg[] exitMsg = new HMsg[closedRegions.size() + 1];
|
||||
exitMsg[0] = new HMsg(HMsg.MSG_REPORT_EXITING);
|
||||
// Tell the master what regions we are/were serving
|
||||
int i = 1;
|
||||
for(HRegion region: closedRegions) {
|
||||
exitMsg[i++] = new HMsg(HMsg.MSG_REPORT_CLOSE,
|
||||
region.getRegionInfo());
|
||||
}
|
||||
|
||||
LOG.info("telling master that region server is shutting down at: " +
|
||||
serverInfo.getServerAddress().toString());
|
||||
hbaseMaster.regionServerReport(serverInfo, exitMsg);
|
||||
LOG.info("telling master that region server is shutting down at: " +
|
||||
serverInfo.getServerAddress().toString());
|
||||
hbaseMaster.regionServerReport(serverInfo, exitMsg);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
if (e instanceof RemoteException) {
|
||||
try {
|
||||
|
@ -1124,6 +1128,7 @@ public class HRegionServer implements HConstants, HRegionInterface, Runnable {
|
|||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@SuppressWarnings("deprecation")
|
||||
public long startUpdate(Text regionName, long clientid, Text row)
|
||||
throws IOException {
|
||||
requestCount.incrementAndGet();
|
||||
|
@ -1135,6 +1140,7 @@ public class HRegionServer implements HConstants, HRegionInterface, Runnable {
|
|||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@SuppressWarnings("deprecation")
|
||||
public void put(final Text regionName, final long clientid,
|
||||
final long lockid, final Text column, final byte [] val)
|
||||
throws IOException {
|
||||
|
@ -1145,6 +1151,7 @@ public class HRegionServer implements HConstants, HRegionInterface, Runnable {
|
|||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@SuppressWarnings("deprecation")
|
||||
public void delete(Text regionName, long clientid, long lockid, Text column)
|
||||
throws IOException {
|
||||
requestCount.incrementAndGet();
|
||||
|
@ -1154,6 +1161,7 @@ public class HRegionServer implements HConstants, HRegionInterface, Runnable {
|
|||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@SuppressWarnings("deprecation")
|
||||
public void abort(Text regionName, long clientid, long lockid)
|
||||
throws IOException {
|
||||
requestCount.incrementAndGet();
|
||||
|
@ -1163,6 +1171,7 @@ public class HRegionServer implements HConstants, HRegionInterface, Runnable {
|
|||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@SuppressWarnings("deprecation")
|
||||
public void commit(Text regionName, final long clientid, final long lockid,
|
||||
final long timestamp) throws IOException {
|
||||
requestCount.incrementAndGet();
|
||||
|
@ -1172,6 +1181,7 @@ public class HRegionServer implements HConstants, HRegionInterface, Runnable {
|
|||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@SuppressWarnings("deprecation")
|
||||
public void renewLease(long lockid, long clientid) throws IOException {
|
||||
requestCount.incrementAndGet();
|
||||
leases.renewLease(clientid, lockid);
|
||||
|
|
|
@ -60,7 +60,7 @@
|
|||
</property>
|
||||
<property>
|
||||
<name>hbase.master.lease.period</name>
|
||||
<value>5000</value>
|
||||
<value>6000</value>
|
||||
<description>Length of time the master will wait before timing out a region
|
||||
server lease. Since region servers report in every second (see above), this
|
||||
value has been reduced so that the master will notice a dead region server
|
||||
|
@ -69,7 +69,7 @@
|
|||
</property>
|
||||
<property>
|
||||
<name>hbase.master.lease.thread.wakefrequency</name>
|
||||
<value>2500</value>
|
||||
<value>3000</value>
|
||||
<description>The interval between checks for expired region server leases.
|
||||
This value has been reduced due to the other reduced values above so that
|
||||
the master will notice a dead region server sooner. The default is 15 seconds.
|
||||
|
|
Loading…
Reference in New Issue