pilorama: Speedup TestForest_ApplyRandom() #615

Merged
fyrchik merged 1 commit from fyrchik/frostfs-node:fix-pilorama-tests into master 2023-08-16 19:09:10 +00:00

1 commit

Author SHA1 Message Date
fb6c3f480f [#615] pilorama: Speedup TestForest_ApplyRandom()
Some checks failed
DCO action / DCO (pull_request) Successful in 7m25s
Vulncheck / Vulncheck (pull_request) Successful in 8m29s
Build / Build Components (1.20) (pull_request) Successful in 10m25s
Build / Build Components (1.21) (pull_request) Successful in 10m20s
Tests and linters / Tests (1.21) (pull_request) Failing after 10m35s
Tests and linters / Staticcheck (pull_request) Successful in 11m47s
Tests and linters / Lint (pull_request) Successful in 12m44s
Tests and linters / Tests with -race (pull_request) Failing after 13m28s
Tests and linters / Tests (1.20) (pull_request) Successful in 14m42s
Some of our pilorama tests fail on CI.
The reasons are not obvious, but one possible improvement
is using `WithNoSync` option for these. It should have much effect,
because we are writing on the tmpfs, but doesn't hurt anyway.

If I replace `t.TempDir()` with a local directory, test execution time
goes down from 5s (sync) to 0.4s (nosync), which is the same time as
with `t.TempDir()`. Maybe we have some strange CI configuration.

```
panic: test timed out after 10m0s
running tests:
	TestForest_ApplyRandom (8m22s)
	TestForest_ApplyRandom/bbolt (8m21s)
...
goroutine 170 [syscall]:
syscall.Syscall(0xc000100000?, 0xc00047b758?, 0x6aff9a?, 0xc00041c1b0?)
	/opt/hostedtoolcache/go/1.20.7/x64/src/syscall/syscall_linux.go:69 +0x27
syscall.Fdatasync(0x9e35c0?)
	/opt/hostedtoolcache/go/1.20.7/x64/src/syscall/zsyscall_linux_amd64.go:418 +0x2a
go.etcd.io/bbolt.fdatasync(0xc000189000?)
```

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-08-16 12:47:33 +03:00