Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to determine valid external socket address #261

Closed
cyinll opened this issue Apr 5, 2017 · 5 comments
Closed

Unable to determine valid external socket address #261

cyinll opened this issue Apr 5, 2017 · 5 comments
Labels
bug Something's wrong
Milestone

Comments

@cyinll
Copy link

cyinll commented Apr 5, 2017

Rally version (get with esrally --version):
esrally 0.5.2

Invoked command:

esrally --track=logging --target-hosts=x.x.x.x:xxxx \
--pipeline=benchmark-only \
--report-file /root/rally.md

Configuration file (located in ~/.rally/rally.ini)):

[meta]
config.version = 8

[system]
env.name = local

[node]
root.dir = /root/.rally/benchmarks

[source]
local.src.dir = /root/.rally/benchmarks/src
remote.repo.url = https://github.com/elastic/elasticsearch.git

[build]
gradle.bin =

[runtime]
java8.home =

[benchmarks]
local.dataset.cache = ${node:root.dir}/data

[reporting]
datastore.type =
datastore.host =
datastore.port =
datastore.secure =
datastore.user =
datastore.password =

[tracks]
default.url = https://github.com/elastic/rally-tracks

[defaults]
preserve_benchmark_candidate = False

JVM version:

OS version:

Description of the problem including expected versus actual behavior:

Steps to reproduce:

  1. i run in docker

Provide logs (if relevant):

2017-04-05 14:04:19,190 urllib3.connectionpool WARNING Retrying (Retry(total=2, connect=None, read=None, redirect=None)) after connection broken by 'NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f9832641208>: Failed to establish a new connection: [Errno 101] Network is unreachable',)': /
2017-04-05 14:04:19,389 urllib3.connectionpool WARNING Retrying (Retry(total=1, connect=None, read=None, redirect=None)) after connection broken by 'NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f983297c8d0>: Failed to establish a new connection: [Errno 101] Network is unreachable',)': /
2017-04-05 14:04:21,193 urllib3.connectionpool WARNING Retrying (Retry(total=0, connect=None, read=None, redirect=None)) after connection broken by 'NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f983297c978>: Failed to establish a new connection: [Errno 101] Network is unreachable',)': /
2017-04-05 14:04:21,403 rally.main WARNING No Internet connection detected. Automatic download of track data sets etc. is disabled.
2017-04-05 14:04:21,404 rally.process INFO Skipping myself (PID [100]).
2017-04-05 14:04:21,405 rally.main INFO Actor system already running locally? [False]
2017-04-05 14:04:21,425 rally.main ERROR Could not bootstrap actor system.
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/esrally/rally.py", line 369, in with_actor_system
    actors = actor.bootstrap_actor_system(try_join=already_running, prefer_local_only=not already_running)
  File "/usr/local/lib/python3.5/dist-packages/esrally/actor.py", line 175, in bootstrap_actor_system
    "Convention Address.IPv4": "%s:1900" % coordinator_ip
  File "/usr/local/lib/python3.5/dist-packages/thespian/actors.py", line 621, in __init__
    systemBase, capabilities, logDefs)
  File "/usr/local/lib/python3.5/dist-packages/thespian/actors.py", line 659, in _startupActorSys
    systemBase = sbc(self, logDefs=logDefs)
  File "/usr/local/lib/python3.5/dist-packages/thespian/system/multiprocTCPBase.py", line 27, in __init__
    super(ActorSystemBase, self).__init__(system, logDefs)
  File "/usr/local/lib/python3.5/dist-packages/thespian/system/multiprocCommon.py", line 83, in __init__
    self.mpcontext)
  File "/usr/local/lib/python3.5/dist-packages/thespian/system/transport/TCPTransport.py", line 266, in __init__
    templateAddr     = ActorAddress(TCPv4ActorAddress(None, 0, external = externalAddr))
  File "/usr/local/lib/python3.5/dist-packages/thespian/system/transport/IPBase.py", line 244, in __init__
    external)
  File "/usr/local/lib/python3.5/dist-packages/thespian/system/transport/IPBase.py", line 150, in __init__
    raise RuntimeError('Unable to determine valid external socket address.')
RuntimeError: Unable to determine valid external socket address.

Describe the feature:

@danielmitterdorfer
Copy link
Member

It seems that you cannot reach anything outside of your Docker container and it would make no sense to run Rally in a Docker container that cannot reach anything outside (of the Docker container). Can you please check your network connection?

Out of my own personal curiosity: Why do you run Rally inside a Docker container?

@danielmitterdorfer danielmitterdorfer added the feedback needed An open question blocks progress label Apr 5, 2017
@cyinll
Copy link
Author

cyinll commented Apr 6, 2017

yes, the machine only can connect company's machines. in docker container, i can use curl x.x.x.x:xxxx connect es cluster.
i want to benchmark whole es cluster, the Network bandwidth of single machine is not enough

@danielmitterdorfer danielmitterdorfer removed the feedback needed An open question blocks progress label Apr 6, 2017
@danielmitterdorfer
Copy link
Member

I had a look yesterday at the code (in a third party library) where the problem occurs. I can only reproduce it if I take my machine completely offline but I'll retry another reproduction scenario soon.

i want to benchmark whole es cluster, the Network bandwidth of single machine is not enough

Unfortunately, I fear Docker will not help you in this case. You'll need to tell Rally to distribute the load test driver across several machines. I know that this is a shortcoming and I plan to tackle this soon in #257.

@danielmitterdorfer danielmitterdorfer added this to the 0.5.3 milestone Apr 6, 2017
@danielmitterdorfer danielmitterdorfer added the bug Something's wrong label Apr 6, 2017
@danielmitterdorfer
Copy link
Member

I've pushed a fix that should help in your case. If Rally itself should run distributed this needs to be addressed in the third-party library I think but I'll follow up on this.

@cyinll
Copy link
Author

cyinll commented Apr 8, 2017

it work fine, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something's wrong
Projects
None yet
Development

No branches or pull requests

2 participants