CAPC to NFA sync fails with the error "Flatten failed on Interface ---> MySql.Data.MySqlClient.MySqlException: Timeout expired."

Document ID : KB000004013
Last Modified Date : 14/02/2018
Show Technical Document Details
Issue:

When using NFA 9.1+ with NPC or CAPC you can run into this type of Synchronization Failure

Figure 1

The full error can be found in the DeviceManagerService.log on NPC or CAPC:

NetQoS.DataSource.Client.DataSourceException: Data source returned NetQoS.ReporterAnalyzer.i18n.i18nException: Flatten failed on Interface ---> NetQoS.ReporterAnalyzer.i18n.i18nException: Flatten failed on Interface ---> MySql.Data.MySqlClient.MySqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. ---> System.TimeoutException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond ---> System.IO.IOException: Unable to read data from the transport connection: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. ---> System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond ---> System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> NetQoS.ReporterAnalyzer.i18n.i18nException: Flatten failed on Interface ---> NetQoS.ReporterAnalyzer.i18n.i18nException: Flatten failed on Interface ---> MySql.Data.MySqlClient.MySqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. ---> System.TimeoutException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond ---> System.IO.IOException: Unable to read data from the transport connection: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. ---> System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond

 

   at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
   at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
   --- End of inner exception stack trace ---
   at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
   at MyNetworkStream.Read(Byte[] buffer, Int32 offset, Int32 count)
   --- End of inner exception stack trace ---
   at MyNetworkStream.HandleOrRethrowException(Exception e)
Environment:
Windows 2008/2012NFA 9.1+
Cause:

Larger enviornemnts may require alarger timeout value for database commands.

Resolution:

Solution for NFA 9.1 - 9.3.3:

  1. RDP to the NFA console server.
  2. Navigate to the <InstallDir>\CA\NFA\DBUSERS (or <InstallDir>\NetQos\DBUSERS directory if this was upgraded from RA 9.0).
  3. Right click and edit the ReporterAnalyzer.ini file in notepad.
  4. Click 'Edit' and choose the 'Replace' option.
  5. For 'Find what' = 90 , for 'Replace with' = 900.
  6. Click 'Replace All'.
  7. Recycle the NetQoS MySql51 Service on the NFA console.
  8. Resync NFA with CAPC and it should complete successfully.

Solution for NFA 9.3.6:

  1. Download a patch from out FTP from here: DE271440_NFA_936_Timeout_Patch.zip

  2. Stop all Console services except for the "CA MySql" service.

  3. Stop IIS (run the command "iisreset /stop" from a command prompt).

  4. Backup the "NFA\REPORTER\NetQoS.ReporterAnalyzer.WebService\bin" directory by moving or renaming the directory.

  5. Copy the included "bin" directory to "NFA\REPORTER\NetQoS.ReporterAnalyzer.WebService\bin", so that it replaces the bin directory that was backed up in Step 3.

  6. Run the included "addIndices.sql" SQL file against the reporter database (for example: "mysql -u root reporter < addIndices.sql").

  7. Restart IIS ("iisreset /start").

  8. Restart all Console services.

  9. Monitor "NFA\REPORTER\Logs\ProductSyncWsLog[datestamp].log" to ensure timeouts are reduced/eliminated.
Additional Information:

This patch will also fix: TEC1686274