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:

Parameters of the JDBC driver useful to set-up a cluster of Denodo servers

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 pingQuery, the driver returns an error if that query does not finish in the number of milliseconds set on pingQueryTimeout.

See below for a more detailed explanation of these properties.

Default value for both parameters: <empty>

Sample URL for JDBC applications with the parameters pingQuery and pingQueryTimeout
jdbc:vdb://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 resonse 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:

  1. It will execute a ping query to check that the Virtual DataPort server is alive, or a connection to it is still valid.

  2. 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.