On Mon, Mar 14, 2022 at 1:18 AM Gary Gregory <garydgreg...@gmail.com> wrote: > > Can't we use an ephemeral port here?
I am not sure I understand: `AvailablePortFinder` does return a port in the ephemeral range. Piotr > > Gary > > On Sun, Mar 13, 2022, 19:14 <pkarw...@apache.org> wrote: > > > This is an automated email from the ASF dual-hosted git repository. > > > > pkarwasz pushed a commit to branch release-2.x > > in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git > > > > > > The following commit(s) were added to refs/heads/release-2.x by this push: > > new 10460ec Switches Cassandra to random port > > 10460ec is described below > > > > commit 10460ec5200aa7eafb33b200f0f349a66e16c708 > > Author: Piotr P. Karwasz <piotr.git...@karwasz.org> > > AuthorDate: Mon Mar 14 00:13:41 2022 +0100 > > > > Switches Cassandra to random port > > --- > > .../org/apache/logging/log4j/cassandra/CassandraRule.java | 15 > > ++++++++++++--- > > .../src/test/resources/CassandraAppenderTest.xml | 2 +- > > 2 files changed, 13 insertions(+), 4 deletions(-) > > > > diff --git > > a/log4j-cassandra/src/test/java/org/apache/logging/log4j/cassandra/CassandraRule.java > > b/log4j-cassandra/src/test/java/org/apache/logging/log4j/cassandra/CassandraRule.java > > index 2939d07..ad39dd6 100644 > > --- > > a/log4j-cassandra/src/test/java/org/apache/logging/log4j/cassandra/CassandraRule.java > > +++ > > b/log4j-cassandra/src/test/java/org/apache/logging/log4j/cassandra/CassandraRule.java > > @@ -18,22 +18,25 @@ package org.apache.logging.log4j.cassandra; > > > > import java.io.IOException; > > import java.net.InetAddress; > > +import java.net.InetSocketAddress; > > import java.nio.file.Files; > > import java.nio.file.Path; > > import java.security.Permission; > > import java.util.concurrent.CountDownLatch; > > import java.util.concurrent.ThreadFactory; > > > > -import com.datastax.driver.core.Cluster; > > -import com.datastax.driver.core.Session; > > import org.apache.cassandra.service.CassandraDaemon; > > import org.apache.logging.log4j.LoggingException; > > import org.apache.logging.log4j.core.util.Cancellable; > > import org.apache.logging.log4j.core.util.Closer; > > import org.apache.logging.log4j.core.util.Log4jThreadFactory; > > +import org.apache.logging.log4j.test.AvailablePortFinder; > > import org.apache.logging.log4j.util.PropertiesUtil; > > import org.junit.rules.ExternalResource; > > > > +import com.datastax.driver.core.Cluster; > > +import com.datastax.driver.core.Session; > > + > > /** > > * JUnit rule to set up and tear down a Cassandra database instance. > > */ > > @@ -66,12 +69,18 @@ public class CassandraRule extends ExternalResource { > > Files.createDirectories(root.resolve("data")); > > final Path config = root.resolve("cassandra.yml"); > > Files.copy(getClass().getResourceAsStream("/cassandra.yaml"), > > config); > > + final int nativePort = AvailablePortFinder.getNextAvailable(); > > + System.setProperty("cassandra.native_transport_port", > > Integer.toString(nativePort)); > > + System.setProperty("cassandra.storage_port", > > Integer.toString(AvailablePortFinder.getNextAvailable())); > > System.setProperty("cassandra.config", "file:" + > > config.toString()); > > System.setProperty("cassandra.storagedir", root.toString()); > > System.setProperty("cassandra-foreground", "true"); // prevents > > Cassandra from closing stdout/stderr > > THREAD_FACTORY.newThread(embeddedCassandra).start(); > > latch.await(); > > - cluster = > > Cluster.builder().addContactPoints(InetAddress.getLoopbackAddress()).build(); > > + cluster = Cluster.builder() > > + .addContactPointsWithPorts(new > > InetSocketAddress(InetAddress.getLoopbackAddress(), nativePort)) > > + .build(); > > + > > try (final Session session = cluster.connect()) { > > session.execute("CREATE KEYSPACE " + keyspace + " WITH > > REPLICATION = " + > > "{ 'class': 'SimpleStrategy', 'replication_factor': 2 > > };"); > > diff --git a/log4j-cassandra/src/test/resources/CassandraAppenderTest.xml > > b/log4j-cassandra/src/test/resources/CassandraAppenderTest.xml > > index e1f37e9..f9ce643 100644 > > --- a/log4j-cassandra/src/test/resources/CassandraAppenderTest.xml > > +++ b/log4j-cassandra/src/test/resources/CassandraAppenderTest.xml > > @@ -19,7 +19,7 @@ > > <Configuration name="CassandraAppenderTest"> > > <Appenders> > > <Cassandra name="Cassandra" clusterName="Test Cluster" > > keyspace="test" table="logs" bufferSize="10" batched="true"> > > - <SocketAddress host="localhost" port="9042"/> > > + <SocketAddress host="localhost" > > port="${sys:cassandra.native_transport_port}"/> > > <ColumnMapping name="id" pattern="%uuid{TIME}" > > type="java.util.UUID"/> > > <ColumnMapping name="timeid" literal="now()"/> > > <ColumnMapping name="message" pattern="%message"/> > >