dotmesh-io / dotmesh

dotmesh (dm) is like git for your data volumes (databases, files etc) in Docker and Kubernetes
https://dotmesh.com
Apache License 2.0
538 stars 29 forks source link

TestS3Remote/Pull is failing #618

Closed alaric-dotmesh closed 5 years ago

alaric-dotmesh commented 5 years ago

See eg https://gitlab.dotmesh.com/dotmesh/dotmesh-sync/-/jobs/139599 :

Jan 21 10:49:26 === RUN   TestS3Remote/Pull
Jan 21 10:49:26 RUNNING on cluster-15032843822734309-0-node-0: docker run -v ${PWD}:/app --workdir /app garland/docker-s3cmd s3cmd --access_key=AKIAI4S5BR43JJANXIFA --secret_key=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 rm s3://test.dotmesh/newfile.txt
Jan 21 10:49:27 RUNNING on cluster-15032843822734309-0-node-0: docker run -v ${PWD}:/app --workdir /app garland/docker-s3cmd s3cmd --access_key=AKIAI4S5BR43JJANXIFA --secret_key=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 rm s3://test.dotmesh/somedir/hello-world.txt
Jan 21 10:49:28 RUNNING on cluster-15032843822734309-0-node-0: echo 'hello, world' > hello-world.txt
Jan 21 10:49:29 RUNNING on cluster-15032843822734309-0-node-0: docker run -v ${PWD}:/app --workdir /app garland/docker-s3cmd s3cmd --access_key=AKIAI4S5BR43JJANXIFA --secret_key=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 put hello-world.txt s3://test.dotmesh
Jan 21 10:49:30 RUNNING on cluster-15032843822734309-0-node-0: dm clone test-real-s3 test.dotmesh --local-name=volume_3
Jan 21 10:49:42 RUNNING on cluster-15032843822734309-0-node-0: echo 'new file' > newfile.txt
Jan 21 10:49:42 RUNNING on cluster-15032843822734309-0-node-0: docker run -v ${PWD}:/app --workdir /app garland/docker-s3cmd s3cmd --access_key=AKIAI4S5BR43JJANXIFA --secret_key=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 put newfile.txt s3://test.dotmesh
Jan 21 10:49:43 RUNNING on cluster-15032843822734309-0-node-0: dm pull test-real-s3 volume_3
Jan 21 10:49:50 RUNNING on cluster-15032843822734309-0-node-0: docker run -v ${PWD}:/app --workdir /app garland/docker-s3cmd s3cmd --access_key=AKIAI4S5BR43JJANXIFA --secret_key=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 rm s3://test.dotmesh/hello-world.txt
Jan 21 10:49:51 RUNNING on cluster-15032843822734309-0-node-0: dm pull test-real-s3 volume_3
Jan 21 10:49:59 RUNNING on cluster-15032843822734309-0-node-0: dm pull test-real-s3 volume_3
Jan 21 10:50:05 RUNNING on cluster-15032843822734309-0-node-0: docker run -i -v 'volume_3:/foo' --volume-driver dm gitlab-dawdler.local:80/busybox touch /foo/hello-world.txt
Jan 21 10:50:06 Error waiting for dirty data...: not dirty yet, pausing and trying again...
Jan 21 10:50:06 Error waiting for dirty data...: not dirty yet, pausing and trying again...
Jan 21 10:50:07 Error waiting for dirty data...: not dirty yet, pausing and trying again...
Jan 21 10:50:09 RUNNING on cluster-15032843822734309-0-node-0: dm pull test-real-s3 volume_3
Jan 21 10:50:18 RUNNING on cluster-15032843822734309-0-node-0: dm switch volume_3
Jan 21 10:50:18 RUNNING on cluster-15032843822734309-0-node-0: dm commit -m 'non-s3 pushed data'
Jan 21 10:50:18 RUNNING on cluster-15032843822734309-0-node-0: dm pull test-real-s3 volume_3
[...]
Jan 21 10:51:53     --- FAIL: TestS3Remote/Pull (54.24s)
Jan 21 10:51:53         s3remote_test.go:101: failed to clone s3 bucket
Jan 21 10:51:53         s3remote_test.go:108: Unexpectedly deleted file
Godley commented 5 years ago

I reckon this was transient (I just reran that suite and it worked) and/or a result of two test runs running at the same time, which would have messed up the state in S3. Whenever we manage to get to a place where we can unit test all the things, we should just trash this test suite and replace it with unit tests.