[
https://issues.apache.org/jira/browse/CAMEL-26239?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen updated CAMEL-26239:
--------------------------------
Description:
Found while adding the catalog body types of state-store (CAMEL-24961, PR
#28397).
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_
was:
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_
> 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
> Priority: Major
> Fix For: 4.24.0
>
>
> Found while adding the catalog body types of state-store (CAMEL-24961, PR
> #28397).
> 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)