Skip to content

[25.12][INT][STABLE] Intermittently observed missing Email notifications, e.g. new user account invitation #1469

@ds-hzimmer

Description

@ds-hzimmer

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.

Image

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

No one assigned

    Labels

    bugSomething isn't working

    Type

    Projects

    Status

    NEW USER REQUEST

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions