You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by jb...@apache.org on 2021/03/15 06:56:34 UTC
[activemq] branch activemq-5.16.x updated: AMQ-8184 - Re-enable NIO
tests
This is an automated email from the ASF dual-hosted git repository.
jbonofre pushed a commit to branch activemq-5.16.x
in repository https://gitbox.apache.org/repos/asf/activemq.git
The following commit(s) were added to refs/heads/activemq-5.16.x by this push:
new 34475db AMQ-8184 - Re-enable NIO tests
34475db is described below
commit 34475dbde316d5d88f4cd754293a1640bb14bb98
Author: Christopher L. Shannon (cshannon) <ch...@gmail.com>
AuthorDate: Thu Mar 11 10:53:51 2021 -0500
AMQ-8184 - Re-enable NIO tests
Re-enable the nio transport tests in activemq-unit-tests by default to
catch transport errors. Also fix broken tests
(cherry picked from commit 2cf3decd8e59a52ba135d8194279b6a6117d0e9c)
---
.../java/org/apache/activemq/broker/TransportConnector.java | 2 +-
.../transport/auto/nio/AutoNIOSSLTransportServer.java | 11 +++++++++--
activemq-unit-tests/pom.xml | 2 --
.../org/apache/activemq/transport/nio/NIOSSLBasicTest.java | 2 +-
.../apache/activemq/transport/nio/NIOSSLConcurrencyTest.java | 2 +-
5 files changed, 12 insertions(+), 7 deletions(-)
diff --git a/activemq-broker/src/main/java/org/apache/activemq/broker/TransportConnector.java b/activemq-broker/src/main/java/org/apache/activemq/broker/TransportConnector.java
index 270d47d..3358eee 100644
--- a/activemq-broker/src/main/java/org/apache/activemq/broker/TransportConnector.java
+++ b/activemq-broker/src/main/java/org/apache/activemq/broker/TransportConnector.java
@@ -266,7 +266,7 @@ public class TransportConnector implements Connector, BrokerServiceAware {
LOG.info("Connector {} started", getName());
}
- static Throwable getRootCause(final Throwable throwable) {
+ public static Throwable getRootCause(final Throwable throwable) {
final List<Throwable> list = getThrowableList(throwable);
return list.isEmpty() ? null : list.get(list.size() - 1);
}
diff --git a/activemq-broker/src/main/java/org/apache/activemq/transport/auto/nio/AutoNIOSSLTransportServer.java b/activemq-broker/src/main/java/org/apache/activemq/transport/auto/nio/AutoNIOSSLTransportServer.java
index 78d1de2..a74f881 100644
--- a/activemq-broker/src/main/java/org/apache/activemq/transport/auto/nio/AutoNIOSSLTransportServer.java
+++ b/activemq-broker/src/main/java/org/apache/activemq/transport/auto/nio/AutoNIOSSLTransportServer.java
@@ -15,6 +15,7 @@ import javax.net.ssl.SSLEngine;
import org.apache.activemq.broker.BrokerService;
import org.apache.activemq.broker.BrokerServiceAware;
+import org.apache.activemq.broker.TransportConnector;
import org.apache.activemq.transport.Transport;
import org.apache.activemq.transport.auto.AutoTcpTransportServer;
import org.apache.activemq.transport.nio.AutoInitNioSSLTransport;
@@ -25,6 +26,8 @@ import org.apache.activemq.transport.tcp.TcpTransportFactory;
import org.apache.activemq.transport.tcp.TcpTransportServer;
import org.apache.activemq.util.IntrospectionSupport;
import org.apache.activemq.wireformat.WireFormat;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Licensed to the Apache Software Foundation (ASF) under one or more
@@ -44,6 +47,7 @@ import org.apache.activemq.wireformat.WireFormat;
*/
public class AutoNIOSSLTransportServer extends AutoTcpTransportServer {
+ private static final Logger LOG = LoggerFactory.getLogger(AutoNIOSSLTransportServer.class);
private SSLContext context;
public AutoNIOSSLTransportServer(SSLContext context, TcpTransportFactory transportFactory, URI location, ServerSocketFactory serverSocketFactory,
@@ -118,8 +122,11 @@ public class AutoNIOSSLTransportServer extends AutoTcpTransportServer {
public void run() {
try {
in.start();
- } catch (Exception e) {
- throw new IllegalStateException("Could not complete Transport start", e);
+ } catch (Exception error) {
+ LOG.warn("Could not accept connection {}: {} ({})",
+ (in.getRemoteAddress() == null ? "" : "from " + in.getRemoteAddress()), error.getMessage(),
+ TransportConnector.getRootCause(error).getMessage());
+ throw new IllegalStateException("Could not complete Transport start", error);
}
int attempts = 0;
diff --git a/activemq-unit-tests/pom.xml b/activemq-unit-tests/pom.xml
index 680c3d4..1920f0d 100644
--- a/activemq-unit-tests/pom.xml
+++ b/activemq-unit-tests/pom.xml
@@ -654,8 +654,6 @@
<exclude>**/SSHTunnelNetworkReconnectTest.*</exclude>
<!-- http://issues.apache.org/activemq/browse/AMQ-1027 -->
<exclude>**/FailoverConsumerTest.*</exclude>
- <!-- The NIO implemenation is not working properly on OS X.. -->
- <exclude>**/nio/**</exclude>
<exclude>**/NioQueueSubscriptionTest.*/</exclude>
<!-- A test used for memory profiling only. -->
<exclude>**/NetworkConnectionsCleanedupTest.*/**</exclude>
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/transport/nio/NIOSSLBasicTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/transport/nio/NIOSSLBasicTest.java
index 01c5e57..2c64eb3 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/transport/nio/NIOSSLBasicTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/transport/nio/NIOSSLBasicTest.java
@@ -117,7 +117,7 @@ public class NIOSSLBasicTest {
final DefaultTestAppender appender = new DefaultTestAppender() {
@Override
public void doAppend(LoggingEvent event) {
- if (event.getLevel().equals(Level.ERROR) && event.getRenderedMessage().contains("Could not accept connection")) {
+ if (event.getLevel().equals(Level.WARN) && event.getRenderedMessage().contains("Could not accept connection")) {
gotLogMessage.countDown();
if (event.getRenderedMessage().contains("tcp")) {
// got remote address
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/transport/nio/NIOSSLConcurrencyTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/transport/nio/NIOSSLConcurrencyTest.java
index 1ade516..59abcd3 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/transport/nio/NIOSSLConcurrencyTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/transport/nio/NIOSSLConcurrencyTest.java
@@ -70,7 +70,7 @@ public class NIOSSLConcurrencyTest extends TestCase {
broker = new BrokerService();
broker.setPersistent(false);
broker.setUseJmx(false);
- TransportConnector connector = broker.addConnector("nio+ssl://localhost:0?transport.needClientAuth=true&transport.enabledCipherSuites=SSL_RSA_WITH_RC4_128_SHA,SSL_DH_anon_WITH_3DES_EDE_CBC_SHA");
+ TransportConnector connector = broker.addConnector("nio+ssl://localhost:0?socket.verifyHostName=false&transport.needClientAuth=true");
broker.start();
broker.waitUntilStarted();