Oracle 10.3.6.9 Bug Report - EclipseLink Issue With Lazy Loaded Lob Fields.
Last updated on JULY 28, 2015
Applies to:Oracle TopLink - Version 184.108.40.206.0 to 220.127.116.11.0 [Release Oracle11g to 12c]
Oracle WebLogic Server - Version 10.3.5 to 18.104.22.168.0
Information in this document applies to any platform.
Problem appears In Oracle WLS 10.3.6
A persistent unit is defined with 2 entities:
- LazyLobEntity – This entity defines a simple String field named ‘string’ mapped with default settings and a String field named ‘lazyLob’ which is mapped as a lazy-loaded Lob field.
- UnrelatedEntity – This is a simple entity that has no relation whatsoever to the LazyLobEntity.
The steps to reproduce the issue are as follows:
1.Create a single LazyLobEntity with content in both the ‘string’ and ‘lazyLob’ fields.
2.Clear the underlying L2 cache. This simulates a timeout of the cached data or the scenario in which the cache is full.
1.Delete the UnrelatedEntity entities using a DELETE query.
2.Load and modify the LazyLobEntity but do not access it’s ‘lazyLob’ field.
1.Load the LazyLobEntity
2.Read the ‘lazyLob’ field.
In Transaction 3.2, the content of the ‘lazyLob’ field is returned as ‘null’. This is wrong. It should contain the value set in the ‘lazyLob’ field in Transaction 1. Checking in the database reveals that the value of the ‘lazyLob’ field has been set correctly.
Sign In with your My Oracle Support account
Don't have a My Oracle Support account? Click to get started
My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms