Race condition in ContextLogger::mergeStats

Description

ContextLogger::mergeStats could have a race condition from a couple of sources:

  • Multiple slave activities with child queries updating stats at the same time

  • RoxieSocketWorker processing an HTTP query with multiple requests would start multiple concurrent queries using the same context

Conclusion

None

Activity

Show:

Richard Chapman May 5, 2017 at 4:43 PM

Test code that illustrated the issue (every few thousand calls):

soapbase.ecl:

soapcall.ecl:

Publish soapbase.ecl and soapcall.ecl to Roxie, then run soapcall repeatedly:

To increase the likelihood of a core add Sleep(1) in Allocator::_reallocate (in jarray.cpp)

Fixed
Pinned fields
Click on the next to a field label to start pinning.

Details

Components

Assignee

Reporter

Priority

Fix versions

Affects versions

Created May 5, 2017 at 1:50 PM
Updated May 5, 2017 at 4:43 PM
Resolved May 5, 2017 at 4:43 PM