WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
152775
Modern IDB: storage/indexeddb/transaction-scope-sequencing.html fails
https://bugs.webkit.org/show_bug.cgi?id=152775
Summary
Modern IDB: storage/indexeddb/transaction-scope-sequencing.html fails
Brady Eidson
Reported
2016-01-05 22:14:02 PST
Modern IDB: storage/indexeddb/transaction-scope-sequencing.html fails The test is sound, and Modern IDB's transaction scheduler is non-complaint. tx1 blocks tx2, and tx2 blocks tx3. Our scheduler starts tx1, then sees that tx2 is blocked so it passes over it. It then sees that tx3 is *not* blocked by in-progress tx1, so it starts tx3. But the spec actually says any previous transaction that overlaps with your scope must run to completion before you get to run. So because tx3 is blocked by tx2, it can't run until tx2 finishes. Which means tx3 is implicitly blocked by tx1. The fix will be easy.
Attachments
Patch v1
(22.37 KB, patch)
2016-01-06 10:41 PST
,
Brady Eidson
no flags
Details
Formatted Diff
Diff
Patch v2 - Fix style
(22.45 KB, patch)
2016-01-06 10:52 PST
,
Brady Eidson
achristensen
: review+
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Brady Eidson
Comment 1
2016-01-06 10:41:29 PST
Created
attachment 268375
[details]
Patch v1
WebKit Commit Bot
Comment 2
2016-01-06 10:43:51 PST
Attachment 268375
[details]
did not pass style-queue: ERROR: Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp:1140: Non-label code inside switch statements should be indented. [whitespace/indent] [4] Total errors found: 1 in 7 files If any of these errors are false positives, please file a bug against check-webkit-style.
Brady Eidson
Comment 3
2016-01-06 10:52:19 PST
Created
attachment 268376
[details]
Patch v2 - Fix style
Alex Christensen
Comment 4
2016-01-06 11:21:13 PST
Comment on
attachment 268376
[details]
Patch v2 - Fix style View in context:
https://bugs.webkit.org/attachment.cgi?id=268376&action=review
> LayoutTests/storage/indexeddb/modern/resources/transaction-scheduler-4.js:34 > +
This is a lot of space.
> LayoutTests/storage/indexeddb/modern/transaction-scheduler-4.html:-7 > -That last read-only transaction *should* start while the read-write transaction is still blocked,<br>
Yep, this was invalid because this transaction reads something that could have been written to by a previous read-write transaction.
> Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp:1141 > + hasOverlappingScopes = hasOverlappingScopes || scopesOverlap(m_objectStoreWriteTransactions, currentTransaction->objectStoreIdentifiers());
||=
> Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp:1150 > + hasOverlappingScopes = hasOverlappingScopes || scopesOverlap(deferredReadWriteScopes, currentTransaction->objectStoreIdentifiers());
||=
> Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.h:206 > + // The key into these sets are the object store ID.
key -> keys
Brady Eidson
Comment 5
2016-01-06 11:25:38 PST
http://trac.webkit.org/changeset/194649
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug