Data Views for Connection Handlers

When a connection is allocated to a connection handler, requests on the connection
are exposed to a list of data views configured for that connection handler.
The list of data views for a connection handler can contain zero, one,
or multiple data views.

If the list of data views is empty, requests on the connection
are not distributed to any data view. Applications using the connection cannot access any
data and a No such Object error is returned.

If the list of data views contains multiple data views, requests on the
connection are distributed to the data view that most specifically corresponds to the
target DN of the request. For example, in Figure 20-1, requests on a
connection in connection-handler-1 can be distributed to data-view-2, data-view-3 or data-view-4. However, if
a search request has a target DN of ou=people,dc=example,dc=com, the request is
distributed either to data-view-3 or to data-view-4.

Figure 20-1 List of Data Views in a Connection Handler

Affinity can be defined between a client connection and the data view selected
to respond to requests on that connection. This feature is called data view affinity.
When data view affinity is enabled, successive requests on a client connection are
exposed exclusively to the data view used for the first request on that
connection.

When data view affinity is enabled it takes precedence over other types of
routing. For example, in Figure 20-1, a search request with a target DN of
ou=computer,dc=example,dc=com is exposed to data-view-2. All subsequent requests on that client connection are exposed
exclusively to data-view-2. If a subsequent request on that client connection has a
target DN of ou=people,dc=example,dc=com, the request is exposed to the data view
for ou=computer,dc=example,dc=com, not the data view for ou=people,dc=example,dc=com.