[ 
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)

Reply via email to