w3c / baggage

Propagation format for distributed context: Baggage
https://w3c.github.io/baggage/
Other
46 stars 18 forks source link

Clarify Baggage Propagation Limits #108

Closed dpauls closed 1 year ago

dpauls commented 2 years ago

The Limits Section in the Baggage Propagation document specifies the following:

  1. A platform MUST propagate all list-members up to at least 64 list-members including any list-members added by the platform.
  2. A platform MUST propagate all list-members including any list-members added by the platform if the resulting baggage-string would be 8192 bytes or less. If the resulting baggage-string would be greater than 8192 bytes, some list-members MAY be dropped until the resulting baggage-string is 8192 characters or less.

It isn't clear to me what is expected the following hypothetical scenario:

The first limit specification suggests the entire string must be propagated because it contains less than 64 list-members. OTOH, the second limit specification suggests some list-members MAY be dropped. However, doing so contradicts the first requirement, which is labelled as a MUST.

I don't see any size limit to a list-member the way it is defined, which implies that the suggested hypotetical scenario is possible.

Pracitcally speaking, it seems to me that if there is a limit on length is provided, the intent is to allow an implemenation to bound the resources it would need to process a baggage string, if necessary. So, this leads me to believe the intent is to allow the size limit to trump the number of list-members limit.

I'm looking for feedback to confirm my thinking on this. Thanks!

kalyanaj commented 2 years ago

Re-assigning per our discussion in the working group meeting.