Project

General

Profile

Bug #706

CIMD2 - DLR reports are delayed under high load

Added by Jaanus Rõõmus almost 6 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
SMSC CIMD
Target version:
Start date:
09/25/2014
Due date:
% Done:

0%

Estimated time:
Affected version:

Description

If there is high load on a cimd2 connection (throttling set to 10 in my case as well), DLR reports are returned by the connection, but the HTTP requests are not made until sending out the messages to SMSC has finished.

Looks like io_thread() in smsc_cimd2.c has two while loops (https://redmine.kannel.org/projects/kannel/repository/entry/trunk/gw/smsc/smsc_cimd2.c):
  • one for receiving messages (line 2196)
  • one for sending messages (line 2207)

If there is a large queue for sending messages, it first needs to process all those, before it can get to the receiving messages queue again.
This may result in a big delay for DLR under high load (large outgoing_queue).

Also available in: Atom PDF