RESOLVED FIXED 230839
PCM: different bundleID entries will override each other
https://bugs.webkit.org/show_bug.cgi?id=230839
Summary PCM: different bundleID entries will override each other
Kate Cheney
Reported 2021-09-27 08:49:57 PDT
We should make bundleID a part of the unique constraint of PCM tables.
Attachments
Patch (26.42 KB, patch)
2021-09-27 09:02 PDT, Kate Cheney
no flags
Patch (38.45 KB, patch)
2021-09-27 13:24 PDT, Kate Cheney
no flags
Patch for landing (38.45 KB, patch)
2021-09-27 15:48 PDT, Kate Cheney
no flags
Patch (37.70 KB, patch)
2021-09-27 21:28 PDT, Kate Cheney
no flags
Patch (37.71 KB, patch)
2021-09-28 13:30 PDT, Kate Cheney
no flags
Radar WebKit Bug Importer
Comment 1 2021-09-27 08:50:27 PDT
Kate Cheney
Comment 2 2021-09-27 09:02:57 PDT
Kate Cheney
Comment 3 2021-09-27 13:24:20 PDT
Alex Christensen
Comment 4 2021-09-27 14:11:17 PDT
Comment on attachment 439387 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=439387&action=review > Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:276 > +const Vector<String>& ResourceLoadStatisticsDatabaseStore::sortedTables() This could be a std::array, which would not require any dynamic allocation. > Source/WebKit/NetworkProcess/DatabaseUtilities.cpp:199 > + RELEASE_LOG_ERROR(Network, "%p - ResourceLoadStatisticsDatabaseStore::currentTableAndIndexQueries Unable to prepare statement to fetch schema for the table, error message: %" PRIVATE_LOG_STRING, this, m_database.lastErrorMsg()); DatabaseUtilities:: Also, I've been using the PrivateClickMeasurement logging channel in this file even though it's shared with RLS. Network isn't a great channel for this. Ditto several times below. > Source/WebKit/NetworkProcess/DatabaseUtilities.h:43 > +typedef std::pair<String, std::optional<String>> TableAndIndexPair; using TableAndIndexPair = std::pair<String, std::optional<String>>;
Kate Cheney
Comment 5 2021-09-27 15:48:11 PDT
Created attachment 439404 [details] Patch for landing
Kate Cheney
Comment 6 2021-09-27 15:49:10 PDT
(In reply to Alex Christensen from comment #4) > Comment on attachment 439387 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=439387&action=review > > > Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:276 > > +const Vector<String>& ResourceLoadStatisticsDatabaseStore::sortedTables() > > This could be a std::array, which would not require any dynamic allocation. > Did not do this because the function is virtual. > > Source/WebKit/NetworkProcess/DatabaseUtilities.cpp:199 > > + RELEASE_LOG_ERROR(Network, "%p - ResourceLoadStatisticsDatabaseStore::currentTableAndIndexQueries Unable to prepare statement to fetch schema for the table, error message: %" PRIVATE_LOG_STRING, this, m_database.lastErrorMsg()); > > DatabaseUtilities:: > Also, I've been using the PrivateClickMeasurement logging channel in this > file even though it's shared with RLS. Network isn't a great channel for > this. > Ditto several times below. > Fixed. > > Source/WebKit/NetworkProcess/DatabaseUtilities.h:43 > > +typedef std::pair<String, std::optional<String>> TableAndIndexPair; > > using TableAndIndexPair = std::pair<String, std::optional<String>>; Fixed.
Kate Cheney
Comment 7 2021-09-27 17:39:15 PDT
Comment on attachment 439404 [details] Patch for landing Cancelling commit queue to investigate failure.
EWS
Comment 8 2021-09-27 18:35:38 PDT
Found 1 new test failure: http/tests/privateClickMeasurement/expired-attribution-report-gets-sent-on-session-start.html
Kate Cheney
Comment 9 2021-09-27 21:28:28 PDT
Kate Cheney
Comment 10 2021-09-28 13:30:21 PDT
Kate Cheney
Comment 11 2021-09-28 13:33:13 PDT
Changed REFERENCES ObservedDomains(domainID) ON DELETE CASCADE -> REFERENCES PCMObservedDomains(domainID) ON DELETE CASCADE in the test case. This was causing a false positive pass. Now this test will fail without the accompanying changes.
EWS
Comment 12 2021-09-28 14:13:08 PDT
Committed r283194 (242241@main): <https://commits.webkit.org/242241@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 439511 [details].
Note You need to log in before you can comment on or make changes to this bug.