Jeremy Ross created CAMEL-15904:
-----------------------------------
Summary: camel-salesforce: streaming replayId should default to -1
(new events)
Key: CAMEL-15904
URL: https://issues.apache.org/jira/browse/CAMEL-15904
Project: Camel
Issue Type: Bug
Components: camel-salesforce
Affects Versions: 3.6.0
Reporter: Jeremy Ross
Fix For: 3.7.0
Attachments: image-2020-11-28-11-38-25-110.png
A while back (v37?), the salesforce streaming API started requiring a replayId.
{noformat}
Error subscribing to CamelTestTopic: Replay Id not found for channel. Error
(id=794472383-90 (-1822401099))
{noformat}
Prior to this, the behavior was equivalent to -1 (new events that are broadcast
after the client subscribes). If we default `defaultReplayId` to -1, it
provides a sensible default for new projects, and is backwards compatible with
existing projects that are on old versions of the streaming API.
Related, as of v37, it appears that salesforce no longer supplies the Bayeux
clientId in broadcast messages:
!image-2020-11-28-11-38-25-110.png!
The protocol does not require clientId:
{quote}The clientId message field MAY be returned in message responses except
for failed handshake requests and for publish message responses that were sent
without clientId.
{quote}
I'm guessing they made this change to reduce the surface area for clientId
leakage. In any case, forthcoming PR removes non-null assertions for clientId
since it's not there anymore.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)