Hi I'm in favor of still echoing the X-Request-Id header. The purpose is to define a kind of correlation and idempotency, established by the client. It's a "classic" pattern in messaging systems. For instance, in many Apache Camel routes dealing with REST endpoints, we usually define X-Request-Id header in POST, PUT, and PATCH to ensure idempotent message processing in case of a retry.
So, it's up to a client to deal with X-Request-Id in response (and do the correlation if needed). To simplify the "engineering", we could only echo X-Request-Id if provided in the request. Regards JB On Fri, Oct 31, 2025 at 1:16 PM Alexandre Dutra <[email protected]> wrote: > > Hi all, > > This thread follows up on [1] to discuss whether we should echo the > client-generated X-Request-Id header in the response. > > Before Quarkus, the situation was unclear: Polaris on Dropwizard [2] > did not seem to echo the header, but Dropwizard itself has a > RequestIdFilter that does [3]. > > We have two options: > > 1) Echo the X-Request-Id header. > - Pros: Allows clients to correlate requests and responses. > - Cons: risk of over-engineering since we don't have users asking for > this. > > 2) Do not echo the X-Request-Id header. > - Pros: No action required on the Polaris side. > - Cons: None apparent. > > I don't have a strong opinion, but I slightly favor option 1 to > accommodate those who strongly value this feature. > > Thoughts? > > Thanks, > Alex > > [1] https://lists.apache.org/thread/bb1qyxjt827t3tomv2xp0s1kovxjsp94 > [2] > https://github.com/apache/polaris/blob/4b18ec065ff16f74b11bc85fdc6ea9036eca7274/dropwizard/service/src/main/java/org/apache/polaris/service/dropwizard/PolarisApplication.java#L516 > [3] > https://github.com/dropwizard/dropwizard/blob/3833f0e1d9fb8cae256fe09379733b8d651f8b87/dropwizard-jersey/src/main/java/io/dropwizard/jersey/filter/RequestIdFilter.java#L42-L49
