Claus Ibsen created CAMEL-26225:
-----------------------------------
Summary: camel-arangodb - SAVE_DOCUMENT with a List and no
multi-insert header inserts the documents and then fails, and there is no
default operation
Key: CAMEL-26225
URL: https://issues.apache.org/jira/browse/CAMEL-26225
Project: Camel
Issue Type: Bug
Components: camel-arangodb
Reporter: Claus Ibsen
Fix For: 4.24.0
Found while adding the catalog body types of arangodb (CAMEL-24961, PR #28398).
h4. 1. SAVE_DOCUMENT with a List writes the documents, then fails
{{ArangoDbProducer.saveDocument}} (main 2a465aa4814c, lines 121-131) uses
{{insertDocuments}} only when the {{CamelArangoDbMultiInsert}} header is true.
Without it a List body goes to {{insertDocument(obj)}}: the server inserts all
the documents, then the driver fails with "Cannot deserialize ...
DocumentCreateEntity from Array value". The exchange fails although the data is
written, so a retry inserts the documents again. Checked on 4.24.0-SNAPSHOT
with ArangoDB from test-infra (docker).
Proposed: use {{insertDocuments}} when the body is a Collection (or fail before
the insert).
h4. 2. No default operation: every message fails
{{process}} (line 81) takes the operation from the endpoint only; when it is
not set, {{invokeOperation}} (line 113) fails each message with "Operation not
supported. Value: null" instead of failing at endpoint creation. Checked on
4.24.0-SNAPSHOT with ArangoDB from test-infra (docker).
Proposed: make {{operation}} required (fail at startup with a clear message),
or read it from a header as other components do.
_Claude Code on behalf of davsclaus_
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)