IndexedDB requires sequential access to IDBFactory.open and IDBFactory.deleteDatabase

Issue #175642 • Assigned to Ali A.

Details

Created
May 6, 2014
Privacy
This issue is public.
Found in build #
0.0011
Reports
Reported by 1 person

Sign in to watch or report this issue.

Steps to reproduce

URL = https://nolanlawson.s3.amazonaws.com/pouchdb/www/20140502/ac2cb3fba4bf199ec6f05336e3e6fa2065a08e65/tests/test.html?grep=test.basics.js-local

URL:

Repro Steps:

The following Mocha test suite demonstrates this issue. Notice that the tests all complete at 100% in both Firefox 29 and Chrome 34, but not in IE 11.

Without queuing: https://nolanlawson.s3.amazonaws.com/pouchdb/www/20140502/ac2cb3fba4bf199ec6f05336e3e6fa2065a08e65/tests/test.html?grep=test.basics.js-local

Now, here’s that same suite of tests, but with all calls to IDBFactory.open and IDBFactory.deleteDatabases queued. I.e., no two requests can be open at the same time; I wait for the onsuccess callback before allowing another request to be opened.

With queuing: https://nolanlawson.s3.amazonaws.com/pouchdb/www/20140502/e365740e13eb405555d869cec475dd77f05287aa/tests/test.html?grep=test.basics.js-local

For more details for what code changed between these two versions, here’s a diff on Github: https://github.com/pouchdb/pouchdb/pull/2124 .

Also note that it’s not enough to queue based on the database name, i.e. to only allow two open requests if they are for different database names. In another suite of tests (test.changes.js), we open and destroy two databases simultaneously, but this fails on IE11 unless we use a shared task queue.

Here’s that suite of tests:

Without queuing: https://nolanlawson.s3.amazonaws.com/pouchdb/www/20140502/ac2cb3fba4bf199ec6f05336e3e6fa2065a08e65/tests/test.html?grep=test.changes.js-local
With queuing: https://nolanlawson.s3.amazonaws.com/pouchdb/www/20140502/e365740e13eb405555d869cec475dd77f05287aa/tests/test.html?grep=test.changes.js-local

Expected Results:

Databases can be opened/destroyed simultaneously without requiring queued access.

Actual Results:

Attachments

0 attachments

    Comments and activity

    • Microsoft Edge Team

      Changed Assigned To to “IPBS P.”

      Changed Assigned To from “IPBS P.” to “Bruce M.”

      Changed Assigned To to “Kamen M.”

      Changed Assigned To from “Kamen M.” to “Venkat K.”

      Changed Assigned To from “Venkat K.” to “Shawn P.”

      Changed Status to “Confirmed”

      Changed Status from “Confirmed” to “Won’t fix”

      Changed Assigned To to “Ali A.”

      Changed Status from “Won’t fix”

    You need to sign in to your Microsoft account to add a comment.

    Sign in