Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-24082

[FTS] moss store data race between collection level Get() & background merger

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 5.0.0
    • 5.0.0
    • moss
    • None
    • Untriaged
    • Unknown

    Description

      Wrote a simple unit test to just load 1M items while simultaneously issuing collection level Get() operations and hit a data race between the background collection merger go routine and the front end Get()

      WARNING: DATA RACE

      Write at 0x00c420dc6c10 by goroutine 7:  github.com/couchbase/moss.(*collection).mergerNotifyPersister()      github.com/couchbase/moss/collection_merger.go:280 +0x676  github.com/couchbase/moss.(*collection).runMerger()      github.com/couchbase/moss/collection_merger.go:132 +0x454

      Previous read at 0x00c420dc6c10 by goroutine 6:  github.com/couchbase/moss.(*segmentStack).get()      github.com/couchbase/moss/segment_stack.go:106 +0x81  github.com/couchbase/moss.(*segmentStack).Get()      github.com/couchbase/moss/segment_stack.go:71 +0xae  github.com/couchbase/moss.(*collection).get()      github.com/couchbase/moss/collection.go:640 +0x40b  github.com/couchbase/moss.(*collection).Get()      github.com/couchbase/moss/collection.go:259 +0xe5  github.com/couchbase/moss.Test_JustLoad1Mitems()      github.com/couchbase/moss/persister_test.go:1201 +0x51b  testing.tRunner()      }}{{ 

       

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            sundar Sundar Sridharan (Inactive)
            sundar Sundar Sridharan (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty