Despite the COVID-19 outbreak, our team continues operating at full speed. We are always here to support and answer all your questions.

Feel free to reach out by filling this quick form.

Fill the form
Get Free Trial

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
 
 

3 answers

Public
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 6 days ago

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 2 days ago

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

Please login or Register to Submit Answer