[ http://issues.apache.org/jira/browse/DERBY-614?page=comments#action_12355828 ]
Kathey Marsden commented on DERBY-614: -------------------------------------- I hear you about the DRDA specs. They are pretty hard. That's why I am making you do the research #:) This research by the way is excellent. DSS stands for Data Stream Structure. It is sort of the packaging mechanism for data going to the client. It's size is limitted to 32K but sometimes it is ok to set a flag to continue in the next DSS and send more data. The Data Stream Structure documented in the DDM manual under DSS. I have to say I don't really understand the chaining very well, but hope this will be an opportunity for me to learn more about it myself. You said ... >I do not believe that the client is allowed to send any commands other than >CNTQRY or >CLSQRY; those are the only legal options. For this particular result set you are right, the client can send only either a CNTQRY or CLSQRY and it will send an identifier for the result set (PKGNAMCSN) with the request to identify which result set it is, but there may be intervening requests that have nothing to do with this result set. For instance if you change your repro to execute some totally unrelated statement before closing the result set, such as "CREATE TABLE FOO (i int)" then before it ever sends the CLSQRY for this result set you will see an EXCSQLIMM as the next command sent from the client. So, we would again fall over if we simply changied splitQRYDTA to handle CLSQRY as well as CNTQRY. Also we may get an intervening CNTQRY for an entirely different result set and then we could end up sending the data for the wrong result set for the reqest, so that is why I think the parseCNTQRY in splitQRYDTA is wrong. Could you try to change your test case as described and see if in fact my assessment is correct that we might get some other request from the client before we get the CNTQRY or CLSQRY request for this result set? > Execution failed because of a Distributed Protocol Error > -------------------------------------------------------- > > Key: DERBY-614 > URL: http://issues.apache.org/jira/browse/DERBY-614 > Project: Derby > Type: Bug > Components: Network Server > Versions: 10.1.1.0 > Environment: Linux 2.4, Sun JDK 1.4.2_07, full SYSINFO will be attached. > Reporter: Bryan Pendleton > Attachments: clientSideTrace.txt, clientStack.txt, derby-614.zip, > derbyTrace.txt, query.txt, serverSideTrace.txt, sysinfo.derby > > I am intermittently receiving Distributed Protocol Error exceptions in my > client code. Simultaneously, > my derby.log is recording Distributed Protocol Error exceptions on the server > side. > I cannot reliably reproduce this problem. > However, the problem always occurs in the same section of my application, so > I can at least > describe that section of my application. (I'll do so in an attachment). > Here is the error I receive on the server side. Sometimes, the CODPNT is 2116 > and the > Error Code Value is 1d, rather than 2114 and e. > 2005-10-05 02:10:23.663 GMT Thread[DRDAConnThread_2,5,main] (DATABASE = > BuildFar > m), (DRDAID = GA0A0026.P7E6-4182154075488704215{136532}), Execution failed > becau > se of a Distributed Protocol Error: DRDA_Proto_SYNTAXRM; CODPNT arg = 2114; > Er > ror Code Value = e > Execution failed because of a Distributed Protocol Error: > DRDA_Proto_SYNTAXRM; > CODPNT arg = 2114; Error Code Value = e > 2005-10-05 02:10:23.663 GMT Thread[DRDAConnThread_2,5,main] (DATABASE = > BuildFar > m), (DRDAID = GA0A0026.P7E6-4182154075488704215{136532}), null > null > org.apache.derby.impl.drda.DRDAProtocolException > at org.apache.derby.impl.drda.DRDAConnThread.throwSyntaxrm(Unknown > Sourc > e) > at org.apache.derby.impl.drda.DRDAConnThread.missingCodePoint(Unknown > So > urce) > at org.apache.derby.impl.drda.DRDAConnThread.parseCNTQRY(Unknown > Source) > at org.apache.derby.impl.drda.DRDAConnThread.splitQRYDTA(Unknown > Source) > at org.apache.derby.impl.drda.DRDAConnThread.writeFDODTA(Unknown > Source) > at org.apache.derby.impl.drda.DRDAConnThread.writeQRYDTA(Unknown > Source) > at org.apache.derby.impl.drda.DRDAConnThread.processCommands(Unknown > Sou > rce) > at org.apache.derby.impl.drda.DRDAConnThread.run(Unknown Source) -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
