In RFA configuration for RSSL consumer connections, we can set the parameter "serverList". According to this parameter description, RFA attempts to connect each servers in the list until it succeeds in establishing the connection.
Our parameter "serverSelectionOrder" is set "false" so that RFA tries to connect to each server in the same order as what is indicated in "serverList" parameter.
Our configuration of "serverList" is: server74, server75, server76, server09, server10.
Lately, we had the following behavior: RFA tries to connect to the first 3 servers:
- After the first server, we had the error: Information: Connection Status Changed, RSSL_Cons_Connection "Default::Connection_Sub server74:14002" State: "Down" StatusCode: "None" StatusText: Connection down
- After the second server, we had the error: Warning: RSSL Channel closing on connection "Default::Connection_Sub server75:14002" due to "channel disconnect"
- After the third server, we had the error: Warning: RSSL Channel closing on connection "Default::Connection_Sub server76:14002" due to "channel flush failure"
- After the third, RFA didn't try to connect to the 4th server but it went back to the first server.
Do you know if the error "channel flush failure" can explain this behavior ?
The complete error message is:
Error: RSSL Channel flush failed on connection "Default::Connection_Sub server76:14002". Channel will be closed. (Internal debug info: "<..\..\..\Rssl\Impl\rsslImpl.c:1692> rsslFlush() Error: 0007 Only Channels in RSSL_CH_STATE_ACTIVE state can flush.", errno: 0)
We had to following log messages:
[21:29:39]: (ComponentName) Static: (Severity) Warning: Batch request size may be limited due to throttling on RSSL_Cons_Connection "Default::Connection_Sub server74:14002" [21:29:39]: (ComponentName) Static: (Severity) Information: Using the following configuration for RSSL_Cons_Connection "Default::Connection_Sub server74:14002": hostName = "server74", rsslPort = "14002", interfaceName = "localhost", compressionType = 0, channelBlocking = false, writeBufferMaxFragmentLength = 6144, connectionWaitTimeout = 30000, connectionPingTimeout = 30000, guaranteedOutputBuffers = 400, numInputBuffers = 5, tcp_nodelay = True, throttleEnabled = True, throttleType = count, throttleMaxCount = 250, throttleBatchCount = 10, traceMsg = False, traceMsgToFile = False [21:29:39]: (ComponentName) Static: (Severity) Information: Using the following configuration for RSSL_Cons_Connection_Manager "Default::Connection_Sub": hostName = "", rsslPort = "14002", requestQueueReadThreshold = 1, watchListTableSize = 10000, requestTimeout = 45000, itemPostTimeout = 15000, serverList = { server74, server75, server76, server09, server10 }, Connection capabilities: OMMMsgConnCapability [21:30:00]: (ComponentName) Static: (Severity) Warning: RSSL Channel closing on connection "Default::Connection_Sub server74:14002" due to "channel disconnect" [21:30:00]: (ComponentName) Static: (Severity) Information: Connection Status Changed, RSSL_Cons_Connection "Default::Connection_Sub server74:14002" State: "Down" StatusCode: "None" StatusText: Connection down [21:30:00]: (ComponentName) Static: (Severity) Information: RSSL_Cons_Connection "Default::Connection_Sub server75:14002" will be tried in 100 milliseconds [21:30:21]: (ComponentName) Static: (Severity) Warning: RSSL Channel closing on connection "Default::Connection_Sub server75:14002" due to "channel disconnect" [21:30:21]: (ComponentName) Static: (Severity) Information: Connection Status Changed, RSSL_Cons_Connection "Default::Connection_Sub server75:14002" State: "Down" StatusCode: "None" StatusText: Connection down [21:30:21]: (ComponentName) Static: (Severity) Information: RSSL_Cons_Connection "Default::Connection_Sub server76:14002" will be tried in 100 milliseconds [21:30:39]: (ComponentName) Static: (Severity) Error: RSSL Channel flush failed on connection "Default::Connection_Sub server76:14002". Channel will be closed. (Internal debug info: "<..\..\..\Rssl\Impl\rsslImpl.c:1692> rsslFlush() Error: 0007 Only Channels in RSSL_CH_STATE_ACTIVE state can flush.", errno: 0) [21:30:39]: (ComponentName) Static: (Severity) Warning: RSSL Channel closing on connection "Default::Connection_Sub server76:14002" due to "channel flush failure" [21:30:39]: (ComponentName) Static: (Severity) Information: Using the following configuration for RSSL_Cons_Connection_Manager "Default::Connection_Sub": hostName = "", rsslPort = "14002", requestQueueReadThreshold = 1, watchListTableSize = 10000, requestTimeout = 45000, itemPostTimeout = 15000, serverList = { server74, server75, server76, server09, server10 }, Connection capabilities: OMMMsgConnCapability [21:30:39]: (ComponentName) Static: (Severity) Warning: Batch request size may be limited due to throttling on RSSL_Cons_Connection "Default::Connection_Sub server74:14002"
We're using RFA C++ 7.5.1.L1
Regards.