[Solved] Create() got an unexpected keyword argument 'include_type_name'

Hi,

I am getting an error when running "esrally --track http_logs --target-hosts 172.31.13.142:9200 --pipeline benchmark-only --test-mode"

Running delete-index [100% done]
Running create-index [ 0% done]
[ERROR] Cannot race. Error in load generator [0]
create() got an unexpected keyword argument 'include_type_name'

This is what's in the log.

2019-02-07 19:35:39,485 ActorAddr-(T|:40916)/PID:31831 esrally.driver.driver INFO Scheduling next task for client id [0] at their timestamp [1151.699038] (master timestamp [1151.700427])
2019-02-07 19:35:39,487 ActorAddr-(T|:37174)/PID:31833 esrally.driver.driver INFO Choosing [deterministic scheduler] for [create-index].
2019-02-07 19:35:39,489 ActorAddr-(T|:41235)/PID:31838 esrally.actor INFO LoadGenerator[5] reached join point [JoinPoint(2)].
2019-02-07 19:35:39,489 ActorAddr-(T|:35210)/PID:31839 esrally.actor INFO LoadGenerator[6] reached join point [JoinPoint(2)].
2019-02-07 19:35:39,489 ActorAddr-(T|:42839)/PID:31840 esrally.actor INFO LoadGenerator[7] reached join point [JoinPoint(2)].
2019-02-07 19:35:39,485 ActorAddr-(T|:40916)/PID:31831 esrally.driver.driver INFO Scheduling next task for client id [1] at their timestamp [1151.698337] (master timestamp [1151.700427])
2019-02-07 19:35:39,487 ActorAddr-(T|:37174)/PID:31833 esrally.driver.driver INFO Creating iteration-count based schedule with [deterministic] distribution for [create-index] with [0] warmup iterations and [1] iterations.
2019-02-07 19:35:39,486 ActorAddr-(T|:40916)/PID:31831 esrally.driver.driver INFO Scheduling next task for client id [2] at their timestamp [1151.698340] (master timestamp [1151.700427])
2019-02-07 19:35:39,488 ActorAddr-(T|:37174)/PID:31833 esrally.driver.driver ERROR Could not execute schedule
Traceback (most recent call last):

File "/usr/local/lib/python3.5/dist-packages/esrally/driver/driver.py", line 1013, in call
total_ops, total_ops_unit, request_meta_data = execute_single(runner, self.es, params, self.abort_on_error)

File "/usr/local/lib/python3.5/dist-packages/esrally/driver/driver.py", line 1045, in execute_single
return_value = runner(es, params)

File "/usr/local/lib/python3.5/dist-packages/esrally/driver/runner.py", line 134, in call
return self.runnable(es['default'], *args[1:])

File "/usr/local/lib/python3.5/dist-packages/esrally/driver/runner.py", line 1109, in call
return_value = self.delegate(es, params)

File "/usr/local/lib/python3.5/dist-packages/esrally/driver/runner.py", line 786, in call
es.indices.create(index=index, body=body, **request_params)

File "/usr/local/lib/python3.5/dist-packages/elasticsearch/client/utils.py", line 76, in _wrapped
return func(*args, params=params, **kwargs)

TypeError: create() got an unexpected keyword argument 'include_type_name'

The environment is esrally 1.0.3 on Ubuntu.

The error seems to be caused by the cluster on v7.0. I restarted the cluster on v6 and that fixed the issue.

Thanks for the report.

TL;DR for now is that if you want to benchmark Elasticsearch 7, you'll need to use the development version of Rally.

The issue here is that we added this parameter in the master branch of the rally-tracks repo a few days ago to support benchmarking 7.0, however, the elasticsearch-python client that Rally uses doesn't support the parameter. So Rally has been updated to support it, however, if you want to benchmark Elasticsearch master you'll need to use the development version of Rally until a new Rally release happens.

In your case, Rally will use/checkout the right branch of Rally tracks depending on the detected Elasticsearch version, so by switching to a v6 cluster it uses branch 6 which doesn't have this parameter.

Btw we've also added the missing parameter in the elasticsearch-py library but this also requires a new release.

Regards,
Dimitris

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.