[
https://issues.apache.org/jira/browse/DERBY-1595?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12879706#action_12879706
]
Knut Anders Hatlen commented on DERBY-1595:
-------------------------------------------
The 1a patch looks fine to me. Two questions, though:
1) Is the value of MAX_LONG_6_BYTES_SIGNED correct? Looking at the
corresponding code at the server side, it seems like it should have been
0xFFFFFFFFFFFFL, not 0x7FFFFFFFFFFFL. See for example
DDMWriter.calculateExtendedLengthByteCount():
else if (ddmSize <= 0xffffffffffffL)
return 6;
And DDMReader.readNetworkSixByteLong() is also coded to handle that extra bit:
return (
((buffer[pos++] & 0xffL) << 40) +
...
2) Are you planning to internationalize the new error message that was added?
> Network server fails with DRDAProtocolException if a BLOB with size
> 2147483647 is streamed from client
> ------------------------------------------------------------------------------------------------------
>
> Key: DERBY-1595
> URL: https://issues.apache.org/jira/browse/DERBY-1595
> Project: Derby
> Issue Type: Bug
> Components: Network Server
> Affects Versions: 10.2.1.6
> Reporter: Andreas Korneliussen
> Assignee: Kristian Waagan
> Priority: Minor
> Fix For: 10.7.0.0
>
> Attachments: derby-1595-1a-client_write6bytes.diff
>
>
> When executing a program which inserts a BLOB of size 2GB-1, the Network
> server fails with DRDAProtocolException. This happens before it starts
> handling the actual LOB data:
> java org.apache.derby.drda.NetworkServerControl start
> Apache Derby Network Server - 10.2.0.4 alpha started and ready to accept
> connections on port 1527 at 2006-07-26 14:15:21.284 GMT
> Execution failed because of a Distributed Protocol Error:
> DRDA_Proto_SYNTAXRM; CODPNT arg = 0; Error Code Value = c
> org.apache.derby.impl.drda.DRDAProtocolException
> at
> org.apache.derby.impl.drda.DRDAConnThread.throwSyntaxrm(DRDAConnThread.java:441)
> at
> org.apache.derby.impl.drda.DDMReader.readLengthAndCodePoint(DDMReader.java:554)
> at
> org.apache.derby.impl.drda.DDMReader.getCodePoint(DDMReader.java:617)
> at
> org.apache.derby.impl.drda.DRDAConnThread.parseSQLDTA_work(DRDAConnThread.java:4072)
> at
> org.apache.derby.impl.drda.DRDAConnThread.parseSQLDTA(DRDAConnThread.java:3928)
> at
> org.apache.derby.impl.drda.DRDAConnThread.parseEXCSQLSTTobjects(DRDAConnThread.java:3806)
> at
> org.apache.derby.impl.drda.DRDAConnThread.parseEXCSQLSTT(DRDAConnThread.java:3640)
> at
> org.apache.derby.impl.drda.DRDAConnThread.processCommands(DRDAConnThread.java:928)
> at
> org.apache.derby.impl.drda.DRDAConnThread.run(DRDAConnThread.java:254)
> null
> org.apache.derby.impl.drda.DRDAProtocolException
> at
> org.apache.derby.impl.drda.DRDAConnThread.throwSyntaxrm(DRDAConnThread.java:441)
> at
> org.apache.derby.impl.drda.DDMReader.readLengthAndCodePoint(DDMReader.java:554)
> at
> org.apache.derby.impl.drda.DDMReader.getCodePoint(DDMReader.java:617)
> at
> org.apache.derby.impl.drda.DRDAConnThread.parseSQLDTA_work(DRDAConnThread.java:4072)
> at
> org.apache.derby.impl.drda.DRDAConnThread.parseSQLDTA(DRDAConnThread.java:3928)
> at
> org.apache.derby.impl.drda.DRDAConnThread.parseEXCSQLSTTobjects(DRDAConnThread.java:3806)
> at
> org.apache.derby.impl.drda.DRDAConnThread.parseEXCSQLSTT(DRDAConnThread.java:3640)
> at
> org.apache.derby.impl.drda.DRDAConnThread.processCommands(DRDAConnThread.java:928)
> at
> org.apache.derby.impl.drda.DRDAConnThread.run(DRDAConnThread.java:254)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.