This initial setup of the RLS data can be quite expensive, so the CA DataMinder infrastructure maintains a connection pool to minimize unnecessary load on the database. Once the RLS data is loaded, an entry is put into the connection pool for that user and it is set to 'active' while connected to the database. Once the connection is no longer needed (for example, a search has finished running and returned the data to the iConsole), the entry in the connection pool is set to 'free'. The RLS data is still in the TMP tables.
When the user wants to run another search, the infrastructure checks the connection pool to see whether the user has a free connection. The infrastructure then connects to the database and uses the existing RLS data that is associated with this user, meaning that subsequent queries are less expensive.
If the user has an active connection and a second connection is required, a second connection is required in the connection pool, which incurs the expense of entering another set of rows into the TMP tables.
By default, entries in the connection pool are maintained for one hour. If the connection is left free for one hour, the connection is dropped from the pool and the RLS rows no longer exist in the database. Any subsequent searches require the RLS rows to be reinitialized.
The role of the connection pool is shown in the following diagram.
Role of Infrastructure and Connection Pool
Copyright © 2014 CA.
All rights reserved.
|
|