This is an automated email from the ASF dual-hosted git repository.
oscerd pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-kamelets.git
The following commit(s) were added to refs/heads/main by this push:
new da7468626 Fix #2973: strip the query headers in the SQL and CQL sinks
(#2977)
da7468626 is described below
commit da7468626452127246aeedcec099c64c651cfe0e
Author: Andrea Cosentino <[email protected]>
AuthorDate: Mon Aug 24 18:42:28 2026 +0200
Fix #2973: strip the query headers in the SQL and CQL sinks (#2977)
The nine SQL/CQL sinks dispatched an operator-bound {{query}} while
passing every inbound header through. camel-sql documents CamelSqlQuery as
taking precedence over the query in the endpoint URI, and camel-cassandraql
does the same with CamelCqlQuery, so a wire-supplied header replaced the
operator's query outright.
Verified against H2: with a CamelSqlQuery header set, a route whose
endpoint asked for 'intended' returned 'secret'; adding the removeHeader
steps restores 'intended'.
These templates map no headers of their own and declare no header
interface, so nothing is being taken away here.
Co-authored-by: Claude Opus 5 (1M context) <[email protected]>
---
kamelets/aws-redshift-sink.kamelet.yaml | 4 ++++
kamelets/cassandra-sink.kamelet.yaml | 2 ++
kamelets/databricks-sink.kamelet.yaml | 4 ++++
kamelets/mariadb-sink.kamelet.yaml | 4 ++++
kamelets/mysql-sink.kamelet.yaml | 4 ++++
kamelets/oracle-database-sink.kamelet.yaml | 4 ++++
kamelets/postgresql-sink.kamelet.yaml | 4 ++++
kamelets/snowflake-sink.kamelet.yaml | 4 ++++
kamelets/sqlserver-sink.kamelet.yaml | 4 ++++
9 files changed, 34 insertions(+)
diff --git a/kamelets/aws-redshift-sink.kamelet.yaml
b/kamelets/aws-redshift-sink.kamelet.yaml
index 15a6207c5..2d13599ae 100644
--- a/kamelets/aws-redshift-sink.kamelet.yaml
+++ b/kamelets/aws-redshift-sink.kamelet.yaml
@@ -99,6 +99,10 @@ spec:
- unmarshal:
json:
library: Jackson
+ - removeHeader:
+ name: CamelSqlQuery
+ - removeHeader:
+ name: CamelSqlParameters
- to:
uri: "{{local-sql-redshift-sink}}:{{query}}"
parameters:
diff --git a/kamelets/cassandra-sink.kamelet.yaml
b/kamelets/cassandra-sink.kamelet.yaml
index ad538e31d..037563024 100644
--- a/kamelets/cassandra-sink.kamelet.yaml
+++ b/kamelets/cassandra-sink.kamelet.yaml
@@ -117,6 +117,8 @@ spec:
json:
library: Jackson
useList: true
+ - removeHeader:
+ name: CamelCqlQuery
- to:
uri:
"{{local-sql-cassandraql-sink}}://{{connectionHost}}:{{connectionPort}}/{{keyspace}}"
parameters:
diff --git a/kamelets/databricks-sink.kamelet.yaml
b/kamelets/databricks-sink.kamelet.yaml
index a153a22ae..e5f1a72fc 100644
--- a/kamelets/databricks-sink.kamelet.yaml
+++ b/kamelets/databricks-sink.kamelet.yaml
@@ -98,6 +98,10 @@ spec:
- unmarshal:
json:
library: Jackson
+ - removeHeader:
+ name: CamelSqlQuery
+ - removeHeader:
+ name: CamelSqlParameters
- to:
uri: "{{local-sql-databricks-sink}}:{{query}}"
parameters:
diff --git a/kamelets/mariadb-sink.kamelet.yaml
b/kamelets/mariadb-sink.kamelet.yaml
index e55a18948..bf06e93a1 100644
--- a/kamelets/mariadb-sink.kamelet.yaml
+++ b/kamelets/mariadb-sink.kamelet.yaml
@@ -98,6 +98,10 @@ spec:
- unmarshal:
json:
library: Jackson
+ - removeHeader:
+ name: CamelSqlQuery
+ - removeHeader:
+ name: CamelSqlParameters
- to:
uri: "{{local-sql-mariadb-sink}}:{{query}}"
parameters:
diff --git a/kamelets/mysql-sink.kamelet.yaml b/kamelets/mysql-sink.kamelet.yaml
index 4045f0c83..0c6828070 100644
--- a/kamelets/mysql-sink.kamelet.yaml
+++ b/kamelets/mysql-sink.kamelet.yaml
@@ -98,6 +98,10 @@ spec:
- unmarshal:
json:
library: Jackson
+ - removeHeader:
+ name: CamelSqlQuery
+ - removeHeader:
+ name: CamelSqlParameters
- to:
uri: "{{local-sql-mysql-sink}}:{{query}}"
parameters:
diff --git a/kamelets/oracle-database-sink.kamelet.yaml
b/kamelets/oracle-database-sink.kamelet.yaml
index a5e92a5ef..03b219a80 100644
--- a/kamelets/oracle-database-sink.kamelet.yaml
+++ b/kamelets/oracle-database-sink.kamelet.yaml
@@ -98,6 +98,10 @@ spec:
- unmarshal:
json:
library: Jackson
+ - removeHeader:
+ name: CamelSqlQuery
+ - removeHeader:
+ name: CamelSqlParameters
- to:
uri: "{{local-sql-oracle-sink}}:{{query}}"
parameters:
diff --git a/kamelets/postgresql-sink.kamelet.yaml
b/kamelets/postgresql-sink.kamelet.yaml
index f7d61ada6..b13d76f29 100644
--- a/kamelets/postgresql-sink.kamelet.yaml
+++ b/kamelets/postgresql-sink.kamelet.yaml
@@ -99,6 +99,10 @@ spec:
- unmarshal:
json:
library: Jackson
+ - removeHeader:
+ name: CamelSqlQuery
+ - removeHeader:
+ name: CamelSqlParameters
- to:
uri: "{{local-sql-postgres-sink}}:{{query}}"
parameters:
diff --git a/kamelets/snowflake-sink.kamelet.yaml
b/kamelets/snowflake-sink.kamelet.yaml
index 1cc14d4a9..35b170652 100644
--- a/kamelets/snowflake-sink.kamelet.yaml
+++ b/kamelets/snowflake-sink.kamelet.yaml
@@ -93,6 +93,10 @@ spec:
- unmarshal:
json:
library: Jackson
+ - removeHeader:
+ name: CamelSqlQuery
+ - removeHeader:
+ name: CamelSqlParameters
- to:
uri: "{{local-sql-snowflake-sink}}:{{query}}"
parameters:
diff --git a/kamelets/sqlserver-sink.kamelet.yaml
b/kamelets/sqlserver-sink.kamelet.yaml
index 7ab04eea7..4cf0af04e 100644
--- a/kamelets/sqlserver-sink.kamelet.yaml
+++ b/kamelets/sqlserver-sink.kamelet.yaml
@@ -109,6 +109,10 @@ spec:
- unmarshal:
json:
library: Jackson
+ - removeHeader:
+ name: CamelSqlQuery
+ - removeHeader:
+ name: CamelSqlParameters
- to:
uri: "{{local-sqlserver-sink}}:{{query}}"
parameters: