From 85ceec8855683b8bf71e009c8ed102ec91d85a41 Mon Sep 17 00:00:00 2001 From: James Roper Date: Tue, 26 Jun 2018 18:18:36 -0400 Subject: [PATCH] Report why native_transport_port fails to bind Patch by James Roper; Review by Dinesh Joshi for CASSANDRA-14544 --- CHANGES.txt | 1 + src/java/org/apache/cassandra/transport/Server.java | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGES.txt b/CHANGES.txt index e99c9ea2d7..df2db42a7c 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0 + * Report why native_transport_port fails to bind (CASSANDRA-14544) * Optimize internode messaging protocol (CASSANDRA-14485) * Internode messaging handshake sends wrong messaging version number (CASSANDRA-14540) * Add a virtual table to expose active client connections (CASSANDRA-14458) diff --git a/src/java/org/apache/cassandra/transport/Server.java b/src/java/org/apache/cassandra/transport/Server.java index 8ef137c44e..45146c4d99 100644 --- a/src/java/org/apache/cassandra/transport/Server.java +++ b/src/java/org/apache/cassandra/transport/Server.java @@ -161,7 +161,8 @@ public class Server implements CassandraDaemon.Server ChannelFuture bindFuture = bootstrap.bind(socket); if (!bindFuture.awaitUninterruptibly().isSuccess()) - throw new IllegalStateException(String.format("Failed to bind port %d on %s.", socket.getPort(), socket.getAddress().getHostAddress())); + throw new IllegalStateException(String.format("Failed to bind port %d on %s.", socket.getPort(), socket.getAddress().getHostAddress()), + bindFuture.cause()); connectionTracker.allChannels.add(bindFuture.channel()); isRunning.set(true);