reef-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sanha Lee (JIRA)" <j...@apache.org>
Subject [jira] [Closed] (REEF-1808) Fix lack of tcp port error in NettyMessagingTransport
Date Wed, 21 Feb 2018 07:03:00 GMT

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

Sanha Lee closed REEF-1808.
---------------------------
    Resolution: Fixed

> Fix lack of tcp port error in NettyMessagingTransport
> -----------------------------------------------------
>
>                 Key: REEF-1808
>                 URL: https://issues.apache.org/jira/browse/REEF-1808
>             Project: REEF
>          Issue Type: Bug
>          Components: Wake
>         Environment: Java
>            Reporter: Sanha Lee
>            Priority: Minor
>
> The constructor of {{NettyMessagingTransport}} occasionally spits some exception saying
there is no available TCP port, depending on the network environment. 
> This error occurs when {{TcpPortProvider}} fails to find available TCP port in the local
address provided by LocalAddressProvider.
> This error does not occur when I changed {{LegacyLocalAddressProvider}} (of version 0.15.0)
as the default implementation of {{LocalAddressProvider}}, but it was deprecated already.
> It seems that the local address given by {{HostnameBasedLocalAddressProvider}} does not
have available TCP port sometimes. 
> Because of this, we need to fix it or develop another {{LocalAddressProvider}} that can
provide local address with available TCP ports.
> Full message was like below.
> {quote}
> Caused by: java.lang.RuntimeException: org.apache.reef.tang.exceptions.InjectionException:
Could not invoke constructor: new NettyMessagingTransport(String HostAddress = ##UNKNOWN##,
Integer Port = 0, EStage RemoteClientStage = org.apache.reef.wake.remote.impl.OrderedRemoteReceiverStage@47523643,
EStage RemoteServerStage = org.apache.reef.wake.remote.impl.OrderedRemoteReceiverStage@47523643,
Integer NumberOfTries = 3, Integer RetryTimeout = 10000, [ClassNodeImpl 'org.apache.reef.wake.remote.ports.TcpPortProvider']:
 = RangeTcpPortProvider{portRangeBegin=10000, portRangeCount=10000, portRangeTryCount=1000},
LocalAddressProvider = new HostnameBasedLocalAddressProvider())
> 	at org.apache.reef.wake.remote.transport.netty.MessagingTransportFactory.newInstance(MessagingTransportFactory.java:135)
> 	at org.apache.reef.wake.remote.impl.DefaultRemoteManagerImplementation.<init>(DefaultRemoteManagerImplementation.java:89)
> 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> 	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
> 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> 	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
> 	at org.apache.reef.tang.implementation.java.InjectorImpl.injectFromPlan(InjectorImpl.java:637)
> 	... 50 more
> Caused by: org.apache.reef.tang.exceptions.InjectionException: Could not invoke constructor:
new NettyMessagingTransport(String HostAddress = ##UNKNOWN##, Integer Port = 0, EStage RemoteClientStage
= org.apache.reef.wake.remote.impl.OrderedRemoteReceiverStage@47523643, EStage RemoteServerStage
= org.apache.reef.wake.remote.impl.OrderedRemoteReceiverStage@47523643, Integer NumberOfTries
= 3, Integer RetryTimeout = 10000, [ClassNodeImpl 'org.apache.reef.wake.remote.ports.TcpPortProvider']:
 = RangeTcpPortProvider{portRangeBegin=10000, portRangeCount=10000, portRangeTryCount=1000},
LocalAddressProvider = new HostnameBasedLocalAddressProvider())
> 	at org.apache.reef.tang.implementation.java.InjectorImpl.injectFromPlan(InjectorImpl.java:654)
> 	at org.apache.reef.tang.implementation.java.InjectorImpl.getInstance(InjectorImpl.java:515)
> 	at org.apache.reef.tang.implementation.java.InjectorImpl.getInstance(InjectorImpl.java:533)
> 	at org.apache.reef.wake.remote.transport.netty.MessagingTransportFactory.newInstance(MessagingTransportFactory.java:133)
> 	... 56 more
> Caused by: org.apache.reef.wake.remote.transport.exception.TransportRuntimeException:
tcpPortProvider failed to return free ports.
> 	at org.apache.reef.wake.remote.transport.netty.NettyMessagingTransport.<init>(NettyMessagingTransport.java:183)
> 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> 	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
> 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> 	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
> 	at org.apache.reef.tang.implementation.java.InjectorImpl.injectFromPlan(InjectorImpl.java:637)
> 	... 59 more
> Caused by: java.lang.IllegalStateException: tcpPortProvider cannot find a free port.
> 	at org.apache.reef.wake.remote.transport.netty.NettyMessagingTransport.<init>(NettyMessagingTransport.java:167)
> 	... 64 more
> {quote}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message