Configure Target Timeout Limit in Apigee hybrid Stay organized with collections Save and categorize content based on your preferences.
Overview
Starting in version 1.14.2, Apigee hybrid supports Target Timeout Limit up to 10 minutes.
Apigee hybrid supports targetio.timeout.millis up to 55000 milliseconds as default. SeeTarget Endpoint Transport Specification.
To enable environments in your hybrid installation to increase target timeout limit for multiple slow target endpoints, make the following changes to your runtime configuration:
- Configure the
virtualhosts[].requestTimeoutbetween Istio and Message Processor(MP). Seevirtualhosts - Configure the
conf_http_HTTPTransport.io.timeout.millisbetween MP and Targets
You can configure these settings for individual environments or for all environments in your installation.
Configure virtualhost to change the request timeout limit
The requestTimeout is the maximum time (in seconds) set on a virtual host for a request to be processed by the MP.
To configure the request timeout limit, you can use thevirtualhosts[].requestTimeout properties. Make the following changes to youroverrides.yaml file:
- Add the following stanza to your
overrides.yamlfile:virtualhosts:- name:ENV_GROUP_NAME requestTimeout: 600 # Increase requestTimeout to 600 seconds
- You must upgrade one environment group (virtualhost) at a time. Specify the environment group with
--set envgroup=ENV_GROUP_NAME. Repeat the following commands for each environment group mentioned in the overrides.yaml file:Dry run:
helm upgradeENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespaceAPIGEE_NAMESPACE \ --set envgroup=ENV_GROUP_NAME \ -fOVERRIDES_FILE \ --dry-run=server
ENV_GROUP_RELEASE_NAME is the name with which you previously installed the
apigee-virtualhostchart. It is usuallyENV_GROUP_NAME.Upgrade the chart:
Note:ENV_GROUP_RELEASE_NAME must be unique within thehelm upgradeENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespaceAPIGEE_NAMESPACE \ --set envgroup=ENV_GROUP_NAME \ -fOVERRIDES_FILE
apigeenamespace.For example, if you have anenvironment named
prodand anenvironment group namedprod, set the value ofENV_GROUP_RELEASE_NAME to something unique, likeprod-envgroup. - Check the state of the ApigeeRoute (AR).
Installing the
virtualhostscreates ApigeeRouteConfig (ARC) which internally creates ApigeeRoute (AR) once the Apigee watcher pulls environment group-related details from the control plane. Therefore, check that the corresponding AR's state is running:kubectl -nAPIGEE_NAMESPACE get arc
NAME STATE AGEapigee-org1-dev-egroup 2d
kubectl -nAPIGEE_NAMESPACE get ar
NAME STATE AGEapigee-org1-dev-egroup-cb9a8a running 2d
Configure individual environments to change target timeout limit
If the proxies having slow target endpoints are in only one or a few environments in your installation, you can configure the environments individually to change the target timeout limit. This avoids adding impact to other environments.
To configure individual environments to change target timeout limit, you can use theenvs[].components.runtime properties. Make the following changes to youroverrides.yaml file:
- Add the following stanza to your
overrides.yamlfile:envs:- name:ENV_NAME components. runtime: cwcAppend: conf_http_HTTPTransport.io.timeout.millis: 600000 # Increase io.timeout.millis to 600000 milliseconds
- You must upgrade one environment at a time. Upgrade the
apigee-envchart for each environment you are updating:Dry run:
helm upgradeENV_RELEASE_NAME apigee-env/ \ --install \ --namespaceAPIGEE_NAMESPACE \ --set env=ENV_NAME \ -fOVERRIDES_FILE \ --dry-run=server
- ENV_RELEASE_NAME is a name used to keep track of installation and upgrades of the
apigee-envchart. This name must be unique from the other Helm release names in your installation. Usually this is the same asENV_NAME. However, if your environment has the same name as your environment group, you must use different release names for the environment and environment group, for exampledev-env-releaseanddev-envgroup-release. For more information on releases in Helm, seeThree big concepts in the Helm documentation. - ENV_NAME is the name of the environment you are upgrading.
- OVERRIDES_FILE is your edited
overrides.yamlfile.
- ENV_RELEASE_NAME is a name used to keep track of installation and upgrades of the
- Upgrade the chart:
helm upgradeENV_RELEASE_NAME apigee-env/ \ --install \ --namespaceAPIGEE_NAMESPACE \ --set env=ENV_NAME \ -fOVERRIDES_FILE
Verify it is up and running by checking the state of the respective env:
kubectl -nAPIGEE_NAMESPACE get apigeeenv
NAME STATE AGE GATEWAYTYPEmy-org-my-env-123abc running 2d
Note: If the upgrade command fails with the error
Forbidden: state: releasing, the existing components are still in releasing status. You can wait for the current update to complete and then retry. Check release status with the following command:kubectl get env -nAPIGEE_NAMESPACE
Configure all environments to change target timeout limit
Changes to yourruntime stanza will change target timeout limit for all environments in your installation. You can override these settings for individual environments with theruntime properties.
- Add the following stanza to your
overrides.yamlfile:runtime: cwcAppend: conf_http_HTTPTransport.io.timeout.millis: 600000 # Increase io.timeout.millis to 600000 milliseconds
- Upgrade the
apigee-envchart for each environment in your installation:Dry run:
helm upgradeENV_RELEASE_NAME apigee-env/ \ --install \ --namespaceAPIGEE_NAMESPACE \ --set env=ENV_NAME \ -fOVERRIDES_FILE \ --dry-run=server
Upgrade the chart:
helm upgradeENV_RELEASE_NAME apigee-env/ \ --install \ --namespaceAPIGEE_NAMESPACE \ --set env=ENV_NAME \ -fOVERRIDES_FILE
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-12-17 UTC.