Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-11134

Fix bind exception threw in TestRenameWhileOpen

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.8.0, 3.0.0-alpha2
    • Component/s: None
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      I found two bind exceptions causing the unit tests fails in history Jenkins buildings. One is test TestRenameWhileOpen, the other one is TestPendingInvalidateBlock.

      Here are the stack infos of TestRenameWhileOpen(I can't find the stack infos of TestPendingInvalidateBlock now since the time of that happened is too early, but I'm sure it has failed due to bind exception.)

      java.net.BindException: Problem binding to [localhost:42155] java.net.BindException: Address already in use; For more details see:  http://wiki.apache.org/hadoop/BindException
      	at sun.nio.ch.Net.bind0(Native Method)
      	at sun.nio.ch.Net.bind(Net.java:433)
      	at sun.nio.ch.Net.bind(Net.java:425)
      	at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
      	at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
      	at org.apache.hadoop.ipc.Server.bind(Server.java:535)
      	at org.apache.hadoop.ipc.Server$Listener.<init>(Server.java:919)
      	at org.apache.hadoop.ipc.Server.<init>(Server.java:2667)
      	at org.apache.hadoop.ipc.RPC$Server.<init>(RPC.java:959)
      	at org.apache.hadoop.ipc.ProtobufRpcEngine$Server.<init>(ProtobufRpcEngine.java:367)
      	at org.apache.hadoop.ipc.ProtobufRpcEngine.getServer(ProtobufRpcEngine.java:342)
      	at org.apache.hadoop.ipc.RPC$Builder.build(RPC.java:801)
      	at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.<init>(NameNodeRpcServer.java:434)
      	at org.apache.hadoop.hdfs.server.namenode.NameNode.createRpcServer(NameNode.java:796)
      	at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:723)
      	at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:937)
      	at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:916)
      	at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1633)
      	at org.apache.hadoop.hdfs.MiniDFSCluster.createNameNode(MiniDFSCluster.java:1263)
      	at org.apache.hadoop.hdfs.MiniDFSCluster.configureNameService(MiniDFSCluster.java:1032)
      	at org.apache.hadoop.hdfs.MiniDFSCluster.createNameNodesAndSetConf(MiniDFSCluster.java:907)
      	at org.apache.hadoop.hdfs.MiniDFSCluster.initMiniDFSCluster(MiniDFSCluster.java:839)
      	at org.apache.hadoop.hdfs.MiniDFSCluster.<init>(MiniDFSCluster.java:491)
      	at org.apache.hadoop.hdfs.MiniDFSCluster$Builder.build(MiniDFSCluster.java:450)
      	at org.apache.hadoop.hdfs.TestRenameWhileOpen.testWhileOpenRenameToNonExistentDirectory(TestRenameWhileOpen.java:325)
      

      Here specifying the namenode port is not necessary, is similar to HDFS-11129. And I have run this test many times in my local, it all passed. This JIRA we are focusing on fix the bind exception threw in TestRenameWhileOpen.

        Attachments

        1. HDFS-11134.003.patch
          7 kB
          Yiqun Lin
        2. HDFS-11134.002.patch
          8 kB
          Yiqun Lin
        3. HDFS-11134.001.patch
          7 kB
          Yiqun Lin

          Issue Links

            Activity

              People

              • Assignee:
                linyiqun Yiqun Lin
                Reporter:
                linyiqun Yiqun Lin
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: