Details
-
Bug
-
Resolution: Fixed
-
Major
-
3.1.4
-
Untriaged
-
Unknown
Description
As detected by TSan. This variable is only used to generate stream statistics, so the impact of it being incorrect should be limited to the %s:stream_%d_ready_queue_memory stream stat.
WARNING: ThreadSanitizer: data race (pid=17244)
|
Read of size 8 at 0x7d480000b370 by main thread (mutexes: write M24165, write M969, read M24121):
|
#0 Stream::getReadyQueueMemory() /home/daver/repos/couchbase/server/ep-engine/src/dcp-stream.cc:234 (ep.so+0x00000028f51e)
|
#1 ActiveStream::addStats(void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /home/daver/repos/couchbase/server/ep-engine/src/dcp-stream.cc:563 (ep.so+0x00000029452f)
|
#2 DcpProducer::addStats(void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /home/daver/repos/couchbase/server/ep-engine/src/dcp-producer.cc:551 (ep.so+0x00000027f1a0)
|
#3 ConnStatBuilder::operator()(SingleThreadedRCPtr<ConnHandler>&) /home/daver/repos/couchbase/server/ep-engine/src/ep_engine.cc:3696 (ep.so+0x000000182d54)
|
|
Previous write of size 8 at 0x7d480000b370 by thread T16 (mutexes: write M24143):
|
#0 Stream::pushToReadyQ(DcpResponse*) /home/daver/repos/couchbase/server/ep-engine/src/dcp-stream.cc:211 (ep.so+0x00000028f4a6)
|
#1 ActiveStream::backfillReceived(Item*) /home/daver/repos/couchbase/server/ep-engine/src/dcp-stream.cc:407 (ep.so+0x00000028d6e5)
|
#2 CacheCallback::callback(CacheLookup&) /home/daver/repos/couchbase/server/ep-engine/src/dcp-stream.cc:87 (ep.so+0x00000028d4b3)
|
#3 CouchKVStore::recordDbDump(_db*, _docinfo*, void*) /home/daver/repos/couchbase/server/ep-engine/src/couch-kvstore/couch-kvstore.cc:1563 (ep.so+0x00000031dec5)
|
Note: Already fixed in watson: http://review.couchbase.org/54314:
We are also not acquiring lock in the function getReadyQueueMemory. Given that it is just a read instead of acquiring the streamMutex lock, the readyQueueMemory variable can be made an atomic.
Attachments
Issue Links
- blocks
-
MB-19323 3.1.6 release
- Closed