Need a special offer?Find out if your project fits.
+

Accelerator OutOfMemory Error

Answered
Marius Hulduban asked on October 9, 2020

Hello,
some time in the accelerator logs we find this error:

2020-10-09 13:10:39.4350 | TRACE | Execute
2020-10-09 13:10:39.4350 | TRACE | CACHE: Get - Flexmonster.Accelerator.Models.ExecuteArgs
2020-10-09 13:11:34.3308 | ERROR | Exception of type 'System.OutOfMemoryException' was thrown.
at Microsoft.AnalysisServices.AdomdClient.SecurityBufferClass..ctor(IntPtr unmanagedAddress)
at Microsoft.AnalysisServices.AdomdClient.SecurityBufferDescriptor.marshall()
at Microsoft.AnalysisServices.AdomdClient.SSPIWrapper.DecryptMessage(SecurityHandle& context, SecurityBufferClass[] input, Int32 sequenceNumber)
at Microsoft.AnalysisServices.AdomdClient.TcpEncryptedStream.ReadInBlockMode(Byte[] buffer, Int32 offset, Int32 size)
at Microsoft.AnalysisServices.AdomdClient.TcpEncryptedStream.Read(Byte[] buffer, Int32 offset, Int32 size)
at Microsoft.AnalysisServices.AdomdClient.CompressedStream.Read(Byte[] buffer, Int32 offset, Int32 size)
at System.IO.StreamReader.ReadBuffer(Char[] userBuffer, Int32 userOffset, Int32 desiredChars, Boolean& readToUserBuffer)
at System.IO.StreamReader.Read(Char[] buffer, Int32 index, Int32 count)
at System.Xml.XmlTextReaderImpl.ReadData()
at System.Xml.XmlTextReaderImpl.ParseAttributeValueSlow(Int32 curPos, Char quoteChar, NodeData attr)
at System.Xml.XmlTextReaderImpl.ParseAttributes()
at System.Xml.XmlTextReaderImpl.ParseElement()
at System.Xml.XmlTextReaderImpl.ParseElementContent()
at System.Xml.XmlTextReaderImpl.Read()
at System.Xml.XmlTextReader.Read()
at System.Xml.XmlReader.ReadStartElement()
at Microsoft.AnalysisServices.AdomdClient.XmlaReader.ReadStartElement()
at Microsoft.AnalysisServices.AdomdClient.MDDatasetFormatter.ReadMembers(XmlReader reader)
at Microsoft.AnalysisServices.AdomdClient.MDDatasetFormatter.ReadMDDataset(XmlReader reader)
at Microsoft.AnalysisServices.AdomdClient.SoapFormatter.ReadDataSetResponsePrivate(XmlReader reader)
at Microsoft.AnalysisServices.AdomdClient.SoapFormatter.ReadExecuteResponsePrivate(XmlReader reader, InlineErrorHandlingType inlineErrorHandling)
at Microsoft.AnalysisServices.AdomdClient.SoapFormatter.ReadResponse(XmlReader reader, InlineErrorHandlingType inlineErrorHandling)
at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.XmlaClientProvider.Microsoft.AnalysisServices.AdomdClient.IExecuteProvider.ExecuteMultidimensional(ICommandContentProvider contentProvider, AdomdPropertyCollection commandProperties, IDataParameterCollection parameters)
at Microsoft.AnalysisServices.AdomdClient.AdomdCommand.ExecuteCellSet()
at Flexmonster.Accelerator.Controllers.FlexmonsterProxyController.GetDataChunk(ExecuteArgs args, String dataChunkId) in C:\FMprojects\PIVOT\projects\Datasource Proxies\Microsoft SSAS\Flexmonster.Accelerator\Flexmonster.Accelerator.Core\Controllers\FlexmonsterProxyController.cs:line 893
at Flexmonster.Accelerator.Controllers.FlexmonsterProxyController.Execute(ExecuteArgs args) in C:\FMprojects\PIVOT\projects\Datasource Proxies\Microsoft SSAS\Flexmonster.Accelerator\Flexmonster.Accelerator.Core\Controllers\FlexmonsterProxyController.cs:line 747

But on the server there was a lot of free memory (60/65% used of 64GB).
Can be a problem linked to Accelerator config (default)? or AnalysisService config?
 
We are using:
   Windows Server 2016
   Analysis Service 14.0.6.443
   FlexMonster and Accelerator 2.8.10
 
Regards,
Michele
 
 

7 answers

Public
Tanya Gryshko Tanya Gryshko Flexmonster October 14, 2020

Hello, Michele,

Thank you for posting to our forum.

We have carefully checked the Accelerator logs you provided as well as what may cause such an error. The OutOfMemory exception happens when a big query is executed and a significant amount of memory needs to be allocated at once. As a result, there might be not enough memory to handle this particular query.

To overcome this issue, we suggest increasing the amount of RAM on the server. You have mentioned the fact that there was enough free memory on the server. From our experience, we can say that if the memory was checked after the Accelerator stopped, the memory could already be released. If our assumption is correct, increasing the RAM should fix the issue.

