Curator snapshot action timeout override

Hi all,

I've been configuring curator and creating actions for it today and here is my question/problem.

Based on documentation found here default value for timeout is 30 (seconds) and in case of actions like snapshot or forcemerge if it's set to 30 it will be automatically overridden to 21600 (at least this is how I understand it).

I'm creating snapshot to s3 and this are my configurations:

curator.yml

client:
    hosts:
      - 127.0.0.1
    port: 9200
    url_prefix:
    use_ssl: False
    certificate:
    client_cert:
    client_key:
    aws_key:
    aws_secret_key:
    aws_region:
    ssl_no_validate: False
    http_auth:
    timeout: 30
    master_only: False

logging:
    loglevel: INFO
    logfile:
    logformat: default
    blacklist: ['elasticsearch', 'urllib3']

action.yml

 actions:
    1:
        action: snapshot
        description: Creating snapshot of machinelog older than 14 days.
        options:
            repository: test_s3_backup
            name: somename-%Y%m%d%H%M%S
            ignore_unavailable: False
            include_global_state: True
            partial: False
            wait_for_completion: True
            skip_repo_fs_check: False
            timeout_override: 
            continue_if_exception: False
            disable_action: False
        filters:
            - filtertype: pattern
              kind: prefix
              value: somename-
              exclude: False
            - filtertype: age
              source: name
              direction: younger
              timestring: '%Y.%m.%d'
              unit: days
              unit_count: 5
              field:
              stats_result:
              epoch:
              exclude: False

After running it with curator --config curator.yml action.yml I get:

2016-08-18 14:37:08,022 ERROR     Failed to complete action: snapshot.  <class 'curator.exceptions.FailedExecution'>: Exception encountered.  Rerun with loglevel DEBUG and/or check Elasticsearch logs for more information. Exception: ConnectionTimeout caused by - ReadTimeoutError(HTTPConnectionPool(host=u'127.0.0.1', port=9200): Read timed out. (read timeout=30))

I tried commenting out both timeout and timeout_override. The only way I managed to make it work is by adding enough time to timeout_override.

My question is:
Is automatic override functionality not working properly or is my configuration not correct?
I can set it manually in each action to 21600 but now I'm just curiuous. :wink:

Thanks in advance,
Chris

1 Like

You need to manually change the timeout_override for these actions for now. I initially had the feature in place, but removed it when I added timeout_override.

But don't despair, the automatic, longer timeout_override for these actions will be fixed in 4.1.0 as a part of the schema validation feature being worked on right now.

Feel free to put an official issue at https://github.com/elastic/curator in the meanwhile.

Thank you for your reply @theuntergeek. That clears thing up. I'll put issue at GitHub to modify documentation for time being till next release.


edit:
GitHub issue can be found here.