EducationSoftwareStrategy.com
StrategyCommunity

Knowledge Base

Product

Community

Knowledge Base

TopicsBrowse ArticlesDeveloper Zone

Product

Download SoftwareProduct DocumentationSecurity Hub

Education

Tutorial VideosSolution GalleryEducation courses

Community

GuidelinesGrandmastersEvents
x_social-icon_white.svglinkedin_social-icon_white.svg
Strategy logoCommunity

© Strategy Inc. All Rights Reserved.

LegalTerms of UsePrivacy Policy
  1. Home
  2. Topics

KB442535: MSINetStream error code 104 in DSSErrors log file


Edgar Garcia Rosas

Senior Technical Account Manager I • MicroStrategy


SYMPTOM
Strategy Intelligence Server Universal runs on a number of platforms such as AIX, Solaris, Linux, and HP-UX. For each of these platforms, the system error codes may vary, and even between versions of the same operating system, the same error codes may indicate differing problems. This is why the descriptions of all system errors like the following are not written to the error logs.
The following error used to appear with more frequency before Strategy 10.4 HF2:


[Network Classes][Error] MSINetStream::net_read(), socket recv() error, error code = 104

It means the remote server has reset the channel which is being used by this thread;
KB14661: How to obtain the description of the various system error numbers logged by Strategy Intelligence Server on Linux
#define    ECONNRESET        104    /* Connection reset by peer */
EXPLANATION
Error code 104 of the Network Classes correspond to ECONNRESET, Connection Reset by Peer. This message is not one that our team would usually expect to be related to a loss of up-time on an Intelligence Server node as it is caused by a third-party interaction with our Intelligence Server. 
The only time that we would expect this to impact the availability of an Intelligence Server is if the Connection Reset by Peer is received, but the attempt to re-open the connection fails and a subsequent Network Classes error about failure to reach metadata server is logged.
In the design of our Intelligence Server, channels between each server nodes and clients are reused by many threads in the same process. If a network error occurs, the first thread detecting this error will complain about network error and try to establish a network channel. The other threads using the same channel don't know about this change until they decide to send a message with this channel. So they will still complain about network channel and then use the new channel created by the first thread. However, this won't lead to functionality or performance problem. Our server can tolerate such kind of network issues.
Since Strategy 10.8, we have done some code refactoring for this error, once this 104 error happens in the new version, we should be able to get more information from the log.
CAUSE
The ECONNRESET is recorded at any time where another system, this could be anything from a firewall to the target server itself, sends an RST packet to the Intelligence Server. The TCP RST packet denotes that the connection was immediately dropped instead of going through the traditional handshake to close the connection. Since the Intelligence Server is only receiving the RST packet from another network peer our diagnostics logs cannot determine why the RST packet was transmitted.
ACTION
For your network team to pursue a TCP RST packet, the best method would be to determine where the TCP RST is being sent from through something like tcpdump for Linux/UNIX or Wireshark on Windows. A packet capture should say what the IP address is for the peer sending TCP RST, and then it would be possible to follow up with that system to determine if it is something such as a firewall setting or network controller that is closing down connections due to some sort of protocol or timeout.
Article Reference Number: KB442535


Comment

0 comments

Details

Knowledge Article

Published:

December 31, 2018

Last Updated:

January 4, 2019