Flexmonster / Microsoft.AnalysisServices OutOfMemoryException

Answered
Michael Jiambalvo asked on December 1, 2021

Support,
We are seeing the following errors more frequently in the Flexmonster accelerator logs. Cubes will not load in our Angular app until the accelerator service has been stopped/restarted several times.
Users are able to connect to the same reports through Excel spreadsheets with no issues during this time.
Have you seen this before and can you please give any guidance to remediate?
The accelerator is on the same box as SSAS running Window Server 2008
Thank you,
Michael Jiambalvo
Freepoint Commodities LLC
 
2021-12-01 13:47:53.9882 | ERROR | Data Source connection - FAILED
2021-12-01 13:47:54.0038 | ERROR | Exception of type 'System.OutOfMemoryException' was thrown.
at System.IO.BufferedStream.WriteToBuffer(Byte[] array, Int32& offset, Int32& count)
at System.IO.BufferedStream.Write(Byte[] array, Int32 offset, Int32 count)
at Microsoft.AnalysisServices.AdomdClient.DimeRecord.WriteHeader(Boolean endOfRecord, Boolean endOfMessage, Int64 contentLength)
at Microsoft.AnalysisServices.AdomdClient.DimeRecord.WriteChunkedPayload(Boolean endOfRecord, Boolean endOfMessage, Byte[] bytes, Int32 offset, Int32 count)
at Microsoft.AnalysisServices.AdomdClient.DimeRecord.Close(Boolean endOfMessage)
at Microsoft.AnalysisServices.AdomdClient.DimeWriter.Close()
at Microsoft.AnalysisServices.AdomdClient.TcpStream.WriteEndOfMessage()
at Microsoft.AnalysisServices.AdomdClient.CompressedStream.WriteEndOfMessage()
at Microsoft.AnalysisServices.AdomdClient.XmlaClient.WriteEndOfMessage(Boolean callBaseDirect)
at Microsoft.AnalysisServices.AdomdClient.XmlaClient.EndRequest(Boolean useBinaryXml)
at Microsoft.AnalysisServices.AdomdClient.XmlaClient.Authenticate(ConnectionInfo connectionInfo, DateTime startTime, SecurityContextMode securityContextMode)
at Microsoft.AnalysisServices.AdomdClient.XmlaClient.OpenTcpConnection(ConnectionInfo connectionInfo, SecurityContextMode securityContextMode)
at Microsoft.AnalysisServices.AdomdClient.XmlaClient.OpenConnection(ConnectionInfo connectionInfo, Boolean& isSessionTokenNeeded)
at Microsoft.AnalysisServices.AdomdClient.XmlaClient.Connect(ConnectionInfo connectionInfo, Boolean beginSession)
at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.XmlaClientProvider.Connect(Boolean toIXMLA)
at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.XmlaClientProvider.Microsoft.AnalysisServices.AdomdClient.AdomdConnection.IXmlaClientProviderEx.ConnectXmla()
at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.ConnectToXMLA(Boolean createSession, Boolean isHTTP)
at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.Open()
at Flexmonster.Accelerator.Controllers.FlexmonsterProxyController.TestConnection() in C:\Work\git\PIVOT\projects\Datasource Proxies\Microsoft SSAS\Flexmonster.Accelerator\Flexmonster.Accelerator.Core\Controllers\FlexmonsterProxyController.cs:line 1125
2021-12-01 13:48:11.7099 | TRACE | Flexmonster Data Speed Accelerator for Miscrosoft SSAS
2021-12-01 13:48:11.7255 | TRACE | Version 2.9.9
 
 

6 answers

Public
Mykhailo Halaida Mykhailo Halaida Flexmonster December 2, 2021

Hi Michael,
 
Thank you for raising your support ticket.
 
It looks like your server machine does not provide enough resources for the Accelerator – we'd recommend increasing the RAM allocated to the server.
 
You've also mentioned that everything seems to be working as expected after the Accelerator is restarted. Chances are, OutOfMemoryException is caused by Accelerator's cache overload – when the Accelerator service is restarted, its cache is cleared and there are enough resources for the Accelerator to function properly again.
 
With that in mind, limiting the cache size in your Accelerator instance might also be helpful.
 
Please let us know if this helps.
 
Best regards,
Mykhailo

Public
Michael Jiambalvo December 2, 2021

Hi Mykhailo,

Thank you for the quick response. Our configuration includes the following two lines

CACHE_MEMORY_LIMIT=0
CACHE_ENABLED=false

With CACHE_ENABLED set to false we assume CACHE_MEMORY_LIMIT is ignored. Is this true?

Thanks, Mike

Public
Mykhailo Halaida Mykhailo Halaida Flexmonster December 3, 2021

Michael,
 
Thank you for your fast response.
 
That's correct, the CACHE_MEMORY_LIMIT value does not matter when caching is disabled through CACHE_ENABLED=false.
 
Since cache is already disabled on your side, the best thing we can suggest is to, again, increase the amount of RAM available to the server so that the Accelerator has enough resources to process all the necessary data.
 
Please let us know if there is anything else we can help you with.
 
Best regards,
Mykhailo

Public
Michael Jiambalvo December 3, 2021

Mykhailo,
Thank you again for the fast response. Our network team supplied the following info from the SSAS server.
The OS memory is 32 Gb and we have 19 Gb available now.
Flexmonster service is only using 238 K.
Is more memory still needed? If so, what would be the recommended amount of memory to configure?
Screenshot attached
Thank you, Mike

Attachments:
OsMemory.PNG

Public
Mykhailo Halaida Mykhailo Halaida Flexmonster December 6, 2021

Hi Michael,
 
Given that your machine still has 19 GB of RAM available, it is indeed strange that the Accelerator throws the OutOfMemoryException.
 
That said, we need to know more details to understand what might be causing the issue in question. It would help us a lot if you could provide us with the following information: 
 

  • Your Flexmonster report configurations (report can be saved locally through the "Save" tab on the Toolbar).
  • Accelerator logs (the flexmonster.log.txt file).
  • Your SSAS instance dump (or a similar dummy dataset with which the issue is reproducible).

 
Thank you in advance and looking forward to your response.
 
Regards,
Mykhailo

Public
Mykhailo Halaida Mykhailo Halaida Flexmonster December 13, 2021

Michael,
 
Hope you're doing well!
 
Just checking in to ask if you've had a chance to read my previous response. Will you be able to provide us with additional details on your use case so that we can investigate the issue further?
 
Thank you in advance for your response.
 
Best regards,
Mykhailo

Please login or Register to Submit Answer