Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Content-Type is not set on Kamelets for Cloudevents #1828

Closed
matzew opened this issue Jan 12, 2024 · 3 comments
Closed

Content-Type is not set on Kamelets for Cloudevents #1828

matzew opened this issue Jan 12, 2024 · 3 comments

Comments

@matzew
Copy link
Member

matzew commented Jan 12, 2024

Having a Kamelet / Pipe, such as:

apiVersion: camel.apache.org/v1
kind: Pipe
metadata:
  name: aws-s3-source-pipe
  annotations:
    trait.camel.apache.org/camel.runtime-version: 3.6.0
spec:
  integration:
    dependencies:
    - "camel:cloudevents"
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1
      name: aws-s3-source
    properties:
      ... some secrets
    dataTypes:
      out:
        scheme: aws2-s3
        format: application-cloudevents
  sink:
    dataTypes:
      in:
        scheme: http
        format: application-cloudevents
    ref:
      kind: Broker
      apiVersion: eventing.knative.dev/v1
      name: kamelet

I get the following exception from Quarkus Funqy, when trying to process the emitted Cloudevents:

2024-01-11 16:09:51,563 ERROR [io.qua.ver.htt.run.QuarkusErrorHandler] (executor-thread-1) HTTP Request to / failed, error id: af846418-99ec-4a1a-a4af-ec9192906b2f-1: io.quarkus.funqy.runtime.ApplicationException: java.lang.RuntimeException: Don't know how to get event data (dataContentType: 'null', javaType: 'functions.Input').
test-four-00001-deployment-6b5d6c7f69-flk8p user-container 	at io.quarkus.funqy.runtime.FunctionInvoker.invoke(FunctionInvoker.java:136)
test-four-00001-deployment-6b5d6c7f69-flk8p user-container 	at io.quarkus.funqy.runtime.bindings.knative.events.VertxRequestHandler.dispatch(VertxRequestHandler.java:571)

I see similar then I have a different (e.g. go) receiver that prints the request:

test-three-00001-deployment-54dc897c99-2qgzk user-container Received request
test-three-00001-deployment-54dc897c99-2qgzk user-container POST / HTTP/1.1 test-three.default.svc.cluster.local
test-three-00001-deployment-54dc897c99-2qgzk user-container   Ce-Id: 8B49F74E586030C-0000000000000009
test-three-00001-deployment-54dc897c99-2qgzk user-container   Ce-Specversion: 1.0
test-three-00001-deployment-54dc897c99-2qgzk user-container   X-Forwarded-For: 10.244.0.23, 10.244.0.18
test-three-00001-deployment-54dc897c99-2qgzk user-container   User-Agent: Go-http-client/1.1
test-three-00001-deployment-54dc897c99-2qgzk user-container   Ce-Subject: IMG_3339.jpg
test-three-00001-deployment-54dc897c99-2qgzk user-container   Ce-Time: 2024-01-11T15:08:42.013Z
test-three-00001-deployment-54dc897c99-2qgzk user-container   Forwarded: for=10.244.0.23;proto=http
test-three-00001-deployment-54dc897c99-2qgzk user-container   Prefer: reply
test-three-00001-deployment-54dc897c99-2qgzk user-container   Accept-Encoding: gzip
test-three-00001-deployment-54dc897c99-2qgzk user-container   Ce-Type: org.apache.camel.event.....
test-three-00001-deployment-54dc897c99-2qgzk user-container   X-Request-Id: 2946fb28-f697-4406-9e71-80fb30e3b99a
test-three-00001-deployment-54dc897c99-2qgzk user-container   Content-Length: 883527
test-three-00001-deployment-54dc897c99-2qgzk user-container   Ce-Knativearrivaltime: 2024-01-11T15:08:42.188499068Z
test-three-00001-deployment-54dc897c99-2qgzk user-container   Ce-Source: .bucket.foobar
test-three-00001-deployment-54dc897c99-2qgzk user-container   K-Proxy-Request: activator
test-three-00001-deployment-54dc897c99-2qgzk user-container   Kn-Namespace: default
test-three-00001-deployment-54dc897c99-2qgzk user-container   Traceparent: 00-7ce27116bb576a804f841c7892e8f245-d3e77ecd9906bffa-00
test-three-00001-deployment-54dc897c99-2qgzk user-container   X-Forwarded-Proto: http
@oscerd
Copy link
Contributor

oscerd commented Jan 12, 2024

I think this is not related to Kamelets. It's how the transformers create the event or in camel k. @christophd

@christophd
Copy link
Contributor

yes this should be raised in CAMEL Jira on the aws-s3 component, because the data type transformer is located there. Let me open a Jira and reference it here

@christophd
Copy link
Contributor

christophd commented Jan 12, 2024

Many thanks @matzew for raising this issue. The issue will be tracked in CAMEL Jira: https://issues.apache.org/jira/browse/CAMEL-20334

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants