Skip to content

Commit

Permalink
[ 134] Troubleshooting: Fix list rendering for 'long-idle connections'
Browse files Browse the repository at this point in the history
  • Loading branch information
alanking committed Jan 28, 2025
1 parent 9b28417 commit b60b00f
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions docs/system_overview/troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -717,19 +717,19 @@ To prevent the connection on port 1247 from being severed, users can lower the k

3 configuration options have been added to the client environment (`irods_environment.json`):

- `irods_tcp_keepalive_intvl_in_seconds`: Sets the `TCP_KEEPINTVL` TCP socket option. Defaults to 75 seconds in the kernel.
- `irods_tcp_keepalive_probes`: Sets the `TCP_KEEPCNT` TCP socket option. Defaults to 9 in the kernel.
- `irods_tcp_keepalive_time_in_seconds`: Sets the `TCP_KEEPIDLE` TCP socket option. Defaults to 7200 in the kernel.
- `irods_tcp_keepalive_intvl_in_seconds`: Sets the `TCP_KEEPINTVL` TCP socket option. Defaults to 75 seconds in the kernel.
- `irods_tcp_keepalive_probes`: Sets the `TCP_KEEPCNT` TCP socket option. Defaults to 9 in the kernel.
- `irods_tcp_keepalive_time_in_seconds`: Sets the `TCP_KEEPIDLE` TCP socket option. Defaults to 7200 in the kernel.

Using kernel default values, a connection would be left idle for 7200 seconds (2 hours) before sending up to 9 keepalive probes once every 75 seconds. Once the 75 second interval has passed after the 9th probe has been sent (totaling about 11 minutes), the connection will be killed.

Setting values for these configuration options in the `irods_environment.json` file for the iRODS service account will set the TCP keepalive options for sockets used in server-to-server communications. Setting values for these configuration options in the `irods_environment.json` file for any other connected user would set the TCP keepalive options for sockets used in client-to-server communications.

These can also be set using environment variables as with any other client environment configuration value with non-negative integers for values:

- `IRODS_TCP_KEEPALIVE_INTVL_IN_SECONDS`
- `IRODS_TCP_KEEPALIVE_PROBES`
- `IRODS_TCP_KEEPALIVE_TIME_IN_SECONDS`
- `IRODS_TCP_KEEPALIVE_INTVL_IN_SECONDS`
- `IRODS_TCP_KEEPALIVE_PROBES`
- `IRODS_TCP_KEEPALIVE_TIME_IN_SECONDS`

Drop the value of `irods_tcp_keepalive_time_in_seconds` to some value less than the firewall timeout configured for the host in order to prevent the connection being killed.

Expand Down

0 comments on commit b60b00f

Please sign in to comment.