mirror of
https://github.com/apache/impala.git
synced 2025-12-19 18:12:08 -05:00
single_node_perf_run.py: clean up newly-added testdata
In single_node_perf_run.py, restore_workloads() can make the tree
"dirty", and when a tree is dirty, git won't let you switch branches
in a way that clobbers the dirty file contents:
$ cd $(mktemp -d)
$ git init .
Initialized empty Git repository in /tmp/tmp.H0NxzTXLUj/.git/
$ touch foo && git add foo && git commit -a -m "foo"
[master (root-commit) 3776149] foo
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 foo
$ git checkout -b ok_foo && echo "ok" >> foo && git commit -a -m "foo is ok"
Switched to a new branch 'ok_foo'
[ok_foo 9fd5bde] foo is ok
1 file changed, 1 insertion(+)
$ git checkout master && echo "not ok" >> foo
Switched to branch 'master'
$ git checkout ok_foo
error: Your local changes to the following files would be overwritten by checkout:
foo
Please, commit your changes or stash them before you can switch branches.
Aborting
Discovered when testing single_node_perf_run with
https://gerrit.cloudera.org/#/c/7153/; after this commit, that patch
works with single_node_perf_run.py
Change-Id: Id0220f3cd7a26d2627e40cd432c23815a6d65ea4
Reviewed-on: http://gerrit.cloudera.org:8080/7291
Reviewed-by: Jim Apple <jbapple-impala@apache.org>
Tested-by: Impala Public Jenkins
This commit is contained in:
committed by
Impala Public Jenkins
parent
801c32dec3
commit
01b5973c40
@@ -58,6 +58,7 @@ from tempfile import mkdtemp
|
||||
import json
|
||||
import os
|
||||
import sh
|
||||
import shutil
|
||||
import subprocess
|
||||
import sys
|
||||
import textwrap
|
||||
@@ -229,6 +230,7 @@ def perf_ab_test(options, args):
|
||||
if len(args) > 1 and args[1]:
|
||||
hash_b = get_git_hash_for_name(args[1])
|
||||
# discard any changes created by the previous restore_workloads()
|
||||
shutil.rmtree("testdata/workloads")
|
||||
sh.git.checkout("--", "testdata/workloads")
|
||||
build(hash_b, options)
|
||||
restore_workloads(workload_dir)
|
||||
@@ -298,11 +300,14 @@ def main():
|
||||
current_hash = get_git_hash_for_name("HEAD")
|
||||
|
||||
try:
|
||||
workloads = backup_workloads()
|
||||
perf_ab_test(options, args)
|
||||
finally:
|
||||
# discard any changes created by the previous restore_workloads()
|
||||
shutil.rmtree("testdata/workloads")
|
||||
sh.git.checkout("--", "testdata/workloads")
|
||||
sh.git.checkout(current_hash)
|
||||
restore_workloads(workloads)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
Reference in New Issue
Block a user