How to configure the maximum time taken to establish a binding
| Summary |
- How to configure the maximum time taken to establish a binding
- Binding establishment timings
- Establish bindings
|
| Environment |
Orbix 6.3 All supported platforms |
| Question/Problem Description |
How can the maximum time spent establishing a binding be configured? |
| Resolution |
There are a number of policies governing the time taken to establish a binding. These can be set with the following configuration variables:
policies:binding_establishment:initial_iteration_delay Time, in milliseconds, between the first and second attempt to establish a binding. Defaults to 100 milliseconds.
policies:binding_establishment:backoff_ratio Degree to which delays between binding retries increase from one retry to the next. Defaults to 2.
policies:binding_establishment:max_binding_iterations Number of times a client can try to establish a binding before raising a TRANSIENT exception. Defaults to 5.
policies:binding_establishment:max_forwards Number of forward attempts that are allowed during binding establishment. Defaults to 20.
policies:binding_establishment:relative_expiry Time, in milliseconds, allowed to establish a binding.
For example, take the following settings:
policies:binding_establishment:initial_iteration_delay = 100ms policies:binding_establishment:backoff_ratio = 2 policies:binding_establishment:max_binding_iterations = 5 policies:binding_establishment:max_forwards = 20 policies:binding_establishment:relative_expiry = 1000ms
For this example, we will assume the binding will ultimately fail (allowing the above settings to come into play). As per the max_binding_iterations, the client will make 5 attempt to bind.
- When the first attempt is not successful after 1 second (relative_expiry), the client will wait 100 milliseconds (initial_iteration_delay) before trying again.
- When this second attempt is not successful after 1 second (relative_expiry), the client will wait 200 milliseconds (previous delay * backoff_ratio) before trying again.
- When this third attempt is not successful after 1 second (relative_expiry), the client will wait 400 milliseconds (previous delay * backoff_ratio) before trying again.
- When this fourth attempt is not successful after 1 second (relative_expiry), the client will wait 800 milliseconds (previous delay * backoff_ratio) before trying again.
- Finally, when this fifth attempt is not successful after 1 second (relative_expiry), the client will return with a TRANSIENT error.
The above timings total 6500 milliseconds. This is the maximum amount of time the client will take to establish a binding, before throwing a transient exception.
Note that the server may throw other exceptions during the above procedure, which will greatly reduce the time taken before the client reports an exception.
|
#Orbix#configuration#Orbix6#KnowledgeDocs