Please let us know if the suggested approach helps.

Kind regards,
Tanya

Public
Marius Hulduban October 16, 2020

Hello Tanya,
first of all, thank you for your response.
In some case you are right, we have some error on our application and when we check the status of Accelerator it was stopped, so the memory could already be released. But for example today we have another error:

2020-10-16 14:48:22.8065 | TRACE | Connection string: Data Source=localhost;Catalog=BI_DWH1;CustomData=e1c50a5d-524e-4094-8850-e4c02ef7b488;Roles=Combo_Controller;
2020-10-16 14:48:24.4159 | TRACE | Loading levels...
2020-10-16 14:48:24.4159 | ERROR | Exception of type 'System.OutOfMemoryException' was thrown.
at System.Text.StringBuilder.ToString()
at System.IO.StringWriter.ToString()
at Newtonsoft.Json.JsonConvert.SerializeObjectInternal(Object value, Type type, JsonSerializer jsonSerializer)
at Flexmonster.Accelerator.Controllers.FlexmonsterProxyController.DiscoverLevels(DiscoverArgs args) in C:\FMprojects\PIVOT\projects\Datasource Proxies\Microsoft SSAS\Flexmonster.Accelerator\Flexmonster.Accelerator.Core\Controllers\FlexmonsterProxyController.cs:line 319
2020-10-16 14:48:24.4159 | TRACE | Connection string: Data Source=localhost;Catalog=BI_DWH1;CustomData=e1c50a5d-524e-4094-8850-e4c02ef7b488;Roles=Combo_Controller;
2020-10-16 14:48:24.4159 | TRACE | Loading levels...
2020-10-16 14:48:24.4159 | TRACE | Connection string: Data Source=localhost;Catalog=BI_DWH1;CustomData=e1c50a5d-524e-4094-8850-e4c02ef7b488;Roles=Combo_Controller;
2020-10-16 14:48:26.0253 | ERROR | Exception of type 'System.OutOfMemoryException' was thrown.
at System.Text.StringBuilder.ToString()
at System.IO.StringWriter.ToString()
at Newtonsoft.Json.JsonConvert.SerializeObjectInternal(Object value, Type type, JsonSerializer jsonSerializer)
at Flexmonster.Accelerator.Controllers.FlexmonsterProxyController.DiscoverLevels(DiscoverArgs args) in C:\FMprojects\PIVOT\projects\Datasource Proxies\Microsoft SSAS\Flexmonster.Accelerator\Flexmonster.Accelerator.Core\Controllers\FlexmonsterProxyController.cs:line 319
2020-10-16 14:48:26.0253 | ERROR | Exception of type 'System.OutOfMemoryException' was thrown.
at System.Text.StringBuilder.ToString()
at System.IO.StringWriter.ToString()
at Newtonsoft.Json.JsonConvert.SerializeObjectInternal(Object value, Type type, JsonSerializer jsonSerializer)
at Flexmonster.Accelerator.Controllers.FlexmonsterProxyController.DiscoverLevels(DiscoverArgs args) in C:\FMprojects\PIVOT\projects\Datasource Proxies\Microsoft SSAS\Flexmonster.Accelerator\Flexmonster.Accelerator.Core\Controllers\FlexmonsterProxyController.cs:line 319
2020-10-16 14:49:08.4938 | TRACE | Handshaking... 2.8.8

In this case the accelerator is still running (using 3,7 GB or RAM) and on the system there is a lot of free memory (the total used RAM is 48%).
Regards,
Michele

Public
Illia Yatsyshyn Illia Yatsyshyn Flexmonster October 20, 2020

Hello, Michele,
 
Thank you for providing us with details.
 
We need to perform an investigation on our side to learn more about the issue. Do you think you could provide us with the dump file of your database with which the issue is reproducible?
All sensitive data can be replaced with dummy records if needed.
The research will help us determine whether something can be improved from our side or RAM amount needs to be increased.
 
Our team is looking forward to hearing from you.
 
Best regards,
Illia

Public
Marius Hulduban October 23, 2020

Hi Illia,
 
Sorry for the delay, but i'm not working in data layer team and i had to wait for have it.
But, anyway, i can't uppload it on this ticket due to the max attachment rule and for security reasons (public site) .
Can you provide any email contact for send it?
 
Regards,
Michele

Public
Mary Mary Flexmonster October 23, 2020

Hello Marius,
Thanks for your response!
Our representatives will contact you via email.
Kind regards,
Mary

Public
Marius Hulduban October 29, 2020

Hi,
We haven't been contacted yet. This issue is becoming a show stopper, can you please escalate?
Regards,
Marius Hulduban
Engineering Manager

Public
Valeria Valeria Flexmonster November 10, 2020

Hello Marius, 

Please let us know if you have received our email. 
Otherwise, please write to us email.
We are looking forward to hearing from you.

Best regards,
Valeriia 

Please login or Register to Submit Answer