db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kristian Waagan (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-2017) Client driver can insert and commit partial data when a LOB stream throws IOException or does not match the specified length
Date Fri, 19 Feb 2010 15:16:29 GMT

    [ https://issues.apache.org/jira/browse/DERBY-2017?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12835771#action_12835771
] 

Kristian Waagan commented on DERBY-2017:
----------------------------------------

I haven't looked into the details, but DRDA has a mechanism for interrupting DRDA requests.
However, this requires that the client opens a new connection to the server to issue the request.
Without knowing how hard this will be to implement, does this sound as a viable solution?

Interrupting the server is an exceptional case, so I guess the performance of the mentioned
solution isn't critical (i.e. create new connection, send the request,  receive reply, throw
exception and do cleanup on the client side will take a while compared to sending something
on the existing connection). I suppose we can use the same mechanism if we need to be able
to interrupt the server in other states.

For those interested, see DRDA vol 1 -  4.4.14 Interrupting a Running DRDA Request.
As I said, I haven't yet studied the spec, nor Derby's DRDA implementation, so I can't say
for sure this will work.

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


Mime
View raw message