db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kathey Marsden (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-3650) Derby + Hibernate JPA 3.2.1 problem on entity with Blob/Clob
Date Fri, 09 May 2008 17:52:55 GMT

    [ https://issues.apache.org/jira/browse/DERBY-3650?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12595680#action_12595680
] 

Kathey Marsden commented on DERBY-3650:
---------------------------------------

I am really quite stuck on this issue.  Somehow we will need to defer the freeing of the lob
until the result set is closed when it is used in a join if free or commit are called.  I
tried simply nulling out the InternalClob in EmbedClob and adding a finalize method to StoreStreamClob
to close the stream, thinking that in this way we could perhaps rely on garbage collection
to close the stream after it is no longer referenced, but even with a forced gc() after closing
the result set,  I saw failures in ClobTest.testLockingAfterFree, which indicates that there
is still a reference to the stream until the end of the transaction.

Perhaps this method would still work if I could figure out where the reference to the stream
is and I could null that out too on free().  Then we could force a gc() on result set close.
 Perhaps I am off track all together.  Does anyone know where else the stream is referenced
or have any other ideas on this issue?

Thanks

Kathey







> Derby + Hibernate JPA 3.2.1 problem on entity with Blob/Clob
> ------------------------------------------------------------
>
>                 Key: DERBY-3650
>                 URL: https://issues.apache.org/jira/browse/DERBY-3650
>             Project: Derby
>          Issue Type: Bug
>          Components: Network Client
>    Affects Versions: 10.4.1.3
>         Environment: Mac OSX 10.4
> JDK 1.5.0_13
> Hibernate EntityManager 3.2.1
>            Reporter: Golgoth 14
>         Attachments: Derby3650EmbeddedRepro.java, Derby3650FullRepro.java, Derby3650Repro.java,
DerbyHibernateTest.zip, testdb.zip, traces_on_FormatIdStream_alloc.txt, UnionAll.java
>
>
> Hi,
> I'm using Derby in Client - Server mode with Hibernate JPA EJB 3.0.
> When a query on an entity containing a Clob and some joins on other entites is executed,
an exception with the following message is thrown:
>   XJ073: The data in this BLOB or CLOB is no longer available.  The BLOB/CLOB's transaction
may be committed, or its connection is closed.
> This problem occurs when the property "hibernate.max_fetch_depth" is greater than 0.
> When hibernate.max_fetch_depth=0, the query works.
> If Derby is configured in embedded mode, the query works independently of the value of
hibernate.max_fetch_depth.
> On the Hibernate's documentation, the advised value of hibernate.max_fetch_depth is 3.
> Could you explain me if I made something wrong ?
> Thank you.
> Stephane

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message