Skip to content

Subscribing with the last replay id makes the app receive the older events #27

@mahesh2080

Description

@mahesh2080

The following issue occurs when a session is closed after 3 hours of inactivity. We are subscribing with the last replay id but the app receives older (already received) events.

code in main()

bayeuxClient.AddExtension(new ReplayExtension());
ClientSessionChannelListener clientSessionChannel = new ClientSessionChannelListener();
bayeuxClient.GetChannel(ChannelFields.META_HANDSHAKE).AddListener(clientSessionChannel);

code in ClientSessionChannelListener

public void OnMessage(IClientSessionChannel channel, IMessage message)
        {
            long lastProcessedReplayId = GetLastProcessedReplayId();
            _bayeuxClient.GetChannel('/topic', lastProcessedReplayId).Subscribe(new Listener(_platformEventsMessage, channelInfo));                        
        }

If we do not pass the last id, the app does not receive the already processed events (the issue does not occur).
_bayeuxClient.GetChannel('/topic').Subscribe(new Listener(_platformEventsMessage, channelInfo));

Similar issue:
#5

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions