Author: jimk Date: Tue Jul 3 21:48:18 2007 New Revision: 553080 URL: http://svn.apache.org/viewvc?view=rev&rev=553080 Log: HADOOP-1560 NPE in MiniHBaseCluster on Windows
Modified: lucene/hadoop/trunk/src/contrib/hbase/CHANGES.txt lucene/hadoop/trunk/src/contrib/hbase/src/test/org/apache/hadoop/hbase/AbstractMergeTestBase.java lucene/hadoop/trunk/src/contrib/hbase/src/test/org/apache/hadoop/hbase/MiniHBaseCluster.java lucene/hadoop/trunk/src/contrib/hbase/src/test/org/apache/hadoop/hbase/TestHRegion.java lucene/hadoop/trunk/src/contrib/hbase/src/test/org/apache/hadoop/hbase/TestScanner.java lucene/hadoop/trunk/src/contrib/hbase/src/test/org/apache/hadoop/hbase/TestTableMapReduce.java Modified: lucene/hadoop/trunk/src/contrib/hbase/CHANGES.txt URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/src/contrib/hbase/CHANGES.txt?view=diff&rev=553080&r1=553079&r2=553080 ============================================================================== --- lucene/hadoop/trunk/src/contrib/hbase/CHANGES.txt (original) +++ lucene/hadoop/trunk/src/contrib/hbase/CHANGES.txt Tue Jul 3 21:48:18 2007 @@ -45,3 +45,4 @@ 26. HADOOP-1543 [hbase] Add HClient.tableExists 27. HADOOP-1519 [hbase] map/reduce interface for HBase 28. HADOOP-1523 Hung region server waiting on write locks + 29. HADOOP-1560 NPE in MiniHBaseCluster on Windows Modified: lucene/hadoop/trunk/src/contrib/hbase/src/test/org/apache/hadoop/hbase/AbstractMergeTestBase.java URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/src/contrib/hbase/src/test/org/apache/hadoop/hbase/AbstractMergeTestBase.java?view=diff&rev=553080&r1=553079&r2=553080 ============================================================================== --- lucene/hadoop/trunk/src/contrib/hbase/src/test/org/apache/hadoop/hbase/AbstractMergeTestBase.java (original) +++ lucene/hadoop/trunk/src/contrib/hbase/src/test/org/apache/hadoop/hbase/AbstractMergeTestBase.java Tue Jul 3 21:48:18 2007 @@ -32,7 +32,7 @@ protected HTableDescriptor desc; protected ImmutableBytesWritable value; - protected MiniDFSCluster dfsCluster; + protected MiniDFSCluster dfsCluster = null; protected FileSystem fs; protected Path dir; @@ -104,6 +104,9 @@ } catch(Throwable t) { t.printStackTrace(); + if(dfsCluster != null) { + dfsCluster.shutdown(); + } fail(); } } Modified: lucene/hadoop/trunk/src/contrib/hbase/src/test/org/apache/hadoop/hbase/MiniHBaseCluster.java URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/src/contrib/hbase/src/test/org/apache/hadoop/hbase/MiniHBaseCluster.java?view=diff&rev=553080&r1=553079&r2=553080 ============================================================================== --- lucene/hadoop/trunk/src/contrib/hbase/src/test/org/apache/hadoop/hbase/MiniHBaseCluster.java (original) +++ lucene/hadoop/trunk/src/contrib/hbase/src/test/org/apache/hadoop/hbase/MiniHBaseCluster.java Tue Jul 3 21:48:18 2007 @@ -37,8 +37,8 @@ private MiniDFSCluster cluster; private FileSystem fs; private Path parentdir; - private HMaster master; - private Thread masterThread; + private HMaster master = null; + private Thread masterThread = null; List<HRegionServer> regionServers; List<Thread> regionThreads; private boolean deleteOnExit = true; @@ -83,6 +83,8 @@ this.conf = conf; this.cluster = dfsCluster; + this.regionServers = new ArrayList<HRegionServer>(nRegionNodes); + this.regionThreads = new ArrayList<Thread>(nRegionNodes); init(nRegionNodes); } @@ -102,6 +104,8 @@ throws IOException { this.conf = conf; this.deleteOnExit = deleteOnExit; + this.regionServers = new ArrayList<HRegionServer>(nRegionNodes); + this.regionThreads = new ArrayList<Thread>(nRegionNodes); if (miniHdfsFilesystem) { try { @@ -167,8 +171,6 @@ private void startRegionServers(final int nRegionNodes) throws IOException { - this.regionServers = new ArrayList<HRegionServer>(nRegionNodes); - this.regionThreads = new ArrayList<Thread>(nRegionNodes); for(int i = 0; i < nRegionNodes; i++) { startRegionServer(); } @@ -239,7 +241,9 @@ for(HRegionServer hsr: this.regionServers) { hsr.stop(); } - master.shutdown(); + if(master != null) { + master.shutdown(); + } for(Thread t: this.regionThreads) { if (t.isAlive()) { try { @@ -249,11 +253,13 @@ } } } - try { - masterThread.join(); + if (masterThread != null) { + try { + masterThread.join(); - } catch(InterruptedException e) { - // continue + } catch(InterruptedException e) { + // continue + } } LOG.info("HBase Cluster shutdown complete"); Modified: lucene/hadoop/trunk/src/contrib/hbase/src/test/org/apache/hadoop/hbase/TestHRegion.java URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/src/contrib/hbase/src/test/org/apache/hadoop/hbase/TestHRegion.java?view=diff&rev=553080&r1=553079&r2=553080 ============================================================================== --- lucene/hadoop/trunk/src/contrib/hbase/src/test/org/apache/hadoop/hbase/TestHRegion.java (original) +++ lucene/hadoop/trunk/src/contrib/hbase/src/test/org/apache/hadoop/hbase/TestHRegion.java Tue Jul 3 21:48:18 2007 @@ -61,6 +61,9 @@ cleanup(); } catch(Exception e) { + if(cluster != null) { + cluster.shutdown(); + } e.printStackTrace(); fail(); } @@ -798,6 +801,7 @@ // Shut down the mini cluster cluster.shutdown(); + cluster = null; // Delete all the DFS files Modified: lucene/hadoop/trunk/src/contrib/hbase/src/test/org/apache/hadoop/hbase/TestScanner.java URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/src/contrib/hbase/src/test/org/apache/hadoop/hbase/TestScanner.java?view=diff&rev=553080&r1=553079&r2=553080 ============================================================================== --- lucene/hadoop/trunk/src/contrib/hbase/src/test/org/apache/hadoop/hbase/TestScanner.java (original) +++ lucene/hadoop/trunk/src/contrib/hbase/src/test/org/apache/hadoop/hbase/TestScanner.java Tue Jul 3 21:48:18 2007 @@ -260,9 +260,6 @@ throw e; } finally { - if(fs != null) { - fs.close(); - } if(cluster != null) { cluster.shutdown(); } Modified: lucene/hadoop/trunk/src/contrib/hbase/src/test/org/apache/hadoop/hbase/TestTableMapReduce.java URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/src/contrib/hbase/src/test/org/apache/hadoop/hbase/TestTableMapReduce.java?view=diff&rev=553080&r1=553079&r2=553080 ============================================================================== --- lucene/hadoop/trunk/src/contrib/hbase/src/test/org/apache/hadoop/hbase/TestTableMapReduce.java (original) +++ lucene/hadoop/trunk/src/contrib/hbase/src/test/org/apache/hadoop/hbase/TestTableMapReduce.java Tue Jul 3 21:48:18 2007 @@ -75,39 +75,46 @@ desc.addFamily(new HColumnDescriptor(OUTPUT_COLUMN)); dfsCluster = new MiniDFSCluster(conf, 1, true, (String[])null); - fs = dfsCluster.getFileSystem(); - dir = new Path("/hbase"); - fs.mkdirs(dir); - - // create the root and meta regions and insert the data region into the meta - - HRegion root = createNewHRegion(fs, dir, conf, HGlobals.rootTableDesc, 0L, null, null); - HRegion meta = createNewHRegion(fs, dir, conf, HGlobals.metaTableDesc, 1L, null, null); - HRegion.addRegionToMETA(root, meta); - - HRegion region = createNewHRegion(fs, dir, conf, desc, rand.nextLong(), null, null); - HRegion.addRegionToMETA(meta, region); - - // insert some data into the test table - - for(int i = 0; i < values.length; i++) { - long lockid = region.startUpdate(new Text("row_" - + String.format("%1$05d", i))); - - region.put(lockid, TEXT_INPUT_COLUMN, values[i]); - region.commit(lockid); + try { + fs = dfsCluster.getFileSystem(); + dir = new Path("/hbase"); + fs.mkdirs(dir); + + // create the root and meta regions and insert the data region into the meta + + HRegion root = createNewHRegion(fs, dir, conf, HGlobals.rootTableDesc, 0L, null, null); + HRegion meta = createNewHRegion(fs, dir, conf, HGlobals.metaTableDesc, 1L, null, null); + HRegion.addRegionToMETA(root, meta); + + HRegion region = createNewHRegion(fs, dir, conf, desc, rand.nextLong(), null, null); + HRegion.addRegionToMETA(meta, region); + + // insert some data into the test table + + for(int i = 0; i < values.length; i++) { + long lockid = region.startUpdate(new Text("row_" + + String.format("%1$05d", i))); + + region.put(lockid, TEXT_INPUT_COLUMN, values[i]); + region.commit(lockid); + } + + region.close(); + region.getLog().closeAndDelete(); + meta.close(); + meta.getLog().closeAndDelete(); + root.close(); + root.getLog().closeAndDelete(); + + // Start up HBase cluster + + hCluster = new MiniHBaseCluster(conf, 1, dfsCluster); + + } catch (Exception e) { + if (dfsCluster != null) { + dfsCluster.shutdown(); + } } - - region.close(); - region.getLog().closeAndDelete(); - meta.close(); - meta.getLog().closeAndDelete(); - root.close(); - root.getLog().closeAndDelete(); - - // Start up HBase cluster - - hCluster = new MiniHBaseCluster(conf, 1, dfsCluster); } @Override