Forum

General discussion on using the Kognitio Analytical Platform.
Contributor
Offline
User avatar
Posts: 48
Joined: Tue May 28, 2013 1:44 pm

Connection attempts get "08S02: [Kognitio][WX2 Driver] Session has been aborted: Connection reset by peer"

by anonymous2 » Tue Aug 01, 2017 10:58 am

I'm getting the error above on connection attempts.

The smd logging directory has a serverdbg file entry from the same time showing:

T_2017-07-31_09:23:14_BST: AM listener 0x00000072: CA_GetPort() returned -1. No CA channels free because there are too many client connections to this node. Rejecting connection from 123.456.78.90:12345.

What is going wrong, and how can I fix it.
Reply with quote Top
Contributor
Offline
User avatar
Posts: 385
Joined: Thu May 23, 2013 4:48 pm

Re: Connection attempts get "08S02: [Kognitio][WX2 Driver] Session has been aborted: Connection reset by peer"

by markc » Tue Aug 01, 2017 11:53 am

Typically this is because you are using a DSN or connection string which only specifies a small subset (typically just one) of the available nodes for client connections. By default each node can support up to 80 connections, using one IO process per node. However, you can increase the IO processes per node by editing the config file with wxviconf to add the following sort of entry in the [general] section:

daemon_port=6550,6551,6552

The setting above would change from the default of one IO process listening on port 6550, to three IO processes listening on ports 6550, 6551 and 6552 respectively, tripling the number of connections the node can support (your DSN/connection string would have to include details of the relevant IP address + port combinations, of course).

Alternatively, you can make the DSN/connection string refer to more nodes, so that the connections are spread across multiple nodes rather than restricted to a small subset (typically one).

To verify if all your connections are going to the same node you can run a query to see where connect/disconnect attempts go, like this:

select substring(net_if_name from 1 for 25), count(*) from ipe_alllogin
where ldate=CURRENT_DATE and ltime<CURRENT_TIME group by 1 order by 2 desc;
node1:6550 123456
node2:6550 274
node3:6550 258
...


In the example above we see almost all connections come in through node 1. You can then dig further into the detail to see if one client is making the majority of connections, and fix its DSN/connection string:

select client_name, count(*) from ipe_alllogin
where ldate=CURRENT_DATE and ltime<CURRENT_TIME and net_if_name matching 'node1' group by 1 order by 2 desc;
client794 109364
client195 12916
client293 247
...


So in the above example we could reasonably assume the problem is with the configuration of the DSN/connection string for client794, and modifying that to include other nodes would prevent this skewing of connections onto node1.
Reply with quote Top

Who is online

Users browsing this forum: No registered users and 1 guest

cron