RESOLVED WONTFIX 113714
IndexedDB: Abort transactions of abnormally closed connections
https://bugs.webkit.org/show_bug.cgi?id=113714
Summary IndexedDB: Abort transactions of abnormally closed connections
Joshua Bell
Reported 2013-04-01 12:15:56 PDT
IndexedDB: Abort transactions of abnormally closed connections
Attachments
Patch (7.84 KB, patch)
2013-04-01 12:23 PDT, Joshua Bell
no flags
Patch (7.87 KB, patch)
2013-04-01 15:17 PDT, Joshua Bell
no flags
Joshua Bell
Comment 1 2013-04-01 12:23:43 PDT
Joshua Bell
Comment 2 2013-04-01 12:24:07 PDT
dgrogan@, alecflett@ - can you take a look?
David Grogan
Comment 3 2013-04-01 14:42:08 PDT
Comment on attachment 196004 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=196004&action=review > Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.cpp:1323 > + // if the close is requested by the connection itself, so something unusual has Why not? Because the frontend won't tell the backend to close while there are still running transactions? > Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.cpp:1324 > + // happened e.g. abnormal process termination, forced close, etc. Looks like the transactions should be gone if there was a forced close - IDBDatabase::forceClose aborts all transactions before calling IDBDatabase::close(). Could a forced close really necessitate this?
Joshua Bell
Comment 4 2013-04-01 15:04:18 PDT
(In reply to comment #3) > (From update of attachment 196004 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=196004&action=review > > > Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.cpp:1323 > > + // if the close is requested by the connection itself, so something unusual has > > Why not? Because the frontend won't tell the backend to close while there are still running transactions? Exactly. The front end defers actually closing until all transactions have completed. > > Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.cpp:1324 > > + // happened e.g. abnormal process termination, forced close, etc. > > Looks like the transactions should be gone if there was a forced close - IDBDatabase::forceClose aborts all transactions before calling IDBDatabase::close(). Could a forced close really necessitate this? That's true. I'll fix the comment.
Joshua Bell
Comment 5 2013-04-01 15:17:13 PDT
David Grogan
Comment 6 2013-04-01 16:03:53 PDT
Comment on attachment 196027 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=196027&action=review LGTM > Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.cpp:1325 > + // e.g. unexpected process termination. Argh, I think my comment on the last patch was wrong. When a forceClose is called, this method is called and then the frontend is notified of the force close. Then the frontend aborts all the transactions, which would be too late. So I think your original comment was correct.
Levi Weintraub
Comment 7 2013-04-08 10:50:28 PDT
Should this be moved to blink? If so, please clear the flags on the patch and mark this bug as invalid.
Joshua Bell
Comment 8 2013-04-11 09:10:09 PDT
I've copied this to blink. The issue/patch is still valid for WebKit. I'm pinging possible new owners.
Brent Fulgham
Comment 9 2022-02-01 12:26:06 PST
I don't believe this change is relevant to WebKit's newer indexedDB design.
Note You need to log in before you can comment on or make changes to this bug.