# Your git version is 1.8, but Rally requires at least git 1.9

**URL:** <https://discuss.elastic.co/t/your-git-version-is-1-8-but-rally-requires-at-least-git-1-9/129315>\
**Category:** Elasticsearch\
**Tags:** rally\
**Created:** [April 24, 2018, 1:37pm UTC](https://discuss.elastic.co/t/your-git-version-is-1-8-but-rally-requires-at-least-git-1-9/129315 "2018-04-24T13:37:13Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Anuj\_Kulkarni](https://avatars.discourse-cdn.com/v4/letter/a/6bbea6/32.png) [@Anuj\_Kulkarni](https://discuss.elastic.co/u/Anuj_Kulkarni)\
**Post date:** [April 24, 2018, 1:37pm UTC](https://discuss.elastic.co/t/your-git-version-is-1-8-but-rally-requires-at-least-git-1-9/129315/1 "2018-04-24T13:37:13Z")

</div>

I configured ESrally with my ElasticSearch. The problem I have is I am unable to run the race command as mentioned here - [https://esrally.readthedocs.io/en/stable/race.html](https://esrally.readthedocs.io/en/stable/race.html)

The log says that I am using git 1.8, but I am clearly using git 1.9

[anuj@es-perf-01 benchmarks]$ sudo esrally --distribution-version=6.0.0 --track=geopoint --challenge=append-fast-with-conflicts

```
________

```

/ \_\_ \_\_\_\_ _/ / /_ \_\_  
/ /_/ / \_\_ `/ / / / / /  
/ , / // / / / // /  
/_/ |_|\ __,_/_/_/\__ , /  
/\_\_\_\_/

[INFO] Writing logs to /root/.rally/logs/rally\_out\_20180424T132621Z.log  
[WARNING] Could not terminate all internal processes within timeout. Please check and force-terminate all Rally processes.  
[ERROR] Cannot race. Got an unexpected result during benchmarking: [Poison\<\<esrally.racecontrol.Setup object at 0x7f623c2e2d30\>\>: Traceback (most recent call last):  
File "/usr/lib/python3.4/site-packages/thespian/system/actorManager.py", line 155, in \_handleOneMessage  
actor\_result = self.actorInst.receiveMessage(msg, envelope.sender)  
File "/usr/lib/python3.4/site-packages/thespian/actors.py", line 838, in receiveMessage  
r = getattr(klass, methodName)(self, message, sender)  
File "/usr/lib/python3.4/site-packages/esrally/racecontrol.py", line 104, in receiveMsg\_Setup  
self.setup(msg, sender)  
File "/usr/lib/python3.4/site-packages/esrally/racecontrol.py", line 185, in setup  
t = track.load\_track(self.cfg)  
File "/usr/lib/python3.4/site-packages/esrally/track/loader.py", line 65, in load\_track  
repo = track\_repo(cfg)  
File "/usr/lib/python3.4/site-packages/esrally/track/loader.py", line 135, in track\_repo  
return GitTrackRepository(cfg, fetch, update)  
File "/usr/lib/python3.4/site-packages/esrally/track/loader.py", line 170, in **init**  
self.repo = repo\_class(remote\_url, tracks\_dir, repo\_name, "tracks", offline, fetch)  
File "/usr/lib/python3.4/site-packages/esrally/utils/repo.py", line 29, in **init**  
git.fetch(src=self.repo\_dir)  
File "/usr/lib/python3.4/site-packages/esrally/utils/git.py", line 18, in probe  
raise exceptions.SystemSetupError("Your git version is [%s] but Rally requires at least git 1.9. Please update git." % version)  
esrally.exceptions.SystemSetupError: ("Your git version is [['git version 1.8.3.1']] but Rally requires at least git 1.9. Please update git.", None)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):  
File "/usr/lib/python3.4/site-packages/thespian/system/actorManager.py", line 170, in \_handleOneMessage  
actor\_result = self.actorInst.receiveMessage(copy.deepcopy(msg), envelope.sender)  
File "/usr/lib/python3.4/site-packages/thespian/actors.py", line 838, in receiveMessage  
r = getattr(klass, methodName)(self, message, sender)  
File "/usr/lib/python3.4/site-packages/esrally/racecontrol.py", line 104, in receiveMsg\_Setup  
self.setup(msg, sender)  
File "/usr/lib/python3.4/site-packages/esrally/racecontrol.py", line 185, in setup  
t = track.load\_track(self.cfg)  
File "/usr/lib/python3.4/site-packages/esrally/track/loader.py", line 65, in load\_track  
repo = track\_repo(cfg)  
File "/usr/lib/python3.4/site-packages/esrally/track/loader.py", line 135, in track\_repo  
return GitTrackRepository(cfg, fetch, update)  
File "/usr/lib/python3.4/site-packages/esrally/track/loader.py", line 170, in **init**  
self.repo = repo\_class(remote\_url, tracks\_dir, repo\_name, "tracks", offline, fetch)  
File "/usr/lib/python3.4/site-packages/esrally/utils/repo.py", line 29, in **init**  
git.fetch(src=self.repo\_dir)  
File "/usr/lib/python3.4/site-packages/esrally/utils/git.py", line 18, in probe  
raise exceptions.SystemSetupError("Your git version is [%s] but Rally requires at least git 1.9. Please update git." % version)  
esrally.exceptions.SystemSetupError: ("Your git version is [['git version 1.8.3.1']] but Rally requires at least git 1.9. Please update git.", None)  
].

Getting further help:

* * *

- Check the log files in /root/.rally/logs for errors.
- Read the documentation at [https://esrally.readthedocs.io/en/0.10.1/](https://esrally.readthedocs.io/en/0.10.1/)
- Ask a question on the forum at [https://discuss.elastic.co/c/elasticsearch/rally](https://discuss.elastic.co/c/elasticsearch/rally)
- Raise an issue at [https://github.com/elastic/rally/issues](https://github.com/elastic/rally/issues) and include the log files in /root/.rally/logs.

* * *

## [INFO] FAILURE (took 26 seconds)

[anuj@es-perf-01 benchmarks]$ git --version  
git version 1.9.5  
[anuj@es-perf-01 benchmarks]$

---

<div class="post-metadata">

**Author:** ![dliappis](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dliappis/32/56174_2.png) [@dliappis](https://discuss.elastic.co/u/dliappis)\
**Post date:** [April 24, 2018, 2:08pm UTC](https://discuss.elastic.co/t/your-git-version-is-1-8-but-rally-requires-at-least-git-1-9/129315/2 "2018-04-24T14:08:24Z")

</div>

Hi @Anuj_Kulkarni,

I notice that you are running `esrally` with sudo (there's no reason you should do that though), but you are checking the git version as the `anuj` user:

```auto
[anuj@es-perf-01 benchmarks]$ git --version
git version 1.9.5

```

It's possible there's a different version of git in the path of the root user. This can be checked using:

```auto
sudo su -
git --version
# check the path of git as root too
which git

```

Or you could just try to start Rally with your own user.

Regards,  
Dimitris

---

<div class="post-metadata">

**Author:** ![Anuj\_Kulkarni](https://avatars.discourse-cdn.com/v4/letter/a/6bbea6/32.png) [@Anuj\_Kulkarni](https://discuss.elastic.co/u/Anuj_Kulkarni)\
**Post date:** [April 24, 2018, 3:59pm UTC](https://discuss.elastic.co/t/your-git-version-is-1-8-but-rally-requires-at-least-git-1-9/129315/3 "2018-04-24T15:59:31Z")

</div>

> [@Anuj\_Kulkarni](#):
>
> esrally --distribution-version=6.0.0 --track=geopoint --challenge=append-fast-with-conflicts

Hey thanks for the quick reply.  
I was able to confirm that git version as root user is again 1.9

[root@es-perf-01 ~]# git --version  
git version 1.9.5

And when I remove 'sudo' from the command, I get another error, which is similar to this - [Could not clone from 'https://github.com/elastic/rally-tracks'](https://discuss.elastic.co/t/could-not-clone-from-https-github-com-elastic-rally-tracks/64983).  
But as opposed to the OP of that post, I can git clone just fine.

[anuj@es-perf-01 ~]$ esrally --distribution-version=6.0.0 --track=geopoint --challenge=append-fast-with-conflicts

```
________

```

/ \_\_ \_\_\_\_ _/ / /_ \_\_  
/ /_/ / \_\_ `/ / / / / /  
/ , / // / / / // /  
/_/ |_|\ __,_/_/_/\__ , /  
/\_\_\_\_/

[INFO] Writing logs to /home/anuj/.rally/logs/rally\_out\_20180424T154913Z.log  
fatal: destination path './/tracks/default' already exists and is not an empty directory.  
fatal: destination path './/tracks/default' already exists and is not an empty directory.  
[WARNING] Could not terminate all internal processes within timeout. Please check and force-terminate all Rally processes.  
[ERROR] Cannot race. Got an unexpected result during benchmarking: [Poison\<\<esrally.racecontrol.Setup object at 0x7fb837d8bdd8\>\>: Traceback (most recent call last):  
File "/usr/lib/python3.4/site-packages/thespian/system/actorManager.py", line 155, in \_handleOneMessage  
actor\_result = self.actorInst.receiveMessage(msg, envelope.sender)  
File "/usr/lib/python3.4/site-packages/thespian/actors.py", line 838, in receiveMessage  
r = getattr(klass, methodName)(self, message, sender)  
File "/usr/lib/python3.4/site-packages/esrally/racecontrol.py", line 104, in receiveMsg\_Setup  
self.setup(msg, sender)  
File "/usr/lib/python3.4/site-packages/esrally/racecontrol.py", line 185, in setup  
t = track.load\_track(self.cfg)  
File "/usr/lib/python3.4/site-packages/esrally/track/loader.py", line 65, in load\_track  
repo = track\_repo(cfg)  
File "/usr/lib/python3.4/site-packages/esrally/track/loader.py", line 135, in track\_repo  
return GitTrackRepository(cfg, fetch, update)  
File "/usr/lib/python3.4/site-packages/esrally/track/loader.py", line 170, in **init**  
self.repo = repo\_class(remote\_url, tracks\_dir, repo\_name, "tracks", offline, fetch)  
File "/usr/lib/python3.4/site-packages/esrally/utils/repo.py", line 26, in **init**  
git.clone(src=self.repo\_dir, remote=self.url)  
File "/usr/lib/python3.4/site-packages/esrally/utils/git.py", line 36, in clone  
raise exceptions.SupplyError("Could not clone from [%s] to [%s]" % (remote, src))  
esrally.exceptions.SupplyError: ('Could not clone from [[GitHub - elastic/rally-tracks: Track specifications for the Elasticsearch benchmarking tool Rally](https://github.com/elastic/rally-tracks)] to [./\/tracks/default]', None)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):  
File "/usr/lib/python3.4/site-packages/thespian/system/actorManager.py", line 170, in \_handleOneMessage  
actor\_result = self.actorInst.receiveMessage(copy.deepcopy(msg), envelope.sender)  
File "/usr/lib/python3.4/site-packages/thespian/actors.py", line 838, in receiveMessage  
r = getattr(klass, methodName)(self, message, sender)  
File "/usr/lib/python3.4/site-packages/esrally/racecontrol.py", line 104, in receiveMsg\_Setup  
self.setup(msg, sender)  
File "/usr/lib/python3.4/site-packages/esrally/racecontrol.py", line 185, in setup  
t = track.load\_track(self.cfg)  
File "/usr/lib/python3.4/site-packages/esrally/track/loader.py", line 65, in load\_track  
repo = track\_repo(cfg)  
File "/usr/lib/python3.4/site-packages/esrally/track/loader.py", line 135, in track\_repo  
return GitTrackRepository(cfg, fetch, update)  
File "/usr/lib/python3.4/site-packages/esrally/track/loader.py", line 170, in **init**  
self.repo = repo\_class(remote\_url, tracks\_dir, repo\_name, "tracks", offline, fetch)  
File "/usr/lib/python3.4/site-packages/esrally/utils/repo.py", line 26, in **init**  
git.clone(src=self.repo\_dir, remote=self.url)  
File "/usr/lib/python3.4/site-packages/esrally/utils/git.py", line 36, in clone  
raise exceptions.SupplyError("Could not clone from [%s] to [%s]" % (remote, src))  
esrally.exceptions.SupplyError: ('Could not clone from [[GitHub - elastic/rally-tracks: Track specifications for the Elasticsearch benchmarking tool Rally](https://github.com/elastic/rally-tracks)] to [./\/tracks/default]', None)  
].

Getting further help:

* * *

- Check the log files in /home/anuj/.rally/logs for errors.
- Read the documentation at [Rally 0.10.1 — Rally 0.10.1 documentation](https://esrally.readthedocs.io/en/0.10.1/)
- Ask a question on the forum at [https://discuss.elastic.co/c/elasticsearch/rally](https://discuss.elastic.co/c/elasticsearch/rally)
- Raise an issue at [GitHub · Where software is built](https://github.com/elastic/rally/issues) and include the log files in /home/anuj/.rally/logs.

* * *

## [INFO] FAILURE (took 26 seconds)

[anuj@es-perf-01 ~]$ git clone [GitHub - elastic/rally-tracks: Track specifications for the Elasticsearch benchmarking tool Rally](https://github.com/elastic/rally-tracks) ./\/tracks/default  
Cloning into './/tracks/default'...  
remote: Counting objects: 2737, done.  
remote: Compressing objects: 100% (161/161), done.  
remote: Total 2737 (delta 431), reused 569 (delta 371), pack-reused 2084  
Receiving objects: 100% (2737/2737), 992.33 KiB | 315.00 KiB/s, done.  
Resolving deltas: 100% (1902/1902), done.  
Checking connectivity... done.  
[anuj@es-perf-01 ~]$

---

<div class="post-metadata">

**Author:** ![dliappis](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dliappis/32/56174_2.png) [@dliappis](https://discuss.elastic.co/u/dliappis)\
**Post date:** [April 24, 2018, 4:44pm UTC](https://discuss.elastic.co/t/your-git-version-is-1-8-but-rally-requires-at-least-git-1-9/129315/4 "2018-04-24T16:44:38Z")

</div>

Hello again,

This is most certainly weird as Rally internally just invokes the `git` command for all those operations.

Let's try to stick making Rally run as normal user (not root), as anyway Elasticsearch can not run as the `root` user.

I see at the beginning of the run a fatal error:

```auto
fatal: destination path './/tracks/default' already exists and is not an empty directory.
fatal: destination path './/tracks/default' already exists and is not an empty directory.

```

The path looks strange as normally it'd be `~/.rally/benchmarks/tracks/default`. Could there be a wrong value for `root.dir` under `[node]` in `~/.rally/rally.ini`?

To troubleshoot this cleanly, can you make a backup of your existing `~/.rally` directory, then delete it _entirely_ and start afresh with `esrally configure`, please? It's possible the tracks got checked out with root privileges when you were running Rally with sudo. I'd also appreciate the version of Rally (`esrally --version`) and which Linux distribution and version you are running.

Regards,  
Dimitris

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [May 22, 2018, 4:44pm UTC](https://discuss.elastic.co/t/your-git-version-is-1-8-but-rally-requires-at-least-git-1-9/129315/5 "2018-05-22T16:44:39Z")

</div>

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