-
Notifications
You must be signed in to change notification settings - Fork 36
Description
Current Behavior
During 25.12 testing we intermittently experienced that events for which a notification respectively email communication was expected to be received did not get successfully executed/completed.
This e.g. applied to invitations of new user accounts, which should trigger two emails (1 with the new account information, 1 with the new password).
However in this case after then executing a password reset for the new user did result in receiving an email with the reset link. Thus no global "outage" or configuration issue with the connection from the Portal to the email server is assumed.
After temporarily increasing memory for a process worker job/pod on the Catena-X INT environment, a new account registration could be successfully triggered. Similarly for other email notifications such as subscription processes.
Thus the observed behavior may be caused not by a "code bug" but a setting for resources restrictions leading to processes running into timeouts/backoff limits. See for a potential comparison: eclipse-tractusx/portal#566
Expected Behavior
All specified notifications and email messages according to use cases and their tests should be executed/processed by the applicable Portal components.
Steps To Reproduce
Processes that trigger email notifications, in particular multiple emails such as in the add new user process in the CX-Operator Test Company
https://portal.int.catena-x.net/userManagement
https://portal.stable.catena-x.net/userManagement
Experienced intermittently during the test phase on both INT and STABLE environments
E.g. 19.11.2025 on STABLE environment
Log excerpt from STABLE environment:
[12:13:22 FTL] Critical error : processing process d1eda168-d5f4-4d53-a0e5-822861c3d85c type MAILING: The operation has timed out.
System.TimeoutException: The operation has timed out.
at MailKit.Net.SocketUtils.ConnectAsync(String host, Int32 port, IPEndPoint localEndPoint, Int32 timeout, CancellationToken cancellationToken)
at MailKit.MailService.ConnectNetworkAsync(String host, Int32 port, CancellationToken cancellationToken)
at MailKit.Net.Smtp.SmtpClient.ConnectAsync(String host, Int32 port, SecureSocketOptions options, CancellationToken cancellationToken)
at Org.Eclipse.TractusX.Portal.Backend.Mailing.SendMail.SendMail._send(MimeMessage message) in /src/mailing/Mailing.SendMail/SendMail.cs:line 57
at Org.Eclipse.TractusX.Portal.Backend.Mailing.SendMail.MailingService.SendMails(String recipient, IReadOnlyDictionary`2 parameters, String template) in /src/mailing/Mailing.SendMail/MailingService.cs:l
at Org.Eclipse.TractusX.Portal.Backend.Processes.Mailing.Executor.MailingProcessTypeExecutor.SendMail() in /src/processes/Mailing.Executor/MailingProcessTypeExecutor.cs:line 91
at Org.Eclipse.TractusX.Portal.Backend.Processes.Mailing.Executor.MailingProcessTypeExecutor.SendMail() in /src/processes/Mailing.Executor/MailingProcessTypeExecutor.cs:line 111
at Org.Eclipse.TractusX.Portal.Backend.Processes.Mailing.Executor.MailingProcessTypeExecutor.ExecuteProcessStep(ProcessStepTypeId processStepTypeId, IEnumerable`1 processStepTypeIds, CancellationToken c
at Org.Eclipse.TractusX.Portal.Backend.Framework.Processes.Worker.Library.ProcessExecutor`2.ExecuteProcess(Guid processId, TProcessTypeId processTypeId, CancellationToken cancellationToken)+MoveNext() i
at Org.Eclipse.TractusX.Portal.Backend.Framework.Processes.Worker.Library.ProcessExecutor`2.ExecuteProcess(Guid processId, TProcessTypeId processTypeId, CancellationToken cancellationToken)+System.Threa
at Org.Eclipse.TractusX.Portal.Backend.Framework.Processes.Worker.Library.ProcessExecutionService`2.ExecuteProcess(IProcessExecutor`2 processExecutor, IProcess`1 process, CancellationToken cancellationT
at Org.Eclipse.TractusX.Portal.Backend.Framework.Processes.Worker.Library.ProcessExecutionService`2.ExecuteProcess(IProcessExecutor`2 processExecutor, IProcess`1 process, CancellationToken cancellationT
at Org.Eclipse.TractusX.Portal.Backend.Framework.Processes.Worker.Library.ProcessExecutionService`2.ExecuteProcess(IProcessExecutor`2 processExecutor, IProcess`1 process, CancellationToken cancellationT
at Org.Eclipse.TractusX.Portal.Backend.Framework.Processes.Worker.Library.ProcessExecutionService`2.ExecuteAsync(CancellationToken stoppingToken) in /src/framework/Framework.Processes.Worker.Library/Pro
at Org.Eclipse.TractusX.Portal.Backend.Framework.Processes.Worker.Library.ProcessExecutionService`2.ExecuteAsync(CancellationToken stoppingToken) in /src/framework/Framework.Processes.Worker.Library/Pro
Metadata
Metadata
Assignees
Labels
Type
Projects
Status