Details
-
Bug
-
Resolution: Fixed
-
Critical
-
2.5.1
-
Security Level: Public
-
Mar 9 - Mar 27
Description
Copied DaveR comment from CBSE-1349:
"""
I was looking at the code for the access log scanner, and it looks like we actually perform disk I/O (to write the access.log) while holding the internal HashTable bucket lock. This means that any operations which need to mutate documents in HashTable buckets covered by that lock will be blocked
From the code:
http://src.couchbase.org/source/xref/2.5.1/ep-engine/src/access_scanner.cc#31 - Visit each element, creating new log item...
http://src.couchbase.org/source/xref/2.5.1/ep-engine/src/mutation_log.cc#91 - Write entry into an (in-memory) buffer...
http://src.couchbase.org/source/xref/2.5.1/ep-engine/src/mutation_log.cc#421 - Add to buffer; once buffer is full then flush buffer to disk.
We probably want to separate log building and file I/O, to minimise the length of time the HashTable bucket lock is held (and hence minimise customer impact).
"""
Attachments
Issue Links
- relates to
-
MB-12254 Test effect of access log generation on front end ops
- Resolved