accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Josh Elser (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ACCUMULO-4331) Make port configuration and allocation consistent across services
Date Tue, 07 Jun 2016 17:15:22 GMT

    [ https://issues.apache.org/jira/browse/ACCUMULO-4331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15318917#comment-15318917
] 

Josh Elser commented on ACCUMULO-4331:
--------------------------------------

bq. so you know automatically which log file to open instead of having to grep for something
in all the log files.

I know that Keith/Dave have been talking on the PR for ACCUMULO-4328, but maybe something
could be added (like our {{-Dproc=tserver}}) now that could help correlate instances to log
file. I feel like trying to include port will just be tricky (because we want logging set
up before we're going to bind the server to a port).

> Make port configuration and allocation consistent across services
> -----------------------------------------------------------------
>
>                 Key: ACCUMULO-4331
>                 URL: https://issues.apache.org/jira/browse/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.
> {noformat}
> monitor.port.log4j
> trace.port.client
> gc.port.client
> monitor.port.client
> {noformat}
> 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 tserver.port.search is enabled, then it will try a thousand times to bind to a random port.
> {noformat}
> tserver.port.client
> master.port.client
> master.replication.coordinator.port
> replication.receipt.service.port
> {noformat}
> I'm proposing that we deprecate the tserver.port.search 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
(v6.3.4#6332)

Mime
View raw message