Claus Ibsen created CAMEL-26239:
-----------------------------------

             Summary: camel-state-store - a stream body is stored as the stream 
object, so the stored value can be read only once and is shared across exchanges
                 Key: CAMEL-26239
                 URL: https://issues.apache.org/jira/browse/CAMEL-26239
             Project: Camel
          Issue Type: Bug
            Reporter: Claus Ibsen
             Fix For: 4.24.0


Found while adding the catalog body types of state-store (CAMEL-24961, PR 
#28397). There is no JIRA component for camel-state-store, so this uses no JIRA 
component.

h4. 1. A stream body is stored as the stream

{{StateStoreProducer}} put and putIfAbsent (main 2a465aa4814c, lines 57 and 65) 
store {{message.getBody()}} as is. A stream body (or a {{StreamCache}}) is 
stored as the stream object: the first get reads it, later gets get an empty 
stream, and every exchange that gets the key shares the same stream object. 
Checked on 4.24.0-SNAPSHOT with the in-memory backend.

Proposed: convert a stream or StreamCache body to bytes (or text) before 
storing it.

_Claude Code on behalf of davsclaus_



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to