db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mamta A. Satoor (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-3644) NetworkServerControl.ping() on trunk against 10.3.2.1 and older servers give 'DRDA_InvalidReplyHeader2.S:Invalid reply header from network server: Invalid string . Plaintext connection attempt to an SSL enabled server?'
Date Thu, 26 Aug 2010 21:20:54 GMT

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

Mamta A. Satoor commented on DERBY-3644:
----------------------------------------

I debugged the code a little and found that the reason behind the errors we see is that with
DERBY-2109 , the protocol version has been bumped up to reflect the change in the syntax of
shutdown. During the handshake between client and server, client writes down what protocol
version it has. The server on the receiving end finds that the protocol does not match and
it throws an exception, This is why, even though, DERBY-2109 only changed shutdown, we see
the impact for commands like ping too. 

I experimented by resetting the protocol version back to it's original value prior to DERBY-2109.
This ofcourse fixes commands like ping coming from trunk to 10.3 server because now server
and client are the same protocol version. But this does impact shutdown. Following is the
observation with shutdown.
There are 2 possible scenarios for client and server
1)Network Server started with 10.3 codeline(does not have DERBY-2109 fix) and client running
with trunk codeline(does have DERBY-2109 fix)
2)Network Server started with trunk and client running with 10.3 codeline

The current behavior of the codelines for the above 2 cases is as follows(ie when trunk is
at higher protocol version than 10.3)
    1)Gives error on both client and server side
          Client error : Thu Aug 26 11:27:45 PDT 2010 : Invalid reply header from network
server: Invalid string Plaintext connection attempt to an SSL enabled server?
          Server error : DRDA_UnknownProtocol.S, <2> java.lang.Throwable: DRDA_UnknownProtocol.S,
<2>
    2)10,3 client hangs when shutdown is issues by it. Ctrl-C out of that client and get following
error on server side
          Server error : Execution failed because of a Distributed Protocol Error:  DRDA_Disconnect;
CODPNT arg  = 0; Error Code Value = 0,DDMReader.fill(),InputStream.read(),Connection reset,*

With the experiment I mentioned above, ie the trunk does not change the protocol level and
stays at the same level as DERBY-2109. With this change, the above 2 cases behave as follows
    1)No error any more for this case because both client and server are at the same protocol
level
    2)This case contrinues to behave the same, ie 10.3 client hangs when it issues shutdown
for network server started by trunk codeline with my changes
          Ctrl-C out of that client and get following error on server side
          Server error : Execution failed because of a Distributed Protocol Error:  DRDA_Disconnect;
CODPNT arg  = 0; Error Code Value = 0,DDMReader.fill(),InputStream.read(),Connection reset,*

BTW, I tested all the options on NetworkServerControl as listed below after resetting the
protocol level and everything with the exception of shutdown(more infor on shutdown in the
earlier paragraphs) worked fine with server at 10.3 level and client at trunk and vice versa
	{"start","shutdown","trace","tracedirectory","ping","logconnections", "sysinfo", "runtimeinfo",
 "maxthreads", "timeslice", ""};


We could go ahead and change the protocol back to pre-DERBY-2109 level because even though
DERBY-2109 bumped up the protocol, it didn't provide any work to ensure the compatibility
between different protocol versions. 
2 possible solutions I think can of at this point are
1)Revert the protocol back to pre-DERBY-2109. This fixes DERBY-3644 and improves the behavior
for Network Server with 10,3 and shutdown coming from trunk. This work is obviosly very easy.
2)Change the trunk to be able to handle different protocol level rather than throw error when
non-matching protocol is detected. This work is more involved and will not fix DERBY-3644
for existing released products.


> NetworkServerControl.ping() on trunk against 10.3.2.1 and older servers give 'DRDA_InvalidReplyHeader2.S:Invalid
reply header from network server: Invalid string . Plaintext connection attempt to an SSL
enabled server?'
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3644
>                 URL: https://issues.apache.org/jira/browse/DERBY-3644
>             Project: Derby
>          Issue Type: Bug
>          Components: Network Server
>    Affects Versions: 10.4.1.3, 10.4.2.0, 10.5.1.1
>         Environment: All
>            Reporter: Ole Solberg
>
> Since 2008-02-29 r632502(DERBY-2109) the compatibility tests run on trunk has reported
> 'DRDA_InvalidReplyHeader2.S:Invalid reply header from network server: Invalid string
. Plaintext connection attempt to an SSL enabled server?'
> when doing NetworkServerControl.ping() on trunk against 10.3.2.1 and older servers.
> Is this a regression or according to spec?
> The compatibility test itself, i.e. the client-server testing is OK.

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