You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Hale Bales (Jira)" <ji...@apache.org> on 2022/01/31 20:07:00 UTC

[jira] [Created] (GEODE-10004) Starting server should fail fast when server port and redis port are the same

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)