This section lists the bugs fixed in Directory Proxy Server release 6.3.1.
An unavailable JDBC source results in a search failure through a JOIN view (LDAP + JDBC), even if no data is required from this JDBC source.
Running ldapsearch on cn=monitor returns the leaf entry before the parent entry, a condition that can cause some tools to fail.
Modifications through a join view of LDAP and JDBC might trigger a NULL pointer exception.
When no secondary attributes are requested, performance should not be impacted by requests against secondary data sources
An attempt to apply two modifications as part of a single LDAP transaction can succeed partially if one attribute is not present.
When using a join view of LDAP and JDBC, the objectclass attribute cannot be stored on the secondary view.
When searching through a join view, the search should be conducted first on the secondary view, in the case that no attributes from the primary view are present in the search filter (and even if several entries are returned from the secondary view).
A high search load can lead to a NULL pointer exception.
When searching on a join view of LDAP and JDBC, an entry might not be returned if the bind user has no access right on the requested secondary attributes.
When running a high search load, exceptions ArrayIndexOutOfBounds or NegativeArraySizeException can be triggered
Adding an entry through a join view fails if the uid attribute contains capital letters.
When adding an entry through a join view of LDAP and JDBC, the entry is added in the JDBC view even if no secondary JDBC attributes are included in the add request.
When adding or replacing an attribute through a join view of LDAP and JDBC, the value is truncated if it is too long for the SQL database.
When adding an entry through a join view of LDAP and JDBC, the column size is not checked before updating or adding a string (varchar) value that results in a database error
Search stress tests lead to unexpected errors due to a race condition in FailoverLoadBalancingAlgorithm.
Persistent searches over SSL fail to return data.
Memory management policy in DPS leads to existing connections being disconnected at the same time that GC is triggered (when memory is low).
When an entry is added, DN values are not always converted to lowercase.
When a shared attribute (that may exist on two data sources) is deleted through a join view of LDAP and JDBC, an error is returned if the attribute does not exist on one of the two views.
A JVM crash can occur in 64–bit mode using JDK 1.6 under high search load.
When JDBC source treats its column values as case sensitive (typically DB2), an attempt to delete a JDBC attribute value can fail.
Sockets can be stuck in the CLOSE_WAIT state, causing the server to become unresponsive.
Frequently opened and then closed connections to the server can cause the server to become unresponsive at some time later until a restart is performed.
On AMD64 Linux machines, the server is unable to start in 32-bit mode.
Under heavy load, the server can experience timeouts, causing operations to the directory server to be retried.
When using a virtually mapped base within a search filter, no result are returned under certain circumstances.
When a Join view is used, modifications intended for the secondary data view can be incorrectly routed to the primary data view.
Failing to set up a Join rule while configuring a Join view containing a JDBC view can cause a StringIndexOutOfBoundsException exception.
Some specific search filters can cause the server to return decoding errors.
When using a Join view containing a JDBC view, an attempt to delete an attribute of an entry that only exists in the directory service fails.
The dpadm -V fails to detect the JVM version.
The server can let connections to the directory server remain in the CLOSE_WAIT state, causing directory server to become unresponsive.
A search filter containing an attribute of a non-string type (such as float or date) can fail to retrieve results from the JDBC view.
Internal worker threads can become deadlocked, causing server to become unresponsive.
High CPU spikes can occur on the server, causing all services on the machine to become unresponsive.
Improvements to the management of the bound connections to minimize close wait.
ldapsearch can return an empty attribute's value of an entry from MySQL, Derby, or DB2 JDBC back end. With an ORACLE JDBC back end, an empty attribute's value is not returned.