You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by "Josh Elser (JIRA)" <ji...@apache.org> on 2015/03/26 22:44:58 UTC

[jira] [Updated] (ACCUMULO-3478) TServerUtils.startServer port already taken case is lacking

     [ https://issues.apache.org/jira/browse/ACCUMULO-3478?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Josh Elser updated ACCUMULO-3478:
---------------------------------
    Assignee:     (was: Josh Elser)

> TServerUtils.startServer port already taken case is lacking
> -----------------------------------------------------------
>
>                 Key: ACCUMULO-3478
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-3478
>             Project: Accumulo
>          Issue Type: Bug
>          Components: master, tserver
>    Affects Versions: 1.5.0, 1.5.1, 1.5.2, 1.6.0, 1.6.1
>            Reporter: Josh Elser
>             Fix For: 1.5.3, 1.7.0, 1.6.3
>
>
> When a thrift server is configured to use a fixed port, we will loop 100 times trying to bind to the port which is (likely) going to stay bound. Because the server socket is setting SO_REUSEADDR, we shouldn't have issues where the previous application has died/gone-away, but being unable to bind to it.
> If we're explicitly given a port to start the thrift server on, and are unable to start it, I think it would be better to throw an exception which would kill the process instead of retrying at least 25 seconds first.
> Because we've already copied TNonblockingServerSocket, we can modify the TTransportException thrown with a more meaningful exception and work on getting better semantics in upstream thrift (if necessary).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)