Hale Bales created GEODE-10004: ---------------------------------- Summary: Starting server should fail fast when server port and redis port are the same Key: GEODE-10004 URL: https://issues.apache.org/jira/browse/GEODE-10004 Project: Geode Issue Type: Bug Components: gfsh, redis Affects Versions: 1.15.0, 1.16.0 Reporter: Hale Bales
When starting a cluster with GFSH with geode-for-redis enabled, starting a server fails when the geode-for-redis-port and server-port are set to the same port. It fails with the below stacktrace, but does not fail fast. We should be able to detect this issue before we reach the point of getting a bind exception. stacktrace: {code:java} Exception in thread "main" java.lang.RuntimeException: An IO error occurred while starting a Server in /Users/hbales/workspace/geode/itch-proud-alpha on hbales-a01.vmware.com[6379]: Failed to create server socket on 192.168.0.4[6379] at org.apache.geode.distributed.ServerLauncher.start(ServerLauncher.java:863) at org.apache.geode.distributed.ServerLauncher.run(ServerLauncher.java:739) at org.apache.geode.distributed.ServerLauncher.main(ServerLauncher.java:258) Caused by: java.net.BindException: Failed to create server socket on 192.168.0.4[6379] at org.apache.geode.distributed.internal.tcpserver.ClusterSocketCreatorImpl.createServerSocket(ClusterSocketCreatorImpl.java:75) at org.apache.geode.internal.net.SCClusterSocketCreator.createServerSocket(SCClusterSocketCreator.java:55) at org.apache.geode.internal.net.SocketCreator.createServerSocket(SocketCreator.java:522) at org.apache.geode.internal.cache.tier.sockets.AcceptorImpl.<init>(AcceptorImpl.java:573) at org.apache.geode.internal.cache.tier.sockets.AcceptorBuilder.create(AcceptorBuilder.java:291) at org.apache.geode.internal.cache.CacheServerImpl.createAcceptor(CacheServerImpl.java:420) at org.apache.geode.internal.cache.CacheServerImpl.start(CacheServerImpl.java:377) at org.apache.geode.distributed.ServerLauncher.startCacheServer(ServerLauncher.java:1039) at org.apache.geode.distributed.ServerLauncher.start(ServerLauncher.java:837) ... 2 more Caused by: java.net.BindException: Address already in use (Bind failed) at java.net.PlainSocketImpl.socketBind(Native Method) at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387) at java.net.ServerSocket.bind(ServerSocket.java:375) at org.apache.geode.distributed.internal.tcpserver.ClusterSocketCreatorImpl.createServerSocket(ClusterSocketCreatorImpl.java:72) ... 10 more {code} series of GFSH commands that led to this error: {code:java} > start locator > start server --J=-Dgemfire.geode-for-redis-enabled=true > --J=-Dgemfire.geode-for-redis-port=6379 --server-port=6379 {code} -- This message was sent by Atlassian Jira (v8.20.1#820001)