From a1b4c9c7f13ed27cbb3d3c22b70ae1943c70c596 Mon Sep 17 00:00:00 2001 From: sollecitom Date: Mon, 14 May 2018 16:07:21 +0100 Subject: [PATCH] Merge remote-tracking branch 'remotes/open/master' into merges/may-14-15-21 # Conflicts: # .idea/compiler.xml # constants.properties # experimental/behave/src/main/kotlin/net/corda/behave/network/Network.kt # experimental/behave/src/main/kotlin/net/corda/behave/node/Distribution.kt # experimental/behave/src/test/kotlin/net/corda/behave/service/PostreSQLServiceTests.kt # node-api/src/main/kotlin/net/corda/nodeapi/internal/bridging/AMQPBridgeManager.kt # node-api/src/main/kotlin/net/corda/nodeapi/internal/persistence/CordaPersistence.kt # node-api/src/main/kotlin/net/corda/nodeapi/internal/persistence/HibernateConfiguration.kt # node-api/src/main/kotlin/net/corda/nodeapi/internal/protonwrapper/netty/AMQPChannelHandler.kt # node-api/src/main/kotlin/net/corda/nodeapi/internal/protonwrapper/netty/AMQPClient.kt # node/src/integration-test/kotlin/net/corda/node/AuthDBTests.kt # node/src/main/kotlin/net/corda/node/internal/AbstractNode.kt # node/src/main/kotlin/net/corda/node/internal/NodeStartup.kt # node/src/main/kotlin/net/corda/node/services/config/ConfigUtilities.kt # node/src/main/kotlin/net/corda/node/services/messaging/MessagingExecutor.kt # node/src/main/kotlin/net/corda/node/services/persistence/AbstractPartyToX500NameAsStringConverter.kt # node/src/main/kotlin/net/corda/node/services/persistence/DBTransactionMappingStorage.kt # node/src/main/kotlin/net/corda/node/utilities/AddOrRemove.kt # node/src/test/kotlin/net/corda/node/services/config/NodeConfigurationImplTest.kt # samples/attachment-demo/src/integration-test/kotlin/net/corda/attachmentdemo/AttachmentDemoTest.kt # samples/irs-demo/web/src/test/kotlin/net/corda/irs/web/IrsDemoWebApplicationTests.kt # samples/simm-valuation-demo/src/integration-test/kotlin/net/corda/vega/SimmValuationTest.kt # testing/node-driver/src/main/kotlin/net/corda/testing/driver/Driver.kt # testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/InternalTestUtils.kt # testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/RPCDriver.kt # testing/smoke-test-utils/src/main/kotlin/net/corda/smoketesting/NodeConfig.kt # webserver/src/integration-test/kotlin/net/corda/webserver/WebserverDriverTests.kt --- .../internal/protonwrapper/netty/AMQPChannelHandler.kt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/node-api/src/main/kotlin/net/corda/nodeapi/internal/protonwrapper/netty/AMQPChannelHandler.kt b/node-api/src/main/kotlin/net/corda/nodeapi/internal/protonwrapper/netty/AMQPChannelHandler.kt index 1be1b652f3..e39e263df6 100644 --- a/node-api/src/main/kotlin/net/corda/nodeapi/internal/protonwrapper/netty/AMQPChannelHandler.kt +++ b/node-api/src/main/kotlin/net/corda/nodeapi/internal/protonwrapper/netty/AMQPChannelHandler.kt @@ -15,6 +15,7 @@ import io.netty.channel.ChannelDuplexHandler import io.netty.channel.ChannelHandlerContext import io.netty.channel.ChannelPromise import io.netty.channel.socket.SocketChannel +import io.netty.handler.proxy.ProxyConnectException import io.netty.handler.proxy.ProxyConnectionEvent import io.netty.handler.ssl.SslHandler import io.netty.handler.ssl.SslHandshakeCompletionEvent @@ -131,6 +132,10 @@ internal class AMQPChannelHandler(private val serverMode: Boolean, if (log.isTraceEnabled) { log.trace("Pipeline uncaught exception", cause) } + if (cause is ProxyConnectException) { + log.warn("Proxy connection failed ${cause.message}") + suppressClose = true // The pipeline gets marked as active on connection to the proxy rather than to the target, which causes excess close events + } ctx.close() }