From 8de1e7de79649be5abffbaa2a5c8a5b2fae212e9 Mon Sep 17 00:00:00 2001 From: Michael Stack Date: Thu, 6 Mar 2008 19:49:54 +0000 Subject: [PATCH] HBASE-496 impossible state for createLease writes 400k lines in about 15mins git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@634395 13f79535-47bb-0310-9956-ffa450edef68 --- CHANGES.txt | 1 + .../hbase/regionserver/HRegionServer.java | 48 ++++++++----------- 2 files changed, 22 insertions(+), 27 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index fca2b433427..5bfb11a74ef 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -30,6 +30,7 @@ Hbase Change Log the region server HBASE-490 Doubly-assigned .META.; master uses one and clients another HBASE-492 hbase TRUNK does not build against hadoop TRUNK + HBASE-496 impossible state for createLease writes 400k lines in about 15mins IMPROVEMENTS HBASE-415 Rewrite leases to use DelayedBlockingQueue instead of polling diff --git a/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java b/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java index 52377f65c36..45569f1f5c1 100644 --- a/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java +++ b/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java @@ -26,7 +26,6 @@ import java.net.InetSocketAddress; import java.net.UnknownHostException; import java.util.ArrayList; import java.util.Collections; -import java.util.ConcurrentModificationException; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; @@ -38,8 +37,6 @@ import java.util.SortedMap; import java.util.TreeMap; import java.util.concurrent.BlockingQueue; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.Delayed; -import java.util.concurrent.DelayQueue; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; @@ -51,42 +48,39 @@ import org.apache.commons.logging.LogFactory; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; +import org.apache.hadoop.hbase.HBaseConfiguration; +import org.apache.hadoop.hbase.HConstants; +import org.apache.hadoop.hbase.HMsg; +import org.apache.hadoop.hbase.HRegionInfo; +import org.apache.hadoop.hbase.HScannerInterface; +import org.apache.hadoop.hbase.HServerAddress; +import org.apache.hadoop.hbase.HServerInfo; +import org.apache.hadoop.hbase.HServerLoad; +import org.apache.hadoop.hbase.HStoreKey; +import org.apache.hadoop.hbase.HTableDescriptor; +import org.apache.hadoop.hbase.LeaseListener; +import org.apache.hadoop.hbase.Leases; +import org.apache.hadoop.hbase.LocalHBaseCluster; +import org.apache.hadoop.hbase.NotServingRegionException; +import org.apache.hadoop.hbase.RegionServerRunningException; +import org.apache.hadoop.hbase.RemoteExceptionHandler; +import org.apache.hadoop.hbase.UnknownScannerException; import org.apache.hadoop.hbase.filter.RowFilterInterface; import org.apache.hadoop.hbase.io.BatchUpdate; +import org.apache.hadoop.hbase.io.HbaseMapWritable; import org.apache.hadoop.hbase.io.ImmutableBytesWritable; +import org.apache.hadoop.hbase.ipc.HMasterRegionInterface; +import org.apache.hadoop.hbase.ipc.HRegionInterface; import org.apache.hadoop.hbase.ipc.HbaseRPC; import org.apache.hadoop.hbase.util.FSUtils; import org.apache.hadoop.hbase.util.InfoServer; import org.apache.hadoop.hbase.util.Sleeper; import org.apache.hadoop.hbase.util.Threads; -import org.apache.hadoop.hbase.util.Writables; -import org.apache.hadoop.hbase.io.HbaseMapWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.io.Writable; import org.apache.hadoop.ipc.Server; import org.apache.hadoop.net.DNS; import org.apache.hadoop.util.StringUtils; -import org.apache.hadoop.hbase.HConstants; -import org.apache.hadoop.hbase.HServerInfo; -import org.apache.hadoop.hbase.HBaseConfiguration; -import org.apache.hadoop.hbase.HMsg; -import org.apache.hadoop.hbase.HStoreKey; -import org.apache.hadoop.hbase.Leases; -import org.apache.hadoop.hbase.HServerAddress; -import org.apache.hadoop.hbase.RegionServerRunningException; -import org.apache.hadoop.hbase.HRegionInfo; -import org.apache.hadoop.hbase.NotServingRegionException; -import org.apache.hadoop.hbase.HScannerInterface; -import org.apache.hadoop.hbase.LeaseListener; -import org.apache.hadoop.hbase.RemoteExceptionHandler; -import org.apache.hadoop.hbase.DroppedSnapshotException; -import org.apache.hadoop.hbase.HServerLoad; -import org.apache.hadoop.hbase.HTableDescriptor; -import org.apache.hadoop.hbase.UnknownScannerException; -import org.apache.hadoop.hbase.LocalHBaseCluster; -import org.apache.hadoop.hbase.ipc.HRegionInterface; -import org.apache.hadoop.hbase.client.HTable; -import org.apache.hadoop.hbase.ipc.HMasterRegionInterface; /** * HRegionServer makes a set of HRegions available to clients. It checks in with @@ -646,8 +640,8 @@ public class HRegionServer implements HConstants, HRegionInterface, Runnable { try { this.requestCount.set(0); this.serverInfo.setLoad(new HServerLoad(0, onlineRegions.size())); - result = this.hbaseMaster.regionServerStartup(serverInfo); lastMsg = System.currentTimeMillis(); + result = this.hbaseMaster.regionServerStartup(serverInfo); if (LOG.isDebugEnabled()) { LOG.debug("Done telling master we are up"); }