Some messages fail to be processed by the SMTP archiving task and generate Event ID: 41542

book

Article ID: 100074727

calendar_today

Updated On:

Description

Error Message

The following warning event is logged in the Arctera Enterprise Vault event log:

Event :        41542
Source :        Enterprise Vault 
Category :    SMTP Archiving Task
Computer :    EV1.domain.local
Description:
Unable to archive the file ..\24\05\19\1753334391.14320.124042.eml. Reason: The Enterprise Vault Directory or Storage service is not running. Error Code 0x80040300
SMTP Archiving task will attempt to archive this file later.
Task:SMTP Archiving Task 1 

Dtrace of StorageOnlineOpns shows WCF errors:

(StorageOnlineOpns)    <28820>    EV:L    {EVComplianceAccessor::ProcessItemForSampling} (Entry)
(StorageOnlineOpns)    <28820>    EV-L    {EVWCFClient`1.Dispose} EVWCFClient Dispose called
(StorageOnlineOpns)    <28820>    EV-L    {WCFClientFactoryCachedOne.Dispose} WCFClientFactoryCachedOne Dispose called
(StorageOnlineOpns)    <28820>    EV-H    {EVWCFCommon.ExceptionToCOMExceptionHandler} Exception: The maximum message size quota for incoming messages has been exceeded for the remote channel. See the server logs for more details. Info:Communication exception occurred while performing the 'ProcessItemForSampling' operation in 'EVComplianceEngine', error: 'The maximum message size quota for incoming messages has been exceeded for the remote channel. See the server logs for more details.' Diag: Type:System.ServiceModel.CommunicationException ST:|Server stack trace: |   at System.ServiceModel.Channels.ClientDuplexConnectionReader.DecodeMessage(Byte[] buffer, Int32& offset, Int32& size, Boolean& isAtEOF, TimeSpan timeout)|   at System.ServiceModel.Channels.SessionConnectionReader.DecodeMessage(TimeSpan timeout)|   at System.ServiceModel.Channels.SessionConnectionReader.Receive(TimeSpan timeout)|   at System.ServiceModel.Channels.SynchronizedMessageSource.Receive(TimeSpan timeout)|   at System.ServiceModel.Channels.TransportDuplexSessionChannel.Receive(TimeSpan timeout)|   at System.ServiceModel.Channels.TransportDuplexSessionChannel.TryReceive(TimeSpan timeout, Message& message)|   at System.ServiceModel.Dispatcher.DuplexChannelBinder.Request(Message message, TimeSpan timeout)|   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)|   at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)|   at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)|Exception rethrown at [0]: |   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)|   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)|   at KVS.EnterpriseVault.Compliance.Common.IComplianceWCF.ProcessItemForSampling(String transactionId, String archiveId, String perUserXML, String sharedXML, String msgClass, SamplingProps& itemForSamplingProps)|   at KVS.EnterpriseVault.Common.EVComplianceEngine.KVS.EnterpriseVault.Interop.ICompliance.ProcessItemForSampling(String transactionId, String archiveId, String perUserXML, String sharedXML, String msgClass, Object& itemForSamplingProps) Inner:System.ServiceModel.QuotaExceededException: The maximum message size quota for incoming messages has been exceeded for the remote channel. See the server logs for more details.
(StorageOnlineOpns)    <28820>    EV:H    {EVComplianceAccessor::ProcessItemForSampling} (Exit) Status: [The RPC server is unavailable.  (0x800706ba)]
(StorageOnlineOpns)    <28820>    EV:H    {AcceleratorSampling::GetAcceleratorSamplingPropsFromItemXML} Status: [The RPC server is unavailable.  (0x800706ba)]
(StorageOnlineOpns)    <28820>    EV:H    {AcceleratorSampling::ReadAcceleratorSamplingProps} (Exit) Status: [Exception]

It is possible to obtain additional information about the error enabling diagnostics logging in EVCompliance.exe.config by adding the following lines:


  
     
        
           
        

     
  

The log generated will show an error similar to the one thrown by StorageOnlineOpns, but it will contain additional information:

System.ServiceModel.CommunicationException: The maximum message size quota for incoming messages (65536) has been exceeded. To increase the quota, use the MaxReceivedMessageSize property on the appropriate binding element. ---&gt; System.ServiceModel.QuotaExceededException: The maximum message size quota for incoming messages (65536) has been exceeded. To increase the quota, use the MaxReceivedMessageSize property on the appropriate binding element.
   --- End of inner exception stack trace ---
System.ServiceModel.QuotaExceededException, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089The maximum message size quota for incoming messages (65536) has been exceeded. To increase the quota, use the MaxReceivedMessageSize property on the appropriate binding element.   at System.ServiceModel.Channels.ServerSessionPreambleConnectionReader.ServerFramingDuplexSessionChannel.ServerSessionConnectionReader.DecodeMessage(Byte[] buffer, Int32&amp; offset, Int32&amp; size, Boolean&amp; isAtEof, TimeSpan timeout)

 

Cause

Starting with Enterprise Vault 15.2, all remote procedure calls (RPC) have migrated from legacy .NET Remoting to the Windows Communication Foundation (WCF) framework. This shift addresses security vulnerabilities inherent in .NET Remoting. WCF messages maximum size can be specified in the corresponding application .config file, but if not specified the default limit of 65536 bytes will be used, which may not be enough in some cases. 

Resolution

Increase maxReceivedMessageSize by adding the following lines to EVCompliance.exe.config:

 
   
     
       
       
   
 
     
       
     
   
 
   
 

Issue/Introduction

After upgrading to Enterprise Vault (EV) 15.2 or later, some EMLs are left in the SMTP holding folder.