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.

Reply via email to