Uploaded image for project: 'Apache Tez'
  1. Apache Tez
  2. TEZ-4389

TestSecureShuffle fails if localhost name is different than "localhost"

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 0.10.2
    • None
    • None

    Description

      This is not reproducible on master/branch-0.9, but in another precommit environments, mvn clean install command can fail on TestSecureShuffle, e.g. when running in docker:

      2022-02-16 12:07:22,053 [ERROR] [AsyncHttpClient-3-1] |netty.TezBodyDeferringAsyncHandler|: Error in asyncHandler
      java.net.ConnectException: No subject alternative DNS name matching d9c3a3134fd0 found.
              at org.asynchttpclient.netty.channel.NettyConnectListener.onFailure(NettyConnectListener.java:179)
              at org.asynchttpclient.netty.channel.NettyConnectListener$1.onFailure(NettyConnectListener.java:151)
              at org.asynchttpclient.netty.SimpleFutureListener.operationComplete(SimpleFutureListener.java:26)
              at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:577)
              at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:570)
              at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:549)
              at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:490)
              at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:615)
              at io.netty.util.concurrent.DefaultPromise.setFailure0(DefaultPromise.java:608)
              at io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:117)
              at io.netty.handler.ssl.SslHandler.handleUnwrapThrowable(SslHandler.java:1299)
              at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1281)
              at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1322)
              at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:501)
              at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:440)
              at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276)
              at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
              at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
              at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
              at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
              at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
              at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
              at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
              at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163)
              at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:714)
              at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650)
              at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576)
              at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493)
              at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
              at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
              at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
              at java.lang.Thread.run(Thread.java:748)
      

      a possible solution could make our test more robust too

      +    String hostName = InetAddress.getLocalHost().getHostName();
           certGen.addExtension(X509Extensions.SubjectAlternativeName, false,
               new GeneralNames(new GeneralName[] { new GeneralName(GeneralName.iPAddress, hostAddress),
      -          new GeneralName(GeneralName.dNSName, "localhost") }));
      +          new GeneralName(GeneralName.dNSName, "localhost"), new GeneralName(GeneralName.dNSName, hostName) }));
      

      Attachments

        Issue Links

          Activity

            People

              mbathori Mark Bathori
              abstractdog László Bodor
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 20m
                  20m