knative/eventing-contrib

Event display service doesn't log anything when the received cloudEvent is invalid

aliok opened this issue · 1 comments

aliok commented

Describe the bug
For example, send a cloudEvent with missing ce-type attribute. Event display service will reject the request (502) but won't log anything. This causes some confusion.

Expected behavior
Log in every case

To Reproduce
Send a request that's invalid because ce-type is missing:

curl -v "http://kourier-internal.kourier-system.svc.cluster.local" \
  -H 'Host: event-display-kn.default.example.com' \
  -X POST \
  -H "Ce-Specversion: 1.0" \
  -H "AAAAAAAAAAAA-Ce-Type: org.apache.camel.event" \
  -H "Ce-Source: knative://endpoint/camel-event-display?apiVersion=serving.knative.dev%2Fv1&kind=Service" \
  -H "Ce-time: 2020-12-02T13:49:13.77Z" \
  -H "Ce-Id: 536808d3-88be-4077-9d7a-a3f162705f79" \
  -H "Content-Type: application/json" \
  -d '{"msg":"Hello Knative!"}'

Knative release version
Using :latest tag of gcr.io/knative-releases/knative.dev/eventing-contrib/cmd/event_display

Additional context
We were debugging an issue where the event didn't seem to be delivered by the broker, but it turns out it is delivered but it is missing the ce-type header. It took us hours to figure it out.

This issue is stale because it has been open for 90 days with no
activity. It will automatically close after 30 more days of
inactivity. Reopen the issue with /reopen. Mark the issue as
fresh by adding the comment /remove-lifecycle stale.