New issue
Advanced search Search tips
Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 24
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug



Sign in to add a comment
link

Issue 911877: IndexedDB commit() doesn't abort on request errors

Reported by dmu...@chromium.org, Dec 5 Project Member

Issue description

IDBTransasction.commit() should abort the transaction if there are any request errors. Currently this doesn't happen if the error is hanlded on the request, and probably doesn't happen in the 'shutdown' 'abortalltransactions' optimization.

I'll be uploading a WPT test for the first case.
 

Comment 1 by bugdroid1@chromium.org, Dec 7

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b0bd6d5bc0487315bdc89ba96df55b318cadc7b6

commit b0bd6d5bc0487315bdc89ba96df55b318cadc7b6
Author: Daniel Murphy <dmurph@chromium.org>
Date: Fri Dec 07 01:00:31 2018

[IndexedDB] Testing ordering and error handling for transaction.commit

* Tests that transaction ordering is consistent, even if a transaction
  calls commit().
* Tests that request errors cause a commit()-ed transaction to abort.

The second case seems to be broken in our implementation.

R=andreasbutler@google.com, cmp@chromium.org

Bug:  911877 
Change-Id: I47da6ce9d350f6c47afcd02cf808d4fefb5f013f
Reviewed-on: https://chromium-review.googlesource.com/c/1362477
Commit-Queue: Daniel Murphy <dmurph@chromium.org>
Reviewed-by: Chase Phillips <cmp@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#614512}
[add] https://crrev.com/b0bd6d5bc0487315bdc89ba96df55b318cadc7b6/third_party/blink/web_tests/external/wpt/IndexedDB/idb-explicit-commit.any-expected.txt
[modify] https://crrev.com/b0bd6d5bc0487315bdc89ba96df55b318cadc7b6/third_party/blink/web_tests/external/wpt/IndexedDB/idb-explicit-commit.any.js
[add] https://crrev.com/b0bd6d5bc0487315bdc89ba96df55b318cadc7b6/third_party/blink/web_tests/external/wpt/IndexedDB/idb-explicit-commit.any.worker-expected.txt

Comment 2 by bugdroid, Jan 24

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c3a88aa79d8710f81cc84679f7c7eaa1e6326100

commit c3a88aa79d8710f81cc84679f7c7eaa1e6326100
Author: Andreas Butler <andreasbutler@google.com>
Date: Thu Jan 24 19:42:46 2019

[IndexedDB]: Explicit commit error timing handling.

When a transaction is explicitly committed, there may yet be unhandled
errors that the browser has sent but the renderer has not yet seen. This
can cause strange behaviour (see the Github discussion link below). This
patch keeps track of the 'handled errors' in the renderer and the 'sent
errors' in the backend. The 'handled errors' number is sent when the
transaction is explicitly committed, and the browser can compare this
with the 'sent errors'. If they don't match, the transaction is aborted

GitHub Discussion: https://github.com/w3c/IndexedDB/pull/242

Bug:  911877 
Change-Id: I7ea7b9e20c70528de3f363e961f87a3d8f5798d3
Reviewed-on: https://chromium-review.googlesource.com/c/1378806
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Chase Phillips <cmp@chromium.org>
Reviewed-by: Daniel Murphy <dmurph@chromium.org>
Commit-Queue: Andreas Butler <andreasbutler@google.com>
Cr-Commit-Position: refs/heads/master@{#625780}

Comment 3 by andreasbutler@google.com, Jan 24

Status: Fixed (was: Assigned)

Sign in to add a comment