Connecting to Virtual DataPort Through a Load Balancer¶
Read this section when the JDBC client is connecting to Virtual DataPort through a load balancer or another intermediate resource that holds a pool of connections to Virtual DataPort.
The table Parameters of the JDBC driver useful to set-up a cluster of Denodo servers lists the parameters of the URL that are useful when connecting to Virtual DataPort through a load balancer:
Parameter of the URL |
Description |
---|---|
pingQuery and pingQueryTimeout |
Important: only use these two properties if the load balancer or the client application will execute a ping query but they do not support setting a timeout for the ping query. When the client executes the query
of the parameter See below for a more detailed explanation of these properties. Default value for both parameters: <empty> |
jdbc:denodo://acme:9999/admin?pingQuery=SELECT 1&pingQueryTimeout=1000
With the URL above, the driver will return an error when the client application or the load balancer execute the query SELECT 1
and Virtual DataPort does not return the response in less than one second. The error will cause the client or the load balancer to create a new connection instead of reusing this one.
You need to add the parameters pingQuery
and pingQueryTimeout
to
the connection URL if the load balancer or the client meet these
conditions:
It will execute a ping query to check that the Virtual DataPort server is alive, or a connection to it is still valid.
And the client application or load balancer support executing a ping query but do not support setting a timeout for this query.
At runtime, when the JDBC driver receives the query set on the parameter
pingQuery
, it will wait for a maximum of pingQueryTimeout
milliseconds for the query to finish. If the query does not finish in
that time, the driver will return an error, which will indicate the
client or the load balancer that the connection is no longer valid. A
connection to a Virtual DataPort server can become invalid when it has
timed out or dropped by a firewall.
Note that the driver does not actually execute the ping query. Is up to the client application or the load balancer to do so.