Author: stack Date: Fri Jun 6 12:52:24 2008 New Revision: 664105 URL: http://svn.apache.org/viewvc?rev=664105&view=rev Log: HBASE-670 Historian deadlocks if regionserver is at global memory boundary and is hosting .META.
Modified: hadoop/hbase/trunk/CHANGES.txt hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/RegionHistorian.java Modified: hadoop/hbase/trunk/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/CHANGES.txt?rev=664105&r1=664104&r2=664105&view=diff ============================================================================== --- hadoop/hbase/trunk/CHANGES.txt (original) +++ hadoop/hbase/trunk/CHANGES.txt Fri Jun 6 12:52:24 2008 @@ -41,6 +41,8 @@ HBASE-654 API HTable.getMetadata().addFamily shouldn't be exposed to user HBASE-666 UnmodifyableHRegionInfo gives the wrong encoded name HBASE-668 HBASE-533 broke build + HBASE-670 Historian deadlocks if regionserver is at global memory boundary + and is hosting .META. IMPROVEMENTS HBASE-559 MR example job to count table rows Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/RegionHistorian.java URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/RegionHistorian.java?rev=664105&r1=664104&r2=664105&view=diff ============================================================================== --- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/RegionHistorian.java (original) +++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/RegionHistorian.java Fri Jun 6 12:52:24 2008 @@ -180,22 +180,22 @@ * Method to add a compaction event to the row in the .META table * @param info */ - public void addRegionCompaction(HRegionInfo info, String timeTaken) { - if (LOG.isDebugEnabled()) { - add(HistorianColumnKey.REGION_COMPACTION.key, - "Region compaction completed in " + timeTaken, info); - } + public void addRegionCompaction(HRegionInfo info, + @SuppressWarnings("unused") String timeTaken) { + // Disabled. Noop. If this regionserver is hosting the .META. AND is + // holding the reclaimMemcacheMemory global lock, we deadlock. For now, + // just disable logging of flushes and compactions. } /** * Method to add a flush event to the row in the .META table * @param info */ - public void addRegionFlush(HRegionInfo info, String timeTaken) { - if (LOG.isDebugEnabled()) { - add(HistorianColumnKey.REGION_FLUSH.key, "Region flush completed in " - + timeTaken, info); - } + public void addRegionFlush(HRegionInfo info, + @SuppressWarnings("unused") String timeTaken) { + // Disabled. Noop. If this regionserver is hosting the .META. AND is + // holding the reclaimMemcacheMemory global lock, we deadlock. For now, + // just disable logging of flushes and compactions. } /** @@ -296,6 +296,9 @@ public void online(final HBaseConfiguration c) { try { this.metaTable = new HTable(c, META_TABLE_NAME); + if (LOG.isDebugEnabled()) { + LOG.debug("Onlined"); + } } catch (IOException ioe) { LOG.error("Unable to create RegionHistorian", ioe); } @@ -307,5 +310,8 @@ */ public void offline() { this.metaTable = null; + if (LOG.isDebugEnabled()) { + LOG.debug("Offlined"); + } } } \ No newline at end of file