Hybrid Data Pipeline supports limiting how long a transaction can remain idle before rolling it back. Transaction timeout throttling may be configured with the TransactionTimeout limit by specifying the number of seconds the transaction can remain idle. The default value for the TransactionTimeout limit is 60 seconds. The TransactionTimeout limit can be applied at four levels in the following manner.

  • Data source. When applied to a data source, the limit applies to queries made to the data source. A limit applied at the data source level overrides the limit set at the other levels.
  • User. When applied to a user account, the limit applies to queries made by that user. A limit applied at the user level overrides limits set at the tenant and system levels.
  • Tenant. When applied to a tenant, the limit applies to queries made by any user in the tenant. A limit applied at the tenant level overrides a limit set at the system level.
  • System. When applied at the system level, the limit applies to queries made by any user in the Hybrid Data Pipeline system.

To configure transaction timeout throttling, the administrator must have either the Administrator (12) or the Limits (27) permission.

System level configuration

Transaction timeout throttling can be configured at the system level either with the Web UI or with the Limits API. For details on using the Web UI, see Manage Limits view.

The following POST creates a system-level limit of 90 seconds. The number 14 is the ID of the TransactionTimeout limit. The payload passes 90 as the value for this limit.

POST https://<myserver>:<port>/api/admin/limits/system/14
    {
      "value": 90
    }              

Tenant configuration

Transaction timeout throttling can be configured at the tenant level with either the Web UI or with the Limits API. When using the Web UI, you can enable transaction timeout throttling through either the Manage Tenants view or the Manage Limits view.

The following POST sets a limit of 120 seconds on the specified tenant. The number 32 is the ID of the tenant, and the number 14 is the ID of the TransactionTimeout limit. The payload passes 120 as the value for this limit.

POST https://<myserver>:<port>/api/admin/limits/tenants/32/14
    {
      "value": 120
    }              

User account configuration

Transaction timeout throttling can be configured at the user level either with the Web UI or with the Limits API. For details on using the Web UI, see Manage Users view.

The following POST sets a limit of 180 seconds on the specified user account. The number 86 is the ID of the user account, and the number 14 is the ID of the TransactionTimeout limit. The payload passes 180 as the value for this limit.

POST https://<myserver>:<port>/api/admin/limits/users/86/14
    {
      "value": 180
    }              

Data source configuration

Transaction timeout throttling can only be configured at the data source level using the Limits API. The following POST sets a limit of 30 seconds on the specified data source. The number 86 is the ID of the user account; the number 304 is the ID of the data source that is owned by the user account; and the number 14 is the ID of the TransactionTimeout limit. The payload passes 30 as the value for this limit.

PUT https://<myserver>:<port>/api/admin/limits/users/86/datasources/304/14
    {
      "value": 30
    }