-
-
Notifications
You must be signed in to change notification settings - Fork 16
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
esclient error: No Living connections #17
Comments
hi @vesameskanen, I've not seen that message myself during an import. The I get the same message some times (on my local machine) when I shut down elasticsearch and then Before we investigate further can you please confirm that; at the time you receive these messages; that the elasticsearch cluster you're using is still responding to curl requests such as Is it possible that you have a script which is shutting down the server before the import has been completed? |
I think I've seen this before. Our dbclient has a bug where no rate limiting is applied to batches that are being retried, which has the unhelpful effect of hammering elasticsearch when it starts to come under heavy load from importing. It also means you'll have to scroll up really far in the console output, to the first batch failure, to see if it was a timeout, or some other kind of error. |
Import succeeds here in my native debian box, but fails every time when run in order to build a docker image of ES instance with Pelias data. It is possible that the running ES service somehow fails and shuts down inside the docker environment, but that is quite unlike to happen. I suspect that there is a problem with KeepAlive setting or something else related to socket reuse, leading to exhaustion of available sockets. I will study the problem in more detail and report my findings, |
Some further observations: the errors show up in the last step of our data import, OpenAddresses. Part of it runs OK, but then indexing starts failing consistently. The first error is: ERROR: 2016-05-03T05:40:51Z After that, I get another 'read ECONNRESET' error, then an error message 'socket hang up', and after that lots of 'Unable to revive connection' and 'No living connections' errors. It seems that all remaining indexing actions fail. At the end of import, ES has indexed 1 022 226 documents. When any of the data sources is dropped, so that the number of documents is clearly smaller, errors do not show up. By the way, failures do not stop the import process; maybe they should, because errors could get buried into the massive log file. |
I just verified that at the end of import, after those 'no living connections' errors, ES is not reachable via curl either. This can be purely an environment specific problem - Google found lots of similar issues with other ES client apps, too. I guess it might be best to close this issue as it seems to be a general problem, not specific to Pelias. |
Having the same problem, especially as @orangejulius describes it. |
This is interesting, and might be worth keeping open if Pelias can reliably trigger issues with Elasticsearch. Is there any info in the Elasticsearch log that looks helpful? |
I got those living connection errors. I checked and it seemed like the ES service ran out of memory and stopped running. Wasn't sure what else I could do besides restart the service. After that it seemed to work for awhile, but ran into some more errors:
Which eventually turned into:
Nothing seemed to make it into ES, if I spin up the API to try and run a search I can't find anything. Some other thoughts I'll stick here until I find a better place for them
|
Yup, these are the circuit breaker issues I remember from doing a North America import a while back. Your suggestions for how to make things clearer are all excellent. The fix is to adjust the |
Just ran into some of the errors listed above. I've been testing out different Elasticsearch configuration settings. http://kufli.blogspot.ca/2014/11/elasticsearch-advanced-settings-and.html |
I got the same issue, but in different use-case. I create an api to import single address into pelias as below
and
The first call to api works well, but the second try got the mentioned error. So, I think it doesn't relate to memory as the load is very lightweight. |
It seems that in some environments, Pelias dbclient fails to add part of imported data to ES index. The error shows up after importing about 1 million documents. The exact error message is:
2016-05-02T12:03:14.304Z - error: [dbclient] esclient error Error: No Living connections
at sendReqWithConnection (/root/.pelias/openaddresses/node_modules/pelias-dbclient/node_modules/elasticsearch/src/lib/transport.js:211:15)
at next (/root/.pelias/openaddresses/node_modules/pelias-dbclient/node_modules/elasticsearch/src/lib/connection_pool.js:213:7)
at process._tickCallback (node.js:355:11)
2016-05-02T12:03:14.304Z - error: [dbclient] invalid resp from es bulk index operation
2016-05-02T12:03:14.304Z - info: [dbclient] retrying batch [500]
2016-05-02T12:03:14.304Z - error: [dbclient] transaction error reached max retries
The text was updated successfully, but these errors were encountered: