db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brett Wooldridge <brett.wooldri...@gmail.com>
Subject Re: Derby regression
Date Thu, 30 Jul 2009 10:15:20 GMT
I never see the XJ001 logged, thought it appears to travel over the wire
(looking at the DRDA trace) to the client.  With respect to the CLOB columns
and how they are set, that's a good question.  I am using Hibernate so the
SQL (at least how the parameters are set) is opaque to me.   The object has
JPA annotations as follows:

    @Column(name = "error")
    private String error;

    @Column(name = "grid_data", length = Integer.MAX_VALUE)
    private String gridData;

    @Column(name = "details", length = Integer.MAX_VALUE)
    private String details;

A sharp DRDA trace reader may be able to glean how it is set.  In fact,
looking at the DRDA with my untrained eye, I would say it is via setString()
as I would assume there would be decoration/fanfare on the wire associated
with a streamed object.  But as I said, I'm not a DRDA-savvy guy.  Note the
length properties are only taken as hints to Hibernate that the underlying
object is a CLOB and not a VARCHAR, whether it decides to use setString() or
setCharacterStream() based on that I don't know.


On Thu, Jul 30, 2009 at 6:36 PM, Kristian Waagan <Kristian.Waagan@sun.com>wrote:

> Brett Wooldridge wrote:
>> I have obtained a server-side trace of the failure.
> Hi Brett,
> I haven't decoded the DRDA trace, but do you happen to have the stack trace
> for the XJ001 SQLException as well?
> Also, how is the value of the CLOB columns being set? (i.e.
> setCharacterStream or setString)
> Is there anything else in derby.log that looks suspicious?
> Regards,
> --
> Kristian
>  I included a statement preceding the failure because it might be relevant.
>>  There is an 'insert' into the table upon which the subsequent 'select'
>> fails.  Both occur on the same connection, but are separated by an XA commit
>> managed by Bitronix JTA.  The 'insert' and subsequent 'select' occur on two
>> separate client threads -- sequentially.  The 'insert' succeeds, signals
>> another thread via event mechanism, which subsequently issues the 'select'
>> -- coincidentally (but typically due to low system activity) on the same
>> connection obtained from a connection pool.
>>       (2009.7.30 5:47:28) Request fill DRDAConnThread_7 5
> [snip - DRDA trace ]

View raw message