You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Kristian Waagan (JIRA)" <ji...@apache.org> on 2010/04/22 18:49:58 UTC

[jira] Updated: (DERBY-2017) Client driver can insert and commit partial data when a LOB stream throws IOException or does not match the specified length

     [ 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.