Skip to content

Message cannot contain multiple Content-Length headers #6276

@nmccalme

Description

@nmccalme

Describe the bug
When I send an event to my service, the data shows up multiple times in my service's logs, but the downstream behavior is never triggered. The dispatcher ends up reporting the following:

"error":"unable to complete request to http://broker-filter.knative-eventing.svc.cluster.local/triggers/demo-function/trigger/4fceeccb-e5b3-4445-95c7-4c7c2f647b90: Post \"http://broker-filter.knative-eventing.svc.cluster.local/triggers/demo-function/trigger/4fceeccb-e5b3-4445-95c7-4c7c2f647b90\": net/http: HTTP/1.x transport connection broken: http: message cannot contain multiple Content-Length headers; got [\"311\" \"19\"]","stacktrace":"knative.dev/eventing/pkg/channel/fanout.(*FanoutMessageHandler).dispatch\n\tknative.dev/eventing/pkg/channel/fanout/fanout_message_handler.go:281\nknative.dev/eventing/pkg/channel/fanout.createMessageReceiverFunction.func1.1\n\tknative.dev/eventing/pkg/channel/fanout/fanout_message_handler.go:191"

Expected behavior
The event should show up in the downstream event viewer.

To Reproduce
Create a setup with the following:

  • KNative Serving 1.3.0, with a simple echo service.
  • An external HTTP service capable of receiving and displaying CloudNative events.
  • KNative Eventing with one of the provided versions.
  • haproxy-ingress to direct traffic to the eventing broker.
  • A trigger to direct events on the broker to the simple echo service.
  • A trigger to direct responses from the simple service to the external service.
  • Send a valid Cloud Native event to the haproxy-ingress.

Knative release version
Eventing: 1.1.3, 1.2.0, 1.3.1
Serving: 1.3.0

Additional context
This exact same setup works correctly with KNative Eventing 1.0.4 and 0.25.0. The only variable that was changed was the KNative Eventing version.

Metadata

Metadata

Assignees

Labels

area/brokerskind/bugCategorizes issue or PR as related to a bug.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions