Skip to content

Issue with sending multi-part messages through CloudHopper #27

@omkusre

Description

@omkusre

Hi Team,

We are using cloud hopper library for sending SMS messages across various geographies through our partners. We have observed one peculiar issue with message sending (MT Messages).

In the DefaultSmppSession, we are using method sendRequestPdu(pdu, timeout, true). This method seem to have 2 sections,

  1. To create offer - This section typically returns a future object based on window size and stores it in concurrentHashMap.
  2. To Send message through Channel - This section actually sends message over network through jboss/netty library.

The issue we have observed is, these 2 sections are pretty much out of sync.

  • If we set window size = 20 for the smpp bind, it should allow 20 concurrent requests to be processed through same channel.
  • We have logic in our client code to check smppSession.getWindow.getFreeSize() and see window can accommodate the number of submit_sm parts we are trying to send.
  • However, even after ensuring the window is available for n number of submit_sms, at few occurances, we are getting ChannelClosedException from channel.write() call.

We also tried to log freeSize when exception occurred, it still seem to have enough window to accommodate the submit_sm/s we are trying to send.

Log's Extract:

  • Cause: java.nio.channels.ClosedChannelException, FreeSizeAtTheTimeOfException: 18, FreeSizeAtTimeOfAllocation: 19, NumberOfSubmitSmParts: 3

Due to this issue, we have observed random failures for submit_sms when traffic is increased. This is primarily observed for multiple part messages.
Could you please take a look at this issue on priority and advise.

Thanks,
Omkar Kusre

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions