[
https://issues.apache.org/jira/browse/CAMEL-26100?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen resolved CAMEL-26100.
---------------------------------
Resolution: Fixed
Fixed by https://github.com/apache/camel/pull/28891 (merged to main as
42b0c1c1e15191b1118bff1d7179a369a112bc61).
_Claude Code on behalf of Claus Ibsen (davsclaus)_
> camel-aws2-athena - a second startQueryExecution takes the result file of the
> first as its output location
> ----------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-26100
> URL: https://issues.apache.org/jira/browse/CAMEL-26100
> Project: Camel
> Issue Type: Bug
> Components: camel-aws2
> Affects Versions: 4.18.0, 4.22.0, 4.23.0
> Reporter: Claus Ibsen
> Assignee: Claus Ibsen
> Priority: Minor
> Fix For: 4.24.0
>
>
> Found while adding the catalog body types of aws2-athena (CAMEL-24961).
> h4. 1. A second startQueryExecution takes the result file of the first as its
> output location
> startQueryExecution reads the output location from the
> {{CamelAwsAthenaOutputLocation}} header before the outputLocation option
> ({{Athena2Producer}}, main ed3d719b379c, line 387), and getQueryExecution,
> getQueryResults with S3Pointer and startQueryExecution with waitTimeout set
> that header to the result file of their query (lines 106-107, 142-143 and
> 223-224). Checked on 4.24.0-SNAPSHOT with {{camel run}} against a fake of the
> AWS API that logs the requests it gets: a second startQueryExecution in the
> same route, on an endpoint with {{outputLocation=s3://athena-out/r/}}, sent
> {{"OutputLocation":"s3://athena-out/r/q-1.csv"}}, so its results go under the
> result file of the first query. {{CamelAwsAthenaNextToken}} is shared the
> same way: listQueryExecutions sets it (line 192) and getQueryResults reads it
> (line 315).
> *Proposed change*: do not take the outputs of an earlier step as inputs, or
> document that the headers must be removed in between.
> h4. Also read in the code, not run
> * The output location of an answer is read without a null check (lines
> 106-107, 140-143 and 224): an answer without a ResultConfiguration, as with
> managed query results, fails with a NullPointerException.
> * getQueryResults with S3Pointer gives the location without checking that the
> query has succeeded.
> _Claude Code on behalf of davsclaus_
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)