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)

Reply via email to