danielcweeks commented on PR #15171:
URL: https://github.com/apache/iceberg/pull/15171#issuecomment-4007018390

   I think we still have some fundamental disagreement on principals involved 
in how signing and caching works, so I'd like to get aligned on these first:
   
   1. The catalog is responsible for all aspects of securely signing a request
   2. The catalog is responsible for crafting a requests can be cached/reused 
or not
   3. A client has no control over what the server signs or does not
   4. A client may reuse a request of the catalog signals that it can
   
   The issue I have with the approach in #15428 as I understand it, is that 
we're putting a lot of logic and control in the client and not delegating that 
to the catalog.  This is an inversion of control and I feel it complicates the 
client's responsibility and limits the catalogs ability understand and process 
a request.  
   
   Clients should generally be dumb.  If a response is marked as cacheable, it 
should assume that it can reuse the request for a reasonably short amount of 
time.  We could say the client needs to only cache certain types of requests or 
parse and manage headers, but that shouldn't be necessary and leads to 
complicated and inconsistent client behavior.
   
   It feels like we're trying to fix the server by making the client overly 
complicated.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to