WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
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
Details
Formatted Diff
Diff
Patch
(7.87 KB, patch)
2013-04-01 15:17 PDT
,
Joshua Bell
no flags
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Joshua Bell
Comment 1
2013-04-01 12:23:43 PDT
Created
attachment 196004
[details]
Patch
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
Created
attachment 196027
[details]
Patch
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.
Top of Page
Format For Printing
XML
Clone This Bug