Writecache data race #255

Closed
opened 2023-04-14 12:13:32 +00:00 by dstepanov-yadro · 1 comment

Expected Behavior

No data race

Current Behavior

WARNING: DATA RACE
Write at 0x00c000002bb0 by goroutine 8:
  git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/writecache.(*cache).openStore()
      /home/dstepanov/src/frostfs-node/pkg/local_object_storage/writecache/storage.go:47 +0x124
  git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/writecache.(*cache).setMode()
      /home/dstepanov/src/frostfs-node/pkg/local_object_storage/writecache/mode.go:72 +0x4ad
  git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/writecache.(*cache).Close()
      /home/dstepanov/src/frostfs-node/pkg/local_object_storage/writecache/writecache.go:166 +0xb9
  git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/shard.(*Shard).Close()
      /home/dstepanov/src/frostfs-node/pkg/local_object_storage/shard/control.go:276 +0x48b
  git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/shard.TestShardOpen()
      /home/dstepanov/src/frostfs-node/pkg/local_object_storage/shard/control_test.go:101 +0x71b
  testing.tRunner()
      /usr/local/go/src/testing/testing.go:1576 +0x216
  testing.(*T).Run.func1()
      /usr/local/go/src/testing/testing.go:1629 +0x47

Previous read at 0x00c000002bb0 by goroutine 41:
  git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/writecache.(*cache).dbFlushMarkUpdate()
      /home/dstepanov/src/frostfs-node/pkg/local_object_storage/writecache/init.go:113 +0x30d
  git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/writecache.(*cache).initFlushMarks.func2()
      /home/dstepanov/src/frostfs-node/pkg/local_object_storage/writecache/init.go:32 +0x72

Goroutine 8 (running) created at:
  testing.(*T).Run()
      /usr/local/go/src/testing/testing.go:1629 +0x805
  testing.runTests.func1()
      /usr/local/go/src/testing/testing.go:2036 +0x8d
  testing.tRunner()
      /usr/local/go/src/testing/testing.go:1576 +0x216
  testing.runTests()
      /usr/local/go/src/testing/testing.go:2034 +0x87c
  testing.(*M).Run()
      /usr/local/go/src/testing/testing.go:1906 +0xb44
  main.main()
      _testmain.go:83 +0x2e9

Goroutine 41 (finished) created at:
  git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/writecache.(*cache).initFlushMarks()
      /home/dstepanov/src/frostfs-node/pkg/local_object_storage/writecache/init.go:29 +0x1c4
  git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/writecache.(*cache).Init()
      /home/dstepanov/src/frostfs-node/pkg/local_object_storage/writecache/writecache.go:155 +0x2e
  git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/shard.(*Shard).Init()
      /home/dstepanov/src/frostfs-node/pkg/local_object_storage/shard/control.go:119 +0x503
  git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/shard.TestShardOpen()
      /home/dstepanov/src/frostfs-node/pkg/local_object_storage/shard/control_test.go:97 +0x631
  testing.tRunner()
      /usr/local/go/src/testing/testing.go:1576 +0x216
  testing.(*T).Run.func1()
      /usr/local/go/src/testing/testing.go:1629 +0x47
==================
--- FAIL: TestShardOpen (0.02s)
...
    testing.go:1446: race detected during execution of test

Steps to Reproduce (for bugs)

Run go test -race ./...

## Expected Behavior No data race ## Current Behavior ``` WARNING: DATA RACE Write at 0x00c000002bb0 by goroutine 8: git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/writecache.(*cache).openStore() /home/dstepanov/src/frostfs-node/pkg/local_object_storage/writecache/storage.go:47 +0x124 git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/writecache.(*cache).setMode() /home/dstepanov/src/frostfs-node/pkg/local_object_storage/writecache/mode.go:72 +0x4ad git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/writecache.(*cache).Close() /home/dstepanov/src/frostfs-node/pkg/local_object_storage/writecache/writecache.go:166 +0xb9 git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/shard.(*Shard).Close() /home/dstepanov/src/frostfs-node/pkg/local_object_storage/shard/control.go:276 +0x48b git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/shard.TestShardOpen() /home/dstepanov/src/frostfs-node/pkg/local_object_storage/shard/control_test.go:101 +0x71b testing.tRunner() /usr/local/go/src/testing/testing.go:1576 +0x216 testing.(*T).Run.func1() /usr/local/go/src/testing/testing.go:1629 +0x47 Previous read at 0x00c000002bb0 by goroutine 41: git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/writecache.(*cache).dbFlushMarkUpdate() /home/dstepanov/src/frostfs-node/pkg/local_object_storage/writecache/init.go:113 +0x30d git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/writecache.(*cache).initFlushMarks.func2() /home/dstepanov/src/frostfs-node/pkg/local_object_storage/writecache/init.go:32 +0x72 Goroutine 8 (running) created at: testing.(*T).Run() /usr/local/go/src/testing/testing.go:1629 +0x805 testing.runTests.func1() /usr/local/go/src/testing/testing.go:2036 +0x8d testing.tRunner() /usr/local/go/src/testing/testing.go:1576 +0x216 testing.runTests() /usr/local/go/src/testing/testing.go:2034 +0x87c testing.(*M).Run() /usr/local/go/src/testing/testing.go:1906 +0xb44 main.main() _testmain.go:83 +0x2e9 Goroutine 41 (finished) created at: git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/writecache.(*cache).initFlushMarks() /home/dstepanov/src/frostfs-node/pkg/local_object_storage/writecache/init.go:29 +0x1c4 git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/writecache.(*cache).Init() /home/dstepanov/src/frostfs-node/pkg/local_object_storage/writecache/writecache.go:155 +0x2e git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/shard.(*Shard).Init() /home/dstepanov/src/frostfs-node/pkg/local_object_storage/shard/control.go:119 +0x503 git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/shard.TestShardOpen() /home/dstepanov/src/frostfs-node/pkg/local_object_storage/shard/control_test.go:97 +0x631 testing.tRunner() /usr/local/go/src/testing/testing.go:1576 +0x216 testing.(*T).Run.func1() /usr/local/go/src/testing/testing.go:1629 +0x47 ================== --- FAIL: TestShardOpen (0.02s) ... testing.go:1446: race detected during execution of test ``` ## Steps to Reproduce (for bugs) Run `go test -race ./...`
dstepanov-yadro added the
triage
label 2023-04-14 12:13:32 +00:00
carpawell was assigned by fyrchik 2023-04-14 12:14:12 +00:00
Owner

Closed via #261.

Closed via #261.
fyrchik added this to the v0.37.0 milestone 2023-04-19 10:55:06 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: TrueCloudLab/frostfs-node#255
No description provided.