accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dave Marion (JIRA)" <>
Subject [jira] [Created] (ACCUMULO-4331) Make port configuration and allocation consistent across services
Date Tue, 07 Jun 2016 13:41:21 GMT
Dave Marion created ACCUMULO-4331:

             Summary: Make port configuration and allocation consistent across services
                 Key: ACCUMULO-4331
             Project: Accumulo
          Issue Type: Bug
    Affects Versions: 1.8.0
            Reporter: Dave Marion
             Fix For: 1.8.0

There was some discussion in ACCUMULO-4328 about ports, so I decided to track down how the
client ports are configured and allocated. Issues raised in the discussion were:

 1. The port search feature was not well understood
 2. Ephemeral port allocation makes it hard to lock servers down (e.g. iptables)

Looking through the code I found the following properties allocate a port number based on
conf.getPort(). This returns the port number based on the property and supports either a single
value or zero. Then, in the server component (monitor, tracer, gc, etc) this value is used
when creating a ServerSocket. If the port is already in use, the process will fail.


The following properties use TServerUtils.startServer which uses the value in the property
to start the TServer. If the value is zero, then it picks a random port between 1024 and 65535.
If is enabled, then it will try a thousand times to bind to a random port.


I'm proposing that we deprecate the property and the value zero in the
property value for the properties above. Instead, I think we should allow the user to specify
a single value or a range (M-N). 

This message was sent by Atlassian JIRA

View raw message