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
Problem: ES client timeout is not configurable #556
Conversation
This was against qa/1.6.x, which has been replaced by stable/1.6.x Changing what branch this is merging to and reopening. |
4ed0398
to
7b70482
Compare
7b70482
to
e323ed5
Compare
@jraddaoui it would be awesome if you can give this a try. I would start looking at how the So Santi's PR is about setting a timeout when we hit ES. Once you have AM working locally (qa/1.x) you could verify that the change works by hitting any page in the dashboard that makes use of ES, e.g. the archival storage tab. Without ES running, the page return after 10 seconds with some error instead of blocking forever. If you add |
Once we confirm this is working properly we should include this in |
Hi @sevein and @scollazo , I was tryting first to reproduce the issue in qa/1.x (without the fix) and, with the ES service down, I got an error page right away with the following message:
Am I missing something to reproduce the issue? Maybe it's not about ES not being running but about big transfers/METS files being indexed? |
Nevermind, I just saw the Redmine ticket, I'll try with a big ingest. |
I was expecting the ES client to hang until the timeout is reached but maybe that's not the case. You may find other ways to reproduce but creating an ingest big enough may not be as easy. I wouldn't go too crazy, this change is pretty safe. |
e323ed5
to
42128d5
Compare
42128d5
to
a4a62b4
Compare
Hi @scollazo, It took me a while to understand how this works and after I set the config setting in the right place I got the following exception:
Changing One thing Sevein and I noticed is that those settings are case insensitive, so I think it would be a good practice to use snake_case for them in the future. Also, do we have them documented somewhere? It would be nice to add a note about the new setting if we do. Finally, we try to follow this guidelines for the commit message, specially the part about the message and content lines length. I've updated this branch to merge the fix in qa/1.x and then cherry-pick it to stable/1.6.x and I've amended your commit fixing the float error and the commit message, but please, could you double check this is working as expected. Thanks! |
So... is it not working? |
After parsing the value to a float the exception is not thrown, but it looks like the timeout value set in the client has no effect over the index request, at least not trying to set it down to force a timeout ... |
Not even setting |
Radda, I would just wait to get some feedback from Santi and move on to the
next PR. Check out the GPG stuff Joel pushed yesterday, there are four PRs
that depend on each other. Give it a try!
…On May 13, 2017 12:43, "José Raddaoui Marín" ***@***.***> wrote:
After parsing the value to a float the exception is not thrown, but it
looks like the timeout value set in the client has no effect over the index
request, at least not trying to set it down to force a timeout ...
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#556 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAlA--OxAtjlahTQlkrfC6Duo36uwaaUks5r5gfKgaJpZM4LjK8w>
.
|
This should be high priority, currently affecting a client production deployment (in stable/1.6.x). Adding myself as a reviewer. |
After setting elasticsearchTimeout = 0.1 in clientConfig, and restart mcp-client, I got this:
The aip is finally indexed, after 6 timeouts like this, and the task duration goes to 62 seconds, while the default configuration does it in 3 . The default retry time is 10 seconds, so the behavior seems ok to me. |
With big METs files, 10 seconds might not be enough. This creates a configuration parameter in order to configure elasticsearch timeout.
a4a62b4
to
e4b9df6
Compare
I tested this PR on top of stable/1.6.x and it seems to be working fine. Will cherry pick to stable/1.6.x |
Hi Hector, I've already done that ;) |
Just noticed it's already cherry picked to stable/1.6.x. Thanks! |
With big METs files, 10 seconds might not be enough. This creates a configuration parameter in order to configure it.
I went for the conservative approach of only changing the ES aip index call, but this can also be handled at connection level, with something like:
Refs: #10734