From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp56.i.mail.ru (smtp56.i.mail.ru [217.69.128.36]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id D63B045C304 for ; Tue, 15 Dec 2020 11:12:50 +0300 (MSK) From: "Alexander V. Tikhonov" Date: Tue, 15 Dec 2020 11:12:42 +0300 Message-Id: <5d7246dfd0a5e8d65949d3951f4ce1487d17131d.1608019937.git.avtikhon@tarantool.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [Tarantool-patches] [PATCH v1] test: setup workspace in tmpfs for OOS build List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Oleg Koshovetc , Kirill Yukhin Cc: tarantool-patches@dev.tarantool.org Cc: tarantool-patches@dev.tarantool.org Found that running vinyl test suite in parallel using test-run vardir on real hard drive may cause a lot of tests to fail. It happens because of bottleneck with hard drive usage up to 100% which can be seen by any of the tools like atop during vinyl tests run in parallel. To avoid of it all heavy loaded testing processes should use tmpfs for vardir path. Found that out-of-source build had to be updated to use tmpfs for it. This patch mounts additional tmpfs mount point in OOS build docker run process for test-run vardir. This mount point set using '--tmpfs' flag because '--mount' does not support 'exec' option which is needed to be able to execute commands in it [2][3]. Issues met on OOS before the patch, like described in #5504 and [1]: Test hung! Result content mismatch: --- vinyl/write_iterator.result Fri Nov 20 14:48:24 2020 +++ /rw_bins/test/var/081_vinyl/write_iterator.result Fri Nov 20 15:01:54 2020 @@ -200,831 +200,3 @@ --- ... for i = 1, 100 do space:insert{i, ''..i} if i % 2 == 0 then box.snapshot() end end ---- -... -space:delete{1} ---- -... Closes #5622 Part of #5504 [1] - https://gitlab.com/tarantool/tarantool/-/jobs/863266476#L5009 [2] - https://stackoverflow.com/questions/54729130/how-to-mount-docker-tmpfs-with-exec-rw-flags [3] - https://github.com/moby/moby/issues/35890 --- Github: https://github.com/tarantool/tarantool/tree/avtikhon/oos-build-tmpfs Issue: https://github.com/tarantool/tarantool/issues/5622 Issue: https://github.com/tarantool/tarantool/issues/5504 .travis.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.mk b/.travis.mk index 238e31cda..a975cd3cc 100644 --- a/.travis.mk +++ b/.travis.mk @@ -228,6 +228,7 @@ test_oos: deps_debian test_oos_no_deps test_oos_build: docker run --network=host -w ${OOS_SRC_PATH} \ --mount type=bind,source="${PWD}",target=${OOS_SRC_PATH},readonly,bind-propagation=rslave \ + --tmpfs ${OOS_BUILD_PATH}:exec \ -i ${DOCKER_IMAGE_TARANTOOL} \ make -f .travis.mk ${OOS_BUILD_RULE} -- 2.25.1