Skip to content

Commit

Permalink
squash with 'Add parallel transfer threads section'
Browse files Browse the repository at this point in the history
Add note about federation and which server's configuration is being used

Removed this weird clause that didn't make any sense, as well
  • Loading branch information
alanking committed Feb 22, 2024
1 parent 090da2a commit 0113dd3
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion docs/system_overview/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -955,7 +955,7 @@ It is recommended that the administrator leaves this PEP in its default implemen

### Server: `server_config` Advanced Settings

The `server_config.json` file for configuration of the iRODS server has a setting under `advanced_settings` called `default_number_of_transfer_threads`. This is the server's configuration of the number of threads to use by default in parallel transfers. If the client does not provide a number of threads to use for parallel transfer, this is the default value used in the other server-side configurations that will be explained in the following sections. Additionally, if `acSetNumThreads` is left in its default implementation (with "default" used for all parameters), the `default_number_of_transfer_threads` will also ensure that no client-provided number of transfer threads will exceed the value provided.
The `server_config.json` file for configuration of the iRODS server has a setting under `advanced_settings` called `default_number_of_transfer_threads`. This is the server's configuration of the number of threads to use by default in parallel transfers. If the client does not provide a number of threads to use for parallel transfer, this is the value used. Note: The server configuration used to determine the number of parallel transfer threads is the server hosting the resource to which the data is being written or from which data is being read. Additionally, if `acSetNumThreads` is left in its default implementation (with "default" used for all parameters), the `default_number_of_transfer_threads` will also ensure that no client-provided number of transfer threads will exceed the value provided.

The administrator may wish to disable parallel transfer threads altogether. This can be done by setting `default_number_of_transfer_threads` to 0 in the `advanced_settings`.

Expand All @@ -972,3 +972,5 @@ The following table shows the number of threads used in parallel transfers of an
| 2 | 5 | 4 | 4 |

Case 0 shows that if the client does not provide a number of parallel transfer threads to use, the default configured in the server will be used. Case 1 shows that if the client provides a number of parallel transfer threads to use that is less than or equal to the configured `default_number_of_transfer_threads`, that number of threads will be used. Case 2 shows that if the client provides a number of parallel transfer threads to use that is greater than `default_number_of_transfer_threads`, the value will be set to `default_number_of_transfer_threads` so as to not exceed it. So, the configured `default_number_of_transfer_threads` in `server_config.json` actually functions as a maximum on the number of threads that will be used as well when `acSetNumThreads` is left in its default implementation.

The behavior stays the same regardless of whether the data transfers are to the user's local zone or to a remote zone via federation. For both cases - transferring data to a local zone or a remote zone via federation - the configuration being used on the server side would be the server hosting the resource to which data is being written or from which data is being read.

0 comments on commit 0113dd3

Please sign in to comment.