Support forum

Advanced Search

— Forum Scope —

— Match —

— Forum Options —

Minimum search word length is 3 characters - maximum search word length is 84 characters

MessageLogRetryOnError Set True
sp_NewPost Add Reply sp_NewTopic Add Topic
February 13, 2020
10:09 am
Henk Helmantel
Forum Posts: 1502
Member Since:
May 28, 2013
sp_UserOfflineSmall Offline

Hello Sarfaraz,

I understand the problem but I don't think that there is a good solution for it. Diafaan SMS Server uses database transactions to read, write and update multiple records in the SQL database in one process. Without transactions the database queries would be slow to keep up with the message throughput in Diafaan SMS Server. When a database transaction fails, Diafaan SMS Server has no way to determine the exact reason for the problem, the database driver returns an error code and error text but it does not specify which record or process is the underlying reason for the error.

Diafaan SMS Server can do two things when a database error happens. It can roll back the transaction and discard the whole batch of database updates (this is the default behavior). Or it can regard the database problem as temporary and try to write or update the messages later (this is the behavior when 'MessageLogRetryOnError' is set to true). At the moment the SQL Connector does not use an internal database to store unhandled database updates so when the SQL Connector is restarted when the SQL database is offline, the pending message updates are lost.

The best way to handle this problem is to determine what the underlying cause of the issue is. If it is an unreliable connection to the database then that should be addressed, for instance by using a local database program instead of a database on a remote server. If the problem is caused by an unreliable ODBC driver then an update of the driver could solve the problem. If the problem only occurs for specific messages then there could be a problem with the database design, for instance that a specific field is not long enough. You can look at the error messages in the event log or in the communication log of the SQL Connector to see the error codes and error messages that the database returns to determine the root cause of the error. Unfortunately, this is not always easy to find and solve.

Regards, Henk

February 12, 2020
7:10 am

Hello Henk,

Hope you are fine. We have come across this issue earlier and now also sometimes we face this issue. We have set MessageLogRetryOnError to True due to this if some records are not able to be written or updated to the MessageLog database it retry and then all the other messages after that are also stuck and not been logged into the database. Once the SQL Connector is restarted then only it starts logging again, during the restart all the records which are stuck are lost.

Request you to make a provision for the number of retries, say the MessageLogRetryOnError is true it will retry 3 times to insert or update the record in 5secs or 10secs if it cannot log then would drop that record and move to the next record so that there is no loss of more records if one is stuck. I hope I have made you understand what I am trying to say.

Thanks again for your wonderful support and co-operation every time we request you something.

Have a great day!!

Forum Timezone: Europe/Amsterdam

Most Users Ever Online: 529

Currently Online:
5 Guest(s)

Currently Browsing this Page:
1 Guest(s)

Top Posters:

Member Stats:

Guest Posters: 677

Members: 0

Moderators: 0

Admins: 1

Forum Stats:

Groups: 2

Forums: 3

Topics: 1149

Posts: 3928

Newest Members:

, Henk Helmantel

Administrators: Henk Helmantel: 1502