[
https://issues.apache.org/jira/browse/DERBY-2017?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12501214
]
Knut Anders Hatlen commented on DERBY-2017:
-------------------------------------------
I think what Narayanan proposed sounds interesting. It would solve both the
OutOfMemoryError problem and the problems with invalid length or errors when
reading the stream, and it would make the commit/rollback behaviour identical
on client and embedded.
Of the drawbacks he mentioned, I agree that (2) probably would reduce the
performance. Not sure how much, though. However, I'm not sure drawback (1) is
such a big issue. If I remember correctly, Tomohito tested the performance of
layer A vs layer B streaming once and didn't notice any improvement with layer
B.
> Client driver can insert and commit partial data when a LOB stream throws
> IOException or does not match the specified length
> ----------------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-2017
> URL: https://issues.apache.org/jira/browse/DERBY-2017
> Project: Derby
> Issue Type: Bug
> Components: JDBC, Network Client
> Affects Versions: 10.2.1.6
> Reporter: Knut Anders Hatlen
> Assignee: Mayuresh Nirhali
> Attachments: derby2017_try1.diff, Derby_2017_v1.diff,
> Derby_2017_v1.stat, StreamErrRepro.java
>
>
> When a LOB stream throws an exception or does not match the specified length,
> the client driver does not raise an exception until it has finished executing
> the statement. Therefore, the statement will be executed (and possibly
> committed) on the server even though the client reports that the statement
> failed.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.