Replies: 6 comments 12 replies
-
I could confirm that issue still occurs for version 18.0.0. I my case scenario looks like:
I fix the issue overrideing traceparent header value manualy, but it probably should work automatically ? |
Beta Was this translation helpful? Give feedback.
-
can you share the details/code of your exact fix @DamianUrbaszewski ? how did you override traceparent and in which place? |
Beta Was this translation helpful? Give feedback.
-
@DamianUrbaszewski commented on Mar 14:
Hi Demian! If you need to hide / introduce headers to allow downstream to work well, you have to use Ocelot Headers Transformation feature. Finally, I would say,You have to override headers to recover your downstream service! |
Beta Was this translation helpful? Give feedback.
-
Welcome to Ocelot world! 🐯 I see a lack of usage of Ocelot Headers Transformation feature. Please use this feature to hide /override /control headers. |
Beta Was this translation helpful? Give feedback.
-
Hi @raman-m , I already try with header transformation without success. The header must be injected by the package « But ocelot overrides it. If I’m not wrong, header transformation cannot be configures to just ignore or filter out a specific header. This is what I need to make it work. Having a « Ignore header XX » By overriding the traceparent or just copying from upstream, it brakes the end to end tracing. Regards |
Beta Was this translation helpful? Give feedback.
-
@raman-m I agree with you that this is not an ocelot bug. It’s not up to ocelot to decide which header must be moved or not. It really depends on the situation. Creating an issue was a mistake sorry. Does it make more sense if I create a feature request for header filtering/ignore ? Or is it already possible to configure ocelot to not move or override a specific header ? Please note that hiding it by overriding it with blank value is not the expected behavior here. In my case the header must not be added by ocelot at all. Thank you |
Beta Was this translation helpful? Give feedback.
-
Expected Behavior
When an incoming HTTP request contains a "traceparent" HTTP header, this header should not be transferred to downstream. Like this, Application Insights will inject a valid traceparent header to link the downstream request to Ocelot by creating a dependency.
Actual Behavior
If the HTTP request contains a "traceperent" HTTP header, this header is transferred in the request done to the downstream endpoint. Application Insights will not create a dependency for the call done to downstream, attaching the targeted endpoint to the wrong parent.
Steps to Reproduce the Problem
Specifications
Beta Was this translation helpful? Give feedback.
All reactions