Database gets corrupt after throwing NPE while reading Binary Stream data, in
chunks
------------------------------------------------------------------------------------
Key: DERBY-1653
URL: http://issues.apache.org/jira/browse/DERBY-1653
Project: Derby
Issue Type: Bug
Affects Versions: 10.1.3.1
Environment: Linux (Debian) Kernel 2.6.16
Reporter: Dipali Sunkersett
Priority: Critical
One of the component of our project pushes large text (as a binary stream) into
Derby DB. The other component retrieves these texts in chunks and process one
text at a time to perform some manipulation. After fetching and processing
roughly 30K texts, we get an NPE and the whole DB gets corrupt after that. We
can not connect to that DB again. We use the
"org.apache.derby.jdbc.EmbeddedDriver" for connecton. The stack trace is as
below:
java.lang.NullPointerException
at
org.apache.derby.impl.store.raw.data.BasePage.releaseExclusive(Unknown Source)
at
org.apache.derby.impl.store.raw.data.CachedPage.releaseExclusive(Unknown Source)
at
org.apache.derby.impl.store.raw.data.StoredPage.releaseExclusive(Unknown Source)
at org.apache.derby.impl.store.raw.data.BasePage.unlatch(Unknown Source)
at
org.apache.derby.impl.store.raw.data.OverflowInputStream.fillByteHolder(Unknown
Source)
at
org.apache.derby.impl.store.raw.data.BufferedByteHolderInputStream.available(Unknown
Source)
at java.io.FilterInputStream.available(FilterInputStream.java:146)
at java.io.FilterInputStream.available(FilterInputStream.java:146)
at sun.nio.cs.StreamDecoder$CharsetSD.inReady(StreamDecoder.java:490)
at sun.nio.cs.StreamDecoder$CharsetSD.implRead(StreamDecoder.java:451)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:183)
at java.io.InputStreamReader.read(InputStreamReader.java:167)
at java.io.BufferedReader.fill(BufferedReader.java:136)
at java.io.BufferedReader.readLine(BufferedReader.java:299)
at java.io.BufferedReader.readLine(BufferedReader.java:362)
at
com.irm.dag.occcalc.command.CorpusWordPhraseOccCalc.calculateOccurrences(CorpusWordPhraseOccCalc.java:128)
at
com.irm.dag.occcalc.command.CorpusOccCalc.calculate(CorpusOccCalc.java:44)
at
com.irm.dag.occcalc.test.WrapperForOccurrenceCalculator.main(WrapperForOccurrenceCalculator.java:56)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira