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

Documentation claims "index.translog.sync_interval" is dynamic, but it can not be set dynamically #32763

Closed
ferronrsmith opened this issue Aug 10, 2018 · 11 comments · Fixed by #37382
Labels
:Core/Infra/Settings Settings infrastructure and APIs >docs General docs changes good first issue low hanging fruit help wanted adoptme

Comments

@ferronrsmith
Copy link

ferronrsmith commented Aug 10, 2018

{
    "error": {
        "root_cause": [
            {
                "type": "remote_transport_exception",
                "reason": "[fKNxi7c][10.0.0.155:9300][indices:admin/settings/update]"
            }
        ],
        "type": "illegal_argument_exception",
        "reason": "Can't update non dynamic settings [[index.translog.sync_interval]] for open indices ["
    },
    "status": 400
}

Tested on ES 6.3.2

https://www.elastic.co/guide/en/elasticsearch/reference/6.4/index-modules-translog.html

@markharwood markharwood added >docs General docs changes :Core/Infra/Settings Settings infrastructure and APIs labels Aug 10, 2018
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-core-infra

@markharwood
Copy link
Contributor

A "dynamically updatable" setting has a strict definition - that nodes don't have to be restarted for them to take effect.
The error message is not complaining about the fact that the setting is not dynamic - it's because your index is still open.
If you close the index first this setting can be changed without restarting nodes.
Does that solve this issue?

@ferronrsmith
Copy link
Author

In a production environment that's a problem, but thanks. I'll see how best to do this. Feel free to close. Documentation should be a bit more clear on the strictness

@markharwood
Copy link
Contributor

I suspect it's not the only setting that requires a closed index so that's probably worth considering in any alteration to the docs.

@ywelsch
Copy link
Contributor

ywelsch commented Aug 10, 2018

As index.translog.durability is a dynamic setting, I think we should make this one dynamic as well. In terms of implementation, it can reuse the same triggers we have build to make index.translog.durability dynamically switchable. Could be a adoptme / low-hanging fruit. In the mean-while we should fix the docs though. WDYT @markharwood ?

@markharwood
Copy link
Contributor

markharwood commented Aug 10, 2018

Thanks for the clarification, @ywelsch.
I'd assumed that our definition of dynamic was still a carry-over from when we'd differentiate between yaml file settings which were only read on boot and those settings changeable via API.

I'm guessing we mean it more broadly now as "taking immediate effect"?

I'll add an adoptme/low hanging fruit label here to add support for open indices.

However, I worry that changing the docs now to say "only works with closed indices" will be left behind (like a stale code comment) when this issue adds support for open indices. The docs are non-committal at the moment but there's a pretty clear error message to make up for that.

@markharwood markharwood added help wanted adoptme good first issue low hanging fruit labels Aug 10, 2018
@jubyvictor
Copy link

I would like to work on this.

@abskj
Copy link

abskj commented Sep 5, 2018

@jubyvictor are you working on this?

@jubyvictor
Copy link

Yes I'm.

@diogopontual
Copy link

Mr. @markharwood, could I work here?

@ywelsch
Copy link
Contributor

ywelsch commented Jan 14, 2019

There is already another attempt of this up, see #37382

ywelsch pushed a commit that referenced this issue Mar 20, 2019
Currently, we cannot update index setting index.translog.sync_interval if index is open, because it's
not dynamic which can be updated for closed index only.

Closes #32763
ywelsch pushed a commit that referenced this issue Mar 20, 2019
Currently, we cannot update index setting index.translog.sync_interval if index is open, because it's
not dynamic which can be updated for closed index only.

Closes #32763
pgomulka pushed a commit to pgomulka/elasticsearch that referenced this issue Mar 25, 2019
Currently, we cannot update index setting index.translog.sync_interval if index is open, because it's
not dynamic which can be updated for closed index only.

Closes elastic#32763
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
:Core/Infra/Settings Settings infrastructure and APIs >docs General docs changes good first issue low hanging fruit help wanted adoptme
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants