We use MiniDFSCluster whose startDataNodes() calls:
DataNode.runDatanodeDaemon(dn);
where I see this:
dn.dataNodeThread.setDaemon(true); // needed for JUnit testing
FYI
On Mon, Aug 8, 2011 at 11:08 AM, Jean-Daniel Cryans <[email protected]>wrote:
> Wouldn't it be better if the DNs were daemons?
>
> J-D
>
> On Mon, Aug 8, 2011 at 9:18 AM, Ted Yu <[email protected]> wrote:
> > Hi,
> > You may have noticed unit test failures with message similar to the
> > following:
> > testInfoServersRedirect(org.apache.hadoop.hbase.TestInfoServers): Cannot
> > lock storage /home/hadoop/hbase/build/hbase/test/dfs/name1. The directory
> is
> > already locked.
> > testInfoServersStatusPages(org.apache.hadoop.hbase.TestInfoServers):
> > Cannot lock storage /home/hadoop/hbase/build/hbase/test/dfs/name1. The
> > directory is already locked.
> > This indicated that certain JVMClusterUtil was hanging after the
> underlying
> > unit test finished.
> >
> > I suggest making the following change to JVMClusterUtil:
> >
> > Index: src/main/java/org/apache/hadoop/hbase/util/JVMClusterUtil.java
> > ===================================================================
> > --- src/main/java/org/apache/hadoop/hbase/util/JVMClusterUtil.java
> > (revision 1154705)
> > +++ src/main/java/org/apache/hadoop/hbase/util/JVMClusterUtil.java
> > (working copy)
> > @@ -44,6 +44,7 @@
> > public RegionServerThread(final HRegionServer r, final int index) {
> > super(r, "RegionServer:" + index + ";" + r.getServerName());
> > this.regionServer = r;
> > + this.setDaemon(true);
> > }
> >
> > /** @return the region server */
> > @@ -110,6 +111,7 @@
> > public MasterThread(final HMaster m, final int index) {
> > super(m, "Master:" + index + ";" + m.getServerName());
> > this.master = m;
> > + this.setDaemon(true);
> > }
> >
> > /** @return the master */
> >
> > Please comment.
> >
>