[ 
https://issues.apache.org/jira/browse/DERBY-2017?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kristian Waagan updated DERBY-2017:
-----------------------------------

    Attachment: derby-2017-3c-fix.diff

Attached patch 3a.
Committed the fix to trunk with revision 936950.

Thanks for looking at the patch, Knut.
I rewrote it slightly, adding a static method instead of duplicating the logic 
to throw the exception. I also one of the messages to MessageId. The others 
shouldn't be seen by users...

I will post a follow-up patch for the tests. It will add some tests for binary 
data, and also enable the tests.
The time difference you see between the two tests is expected. The layer A test 
runs a buffer boundary test, which is not run in the layer B test (the two 
tests exercise the same code path when it comes to the buffer boundary issue).

If there are additional comments, I'll incorporate the necessary changes in a 
new patch.

> 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: Kristian Waagan
>         Attachments: derby-2017-2a-regression_test.diff, 
> derby-2017-2b-regression-test.diff, derby-2017-3a-fix.diff, 
> derby-2017-3a-fix.stat, derby-2017-3b-fix.diff, derby-2017-3c-fix.diff, 
> derby-2017-stream_status_preview.diff, 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.

Reply via email to