LGTM3 On Fri, Jul 26, 2024 at 2:04 AM Yoav Weiss (@Shopify) < yoavwe...@chromium.org> wrote:
> LGTM2 > > On Friday, July 19, 2024 at 6:56:59 PM UTC+2 Mike Taylor wrote: > >> LGTM1 >> On 7/17/24 5:24 PM, Alex Turner wrote: >> >> On Mon, Jul 15, 2024 at 11:03 AM Mike Taylor <miketa...@chromium.org> >> wrote: >> >>> On 7/12/24 10:44 AM, Alex Turner wrote: >>> >>> On Wed, Jul 10, 2024 at 11:25 AM Mike Taylor <miketa...@chromium.org> >>> wrote: >>> >>>> On 7/8/24 4:05 PM, Alex Turner wrote: >>>> >>>> >>>> Interoperability and Compatibility >>>> >>>> The Aggregation Service (used to process the aggregatable reports) >>>> typically allows its releases to be used for up to six months. To reduce >>>> the compatibility impact of this change, we are waiting until all current >>>> Aggregation Service releases support the new version before rolling to >>>> Stable. >>>> >>>> Can you say more about this? How many parties are running these >>>> services, and do we have any way of knowing what the uptake of new versions >>>> is, or said differently - can we tell if they're still on older versions? >>>> >>>> Also, what happens if you send the filter ID to an older version? >>>> >>> The Aggregation Service in general has a six-month support schedule >>> <https://github.com/privacysandbox/aggregation-service/wiki/Aggregation-Service-release-and-end%E2%80%90of%E2%80%90support-plan#release-and-end-of-support-schedules>, >>> i.e. attempts to use a release more than six months after it was released >>> will fail. Currently, there are three Aggregation Service releases that are >>> available for use (2.3, 2.4, 2.5). All previous releases (2.2 and before) >>> have already reached end-of-support and can no longer be used. >>> >>> I see - thanks. Just a few more questions to help me understand: >>> >>> There's mention of an image hash allowlist - presumably this is how you >>> enforce versioning on the server side. Is that correct? >>> >> Yep, exactly. >> >>> Release 2.3 does not support the new report format, but we have >>> announced it will reach end-of-support on August 2nd, i.e. before M128 >>> reaches Stable. (Note that we have already enabled the feature on Canary >>> for testing.) Attempting to process reports with the new “1.0” report >>> version on this release will result in the aggregation job failing with a >>> descriptive error message. In this case, however, no budget will be >>> consumed and the aggregation can be re-attempted (either on a newer release >>> or after excluding the “1.0” reports). >>> >>> Why doesn't this count as a breaking change, per your wiki page? Or the >>> idea is you don't need to rev the major version number because it will be >>> unsupported before this feature is usable in Chrome stable? >>> >> >> The Aggregation Service versioning scheme applies to server-side changes >> only. That is, a breaking change is one that would require an active >> migration for a partner when they update their Aggregation Service release. >> As the processing changes on the server are backwards compatible (more >> detail below), we haven't updated the major version. >> >> When attempting to process the new “1.0” reports, the old Aggregation >> Service releases (2.3 and before) error out and the new releases (2.4+) >> succeed. So, we consider that new support to be backwards compatible >> *server-side*. >> >> OK - understood. These server errors won't affect clients sending the new >> report version (and I realize I missed the distinction between report and >> aggregation service version). >> >> >> And when attempting to additionally specify custom filtering_ids *on the >> server*, Aggregation Service release 2.4 doesn’t let you (always uses >> the default, discussed below in more detail), while release 2.5 does let >> you. So, that change should also count as backwards compatible. >> >> Separately, there’s a question of whether the *browser-side* API change >> (to change the report version/format) is backwards compatible. While >> Aggregation Service release 2.3 is available, it is a breaking change. But, >> it will be backwards compatible once all current Aggregation Service >> releases support the report version (before M128 Stable). >> >> >> >>> Release 2.4 supports the new report format, but it does not allow for >>> filtering_ids to be specified for the aggregation; the default value ([0]) >>> is always used. On this release, existing flows that do not use the new >>> feature will be unaffected by the report version change. >>> >>> This also feels like a breakage change to me - if I'm using a supported >>> service version, but I can't use the updated report version because I will >>> get unexpected/inconsistent behavior with 2.5. >>> >> >> Let me clarify the behavior of Releases 2.4 and 2.5 a bit. On the web API >> after this change, you can optionally specify a filtering ID for each >> histogram contribution; if you don’t, the default of 0 is used. On the >> server API, you can optionally specify which filtering IDs to keep (i.e. >> all histogram contributions with other filtering IDs are ignored for the >> aggregation). If you don’t specify any (either because 2.4 doesn’t let you >> or if you use the default in 2.5), the default of keeping just filtering ID >> 0 is used. >> >> So, any existing flows that don’t care about the new filtering ID feature >> will behave exactly as before – all contributions are processed as they all >> have the default filtering ID of 0. Additionally, 2.4 and 2.5 have >> consistent behavior when no IDs are specified server-side. But, if you want >> to process histogram contributions with other/non-default filtering IDs, >> you need to upgrade to 2.5 as those contributions will always be ignored in >> 2.4. >> >> Thanks, >> Alex >> >>> >>> Release 2.5 supports the new report format and allows filtering_ids to >>> be specified for the aggregation. Developers who want to use the new >>> feature should upgrade to this release. >>> >>> We don't currently have metrics on usage of each Aggregation Service >>> release, but plan to add those. Still, we have notified partners of these >>> considerations through the API mailing lists >>> <https://groups.google.com/a/chromium.org/g/shared-storage-api-announcements/c/qlL4kpdgvP0>. >>> We'll also remind partners of the upcoming end-of-support. >>> >>> Thanks for the public comms - having some form of telemetry for >>> aggregation service versions in the wild does seem useful. >>> >>> thanks, >>> Mike >>> >> -- > You received this message because you are subscribed to the Google Groups > "blink-dev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to blink-dev+unsubscr...@chromium.org. > To view this discussion on the web visit > https://groups.google.com/a/chromium.org/d/msgid/blink-dev/8bd0031a-6868-4184-ae35-d3e611293613n%40chromium.org > <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/8bd0031a-6868-4184-ae35-d3e611293613n%40chromium.org?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw89JSf6HSn85m9Y9-PBYo4_Yrxx_TX6-_OJR6Sib4t2bQ%40mail.gmail.com.