diff options
author | Tor Egge <Tor.Egge@broadpark.no> | 2017-05-16 11:08:22 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-16 11:08:22 +0200 |
commit | 861bbee0b53217879b3c282f8f986f55277781fa (patch) | |
tree | 445356791c4eccb938fdeacb591c675f2c8888aa /searchcore | |
parent | 88332f46a65fd205e5deac7ec4b92975f21b6e8d (diff) |
Explain need for serializing late part of attribute manager initialization
Diffstat (limited to 'searchcore')
-rw-r--r-- | searchcore/src/vespa/searchcore/proton/attribute/attribute_manager_initializer.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/attribute/attribute_manager_initializer.cpp b/searchcore/src/vespa/searchcore/proton/attribute/attribute_manager_initializer.cpp index 8fe8a36ec94..e9fdd8638c9 100644 --- a/searchcore/src/vespa/searchcore/proton/attribute/attribute_manager_initializer.cpp +++ b/searchcore/src/vespa/searchcore/proton/attribute/attribute_manager_initializer.cpp @@ -173,6 +173,10 @@ AttributeManagerInitializer::run() { std::promise<bool> promise; std::future<bool> future = promise.get_future(); + /* + * Attribute manager and some its members (e.g. _attributeFieldWriter) assumes that work is performed + * by document db master thread and lacks locking to handle calls from multiple threads. + */ _master.execute(std::make_unique<AttributeManagerInitializerTask>(std::move(promise), _configSerialNum, _documentMetaStore, |