Hi Jason,
Just a few control questions, as Derby doesn't use PushbackInputStream
much internally:
1) Which Derby version are you using?
2a) Does the failing result set contain any CLOB columns?
2b) Are you accessing an upgraded database?
1 - I just upgraded to 10.5.3 from 10.5.2 and verify it's still an
issue. From derby.log "Apache Derby Network Server - 10.5.3.0 - (802917)"
2a - Yes!
2b - No
Interesting piece of info I came across while putting together a small
Eclipse project for repro... it seems very specific to my actual schema
and the inclusion of an Order By clause on the query. I'm still
debugging but seeing it work successfully on 350K result set on my
repro-app was encouraging.
Thanks,
JW
Kristian Waagan wrote:
Jason Ward wrote:
Thanks Bryan, I should have included the info from the derby.log.
Here's a small snippet of the ~1K lines from the log:
2009-09-17 14:58:48.873 GMT Thread[DRDAConnThread_19,5,derby.daemons]
(XID = 5212534), (SESSIONID = 21), (DATABASE = C:/temp/testDB),
(DRDAID = NF000001.H0EE-4195946224626394775{15}), Cleanup action
starting
2009-09-17 14:58:48.873 GMT Thread[DRDAConnThread_19,5,derby.daemons]
(XID = 5212534), (SESSIONID = 21), (DATABASE = C:/temp/testDB),
(DRDAID = NF000001.H0EE-4195946224626394775{15}), Failed Statement
is: <clipped for proprietary reasons... I can modify and disclose of
required, but the SQL select looks as expected>:end parameter
java.lang.StackOverflowError
at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
at java.io.FilterInputStream.read(FilterInputStream.java:116)
at org.apache.derby.iapi.services.io.LimitInputStream.read(Unknown
Source)
at java.io.FilterInputStream.read(FilterInputStream.java:116)
at java.io.PushbackInputStream.read(PushbackInputStream.java:169)
at java.io.FilterInputStream.read(FilterInputStream.java:116)
at java.io.PushbackInputStream.read(PushbackInputStream.java:169)
at java.io.FilterInputStream.read(FilterInputStream.java:116)
at java.io.PushbackInputStream.read(PushbackInputStream.java:169)
at java.io.FilterInputStream.read(FilterInputStream.java:116)
at java.io.PushbackInputStream.read(PushbackInputStream.java:169)
at java.io.FilterInputStream.read(FilterInputStream.java:116)
at java.io.PushbackInputStream.read(PushbackInputStream.java:169)
at java.io.FilterInputStream.read(FilterInputStream.java:116)
at java.io.PushbackInputStream.read(PushbackInputStream.java:169)
at java.io.FilterInputStream.read(FilterInputStream.java:116)
...
at java.io.PushbackInputStream.read(PushbackInputStream.java:169)
at java.io.FilterInputStream.read(FilterInputStream.java:116)
Cleanup action completed
Additionally.. unchaining the exception is a little more complicated
with Hibernate in the way, but I've gone about doing so... seems it's
the end of the chain tho. (Interrogating the exception with debugger
confirms that there's no next exception, but I'm not sure if that's
only because someone's swallowing it along the line.)
Thanks,
JW
----- SQLException -----
SQLState: XJ001
Error Code: -1
Message: DERBY SQL error: SQLCODE: -1, SQLSTATE: XJ001,
SQLERRMC: java.lang.StackOverflowErrorXJ001.U
Any thoughts on where I should focus my attention? I can't be the
only one using Derby and scrolling on large result-sets can I?
Hi Jason,
Just a few control questions, as Derby doesn't use PushbackInputStream
much internally:
1) Which Derby version are you using?
2a) Does the failing result set contain any CLOB columns?
2b) Are you accessing an upgraded database?
Regards,