SAP HANA – STATS_SMTP exception
You have configured in Your HANA “E-mail Notification for Alerts”. How to do this You can find here. Although You correctly receive e-mail notifications in the indexserver logs, You can find information such as:
14778]{300824}[32/2705874786] XXXX-XX-16 06:22:55.547685 e STATS_SMTP SMTPClient.cpp(00202) : Binary semaphore timed out during wait [14778]{300824}[32/2705874786] XXXX-XX-16 06:22:55.547993 e STATS_SMTP SMTPClient.cpp(00266) : error sending email [SMTPMail: (sender: mail@domain.com, recipients: mail@domain.com, mail@domain.com), "Alert "Host CPU Usage" (id 5) on database SID of SID XX (hostname)", snapshot : XXXX-XX-16 05:18:55.0000000 Alert Name : Host CPU Usage Rating : Ok Details : , exception 1: no.9001007 (StatisticsServerAsSQLScript/interfaces/smtp/SMTPClient.cpp:206) TID: 14778 Binary semaphore timed out exception throw location: 1: 0x00007f7a91d718bf in StatisticsService::MailSenderCallback::semaTimedWait()+0x15b at Exceptions.cpp:23 (libhdbsqlbuiltinprocedure.so) 2: 0x00007f7a91d71ab3 in
Solution
The error itself “Binary Semaphore timed out“, is related to semaphores waits. This is a thread state and due to the CPU issue that the alert references , this thread timed out.
These kind of alerts and errors come from configuration issues related to SMTP Server.
You should clarify the following issues:
- Are you using an external SMPT Server to send emails trough HANA
- To try to avoid this alert, from HANA perspective, please check the server is properly configured and should be working (check note 2133799 and note 2031635)
- Please check following documents for more information:
“Maintaining SMTP Server Configurations“:
https://help.sap.com/viewer/6b94445c94ae495c83a19646e7c3fd56/2.0.00/en-US/85b3ad652473466ebdb2170bba85ef0f.html
“SMTP Configuration Details“:
https://help.sap.com/viewer/6b94445c94ae495c83a19646e7c3fd56/2.0.01/en-US/6b2d640a7a864d92a5de0f877ebe14f7.html
Extra
-- 2133799 - Analyzing problems with delivery of e-mails for Alerts raised by the SAP HANA Embedded Statisticsserver checks SELECT * FROM"_SYS_STATISTICS"."STATISTICS_PROPERTIES"; SELECT * FROM"_SYS_STATISTICS"."STATISTICS_EMAILRECIPIENTS"; SELECT * FROM "_SYS_STATISTICS"."STATISTICS_SCHEDULE"; -- select count() from _SYS_STATISTICS.STATISTICS_EMAIL_PROCESSING where state='New'; delete from _SYS_STATISTICS.STATISTICS_EMAIL_PROCESSING where seconds_between(snapshot_id,now())>324*3600;