Unused transactions commit out of sequence |
|||||
Issue descriptionIn the IDB back-end, a Commit() request that comes through for a transaction that has never had any requests is allowed to commit without having ever been started by the transaction coordinator. While the operations would never run out of order, the commit happens unexpectedly early - before a transaction with overlapping scope has completed. Raised by Moz at: https://github.com/dmurph/indexed-db-observers/issues/24 Repro attached. Expected: 1 rq1.onsuccess 2 rq2.onsuccess 3 tx1.oncomplete 4 tx2.oncomplete Actual: 1 rq1.onsuccess 4 tx2.oncomplete 2 rq2.onsuccess 3 tx1.oncomplete Or sometimes: 1 rq1.onsuccess 2 rq2.onsuccess 4 tx2.oncomplete 3 tx1.oncomplete
,
May 26 2016
,
Jun 9 2016
,
Jun 9 2016
,
Jun 22 2016
,
Jun 22 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d546a9d9162ce273c8b789306ae934b5db9ed6d1 commit d546a9d9162ce273c8b789306ae934b5db9ed6d1 Author: jsbell <jsbell@chromium.org> Date: Wed Jun 22 20:54:15 2016 IndexedDB: Ensure transactions without requests commit in the same order In the IDB back-end, a Commit() request that came through for a transaction that never had any requests was allowed to run the commit steps without having seen a Start() call from the transaction coordinator. While the operations would never run out of order, the commit would happens unexpectedly early from the point of view of script - i.e. before an earlier transaction with overlapping scope has completed. Handle this special case, using the existing commit_pending_ flag and a new test in Start(). R=palakj@chromium.org,cmumford@chromium.org BUG= 614530 Review-Url: https://codereview.chromium.org/2083203002 Cr-Commit-Position: refs/heads/master@{#401395} [modify] https://crrev.com/d546a9d9162ce273c8b789306ae934b5db9ed6d1/content/browser/indexed_db/indexed_db_transaction.cc [add] https://crrev.com/d546a9d9162ce273c8b789306ae934b5db9ed6d1/third_party/WebKit/LayoutTests/storage/indexeddb/empty-transaction-order.html
,
Jun 22 2016
|
|||||
►
Sign in to add a comment |
|||||
Comment 1 by jsb...@chromium.org
, May 24 2016