[ https://issues.apache.org/jira/browse/ACCUMULO-4329?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15317137#comment-15317137 ]
Dave Marion edited comment on ACCUMULO-4329 at 6/6/16 8:11 PM: --------------------------------------------------------------- Let me walk you through what I am seeing, maybe its me. TabletServer has the following starting at line 2284: {noformat} ServerAddress sp = TServerUtils.startServer(this, clientAddress.getHostText(), Property.REPLICATION_RECEIPT_SERVICE_PORT, processor, "ReplicationServicerHandler", "Replication Servicer", null, Property.REPLICATION_MIN_THREADS, Property.REPLICATION_THREADCHECK, maxMessageSizeProperty); {noformat} TServerUtils.startServer is defined as: {noformat} public static ServerAddress startServer(AccumuloServerContext service, String hostname, Property portHintProperty, TProcessor processor, String serverName, String threadName, Property portSearchProperty, Property minThreadProperty, Property timeBetweenThreadChecksProperty, Property maxMessageSizeProperty) {noformat} So, TServerUtils is expecting a property name for the port search property in the 7th argument. In the code above for the TabletServer, the value `null` is being passed in the 7th argument to the function. Inside of TServerUtils.startServer it uses the property like so: {noformat} boolean portSearch = false; if (portSearchProperty != null) portSearch = config.getBoolean(portSearchProperty); {noformat} was (Author: dlmarion): Let me walk you through what I am seeing, maybe its me. TabletServer has the following starting at line 2284: ``` ServerAddress sp = TServerUtils.startServer(this, clientAddress.getHostText(), Property.REPLICATION_RECEIPT_SERVICE_PORT, processor, "ReplicationServicerHandler", "Replication Servicer", null, Property.REPLICATION_MIN_THREADS, Property.REPLICATION_THREADCHECK, maxMessageSizeProperty); ``` TServerUtils.startServer is defined as: ``` public static ServerAddress startServer(AccumuloServerContext service, String hostname, Property portHintProperty, TProcessor processor, String serverName, String threadName, Property portSearchProperty, Property minThreadProperty, Property timeBetweenThreadChecksProperty, Property maxMessageSizeProperty) ``` So, TServerUtils is expecting a property name for the port search property in the 7th argument. In the code above for the TabletServer, the value `null` is being passed in the 7th argument to the function. Inside of TServerUtils.startServer it uses the property like so: ``` boolean portSearch = false; if (portSearchProperty != null) portSearch = config.getBoolean(portSearchProperty); ``` > TabletServer won't start if it cannot reserve replication port > -------------------------------------------------------------- > > Key: ACCUMULO-4329 > URL: https://issues.apache.org/jira/browse/ACCUMULO-4329 > Project: Accumulo > Issue Type: Bug > Components: tserver > Affects Versions: 1.8.0 > Reporter: Dave Marion > > TabletServer will not start if it cannot reserve the configured replication > port. The code passes `null` for enabling the port search feature, which > resolves to `false`, and the TServer fails. -- This message was sent by Atlassian JIRA (v6.3.4#6332)