Bill Farner created AURORA-134:
----------------------------------
Summary: LogStorage store implementations internally invoke write
Key: AURORA-134
URL: https://issues.apache.org/jira/browse/AURORA-134
Project: Aurora
Issue Type: Bug
Components: Scheduler
Reporter: Bill Farner
Priority: Minor
{{LogStorage}} implements all of the *Store interfaces, and is the outer-most
implementation provided to callers throughout the scheduler (it delegates to
MemStorage). We recently noticed that {{LogStorage}} implements all mutating
store methods by immediately invoking write()., which is odd since external
callers should only gain access to these methods by first invoking write().
This has the outcome of an additional write() call for all mutate operations.
For example:
{code}
storage.write(new MutateWork.NoResult.Quiet() {
@Override protected void execute(MutableStoreProvider storeProvider) {
for (xx) {
storeProvider.getAttributeStore().saveHostAttributes(..);
}
}
});
{code}
If the inner {{for}} loop executes N times, this block of code ends up invoking
LogStorage.write N+1 times because of this behavior.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)