You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Arnaud Simon (JIRA)" <qp...@incubator.apache.org> on 2008/08/18 16:27:44 UTC

[jira] Created: (QPID-1251) IO transport does not cleanly close on Windows

IO transport does not cleanly close on Windows
----------------------------------------------

                 Key: QPID-1251
                 URL: https://issues.apache.org/jira/browse/QPID-1251
             Project: Qpid
          Issue Type: Bug
          Components: Java Client
    Affects Versions: M3
         Environment: Windows
            Reporter: Arnaud Simon
             Fix For: M3


Description: 
There is an issue on Windows platform with the io transport as socket.shutdownInput() does not result of the reader getting an EOF. This means that the IOReceiver thread does not terminate as expected and the main thread does not join. This prevents the protocol version switching mechanism to work.  

Solution:
We will be using a new nio transport that should solve this issue. I would therefore suggest that we only provide a simple mechanism for selecting the default version used and tell Windows users to set it to 0.9 when using the current java broker. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Reopened: (QPID-1251) IO transport does not cleanly close on Windows

Posted by "Marnie McCormack (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1251?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marnie McCormack reopened QPID-1251:
------------------------------------

      Assignee: Rob Godfrey  (was: Arnaud Simon)

This is a showstopper as currently trunk Java clients cannot connect to the trunk Java broker on Windows. An exception is thrown on the closed socket and then the client hangs. Protocol negotiation cannot work as the socket has been closed. This is a major issue for M4.

> IO transport does not cleanly close on Windows
> ----------------------------------------------
>
>                 Key: QPID-1251
>                 URL: https://issues.apache.org/jira/browse/QPID-1251
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: M3
>         Environment: Windows
>            Reporter: Arnaud Simon
>            Assignee: Rob Godfrey
>            Priority: Critical
>             Fix For: M3
>
>
> Description: 
> There is an issue on Windows platform with the io transport as socket.shutdownInput() does not result of the reader getting an EOF. This means that the IOReceiver thread does not terminate as expected and the main thread does not join. This prevents the protocol version switching mechanism to work.  
> Solution:
> We will be using a new nio transport that should solve this issue. I would therefore suggest that we only provide a simple mechanism for selecting the default version used and tell Windows users to set it to 0.9 when using the current java broker. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (QPID-1251) IO transport does not cleanly close on Windows

Posted by "Rob Godfrey (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1251?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rob Godfrey reassigned QPID-1251:
---------------------------------

    Assignee: Marnie McCormack  (was: Rob Godfrey)

> IO transport does not cleanly close on Windows
> ----------------------------------------------
>
>                 Key: QPID-1251
>                 URL: https://issues.apache.org/jira/browse/QPID-1251
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: M3
>         Environment: Windows
>            Reporter: Arnaud Simon
>            Assignee: Marnie McCormack
>            Priority: Blocker
>             Fix For: M4
>
>         Attachments: QPID-1251.patch
>
>
> Description: 
> There is an issue on Windows platform with the io transport as socket.shutdownInput() does not result of the reader getting an EOF. This means that the IOReceiver thread does not terminate as expected and the main thread does not join. This prevents the protocol version switching mechanism to work.  
> Solution:
> We will be using a new nio transport that should solve this issue. I would therefore suggest that we only provide a simple mechanism for selecting the default version used and tell Windows users to set it to 0.9 when using the current java broker. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (QPID-1251) IO transport does not cleanly close on Windows

Posted by "Rob Godfrey (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12650177#action_12650177 ] 

Rob Godfrey commented on QPID-1251:
-----------------------------------

other than having the { on the same line as try; I think the code is fine.

It should be safe to swallow version negotiation exceptions here.

Would obviously like to see some (unit) tests that expose the issue if poss 

> IO transport does not cleanly close on Windows
> ----------------------------------------------
>
>                 Key: QPID-1251
>                 URL: https://issues.apache.org/jira/browse/QPID-1251
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: M3
>         Environment: Windows
>            Reporter: Arnaud Simon
>            Assignee: Rob Godfrey
>            Priority: Blocker
>             Fix For: M4
>
>         Attachments: QPID-1251.patch
>
>
> Description: 
> There is an issue on Windows platform with the io transport as socket.shutdownInput() does not result of the reader getting an EOF. This means that the IOReceiver thread does not terminate as expected and the main thread does not join. This prevents the protocol version switching mechanism to work.  
> Solution:
> We will be using a new nio transport that should solve this issue. I would therefore suggest that we only provide a simple mechanism for selecting the default version used and tell Windows users to set it to 0.9 when using the current java broker. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (QPID-1251) IO transport does not cleanly close on Windows

Posted by "Marnie McCormack (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1251?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marnie McCormack updated QPID-1251:
-----------------------------------

    Fix Version/s:     (was: M3)
                   M4
         Priority: Blocker  (was: Critical)

> IO transport does not cleanly close on Windows
> ----------------------------------------------
>
>                 Key: QPID-1251
>                 URL: https://issues.apache.org/jira/browse/QPID-1251
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: M3
>         Environment: Windows
>            Reporter: Arnaud Simon
>            Assignee: Rob Godfrey
>            Priority: Blocker
>             Fix For: M4
>
>
> Description: 
> There is an issue on Windows platform with the io transport as socket.shutdownInput() does not result of the reader getting an EOF. This means that the IOReceiver thread does not terminate as expected and the main thread does not join. This prevents the protocol version switching mechanism to work.  
> Solution:
> We will be using a new nio transport that should solve this issue. I would therefore suggest that we only provide a simple mechanism for selecting the default version used and tell Windows users to set it to 0.9 when using the current java broker. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (QPID-1251) IO transport does not cleanly close on Windows

Posted by "Marnie McCormack (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1251?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marnie McCormack updated QPID-1251:
-----------------------------------

    Attachment: QPID-1251.patch

Proposed fix for this issue, not beautiful but working. Object now or forever ....

> IO transport does not cleanly close on Windows
> ----------------------------------------------
>
>                 Key: QPID-1251
>                 URL: https://issues.apache.org/jira/browse/QPID-1251
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: M3
>         Environment: Windows
>            Reporter: Arnaud Simon
>            Assignee: Rob Godfrey
>            Priority: Blocker
>             Fix For: M4
>
>         Attachments: QPID-1251.patch
>
>
> Description: 
> There is an issue on Windows platform with the io transport as socket.shutdownInput() does not result of the reader getting an EOF. This means that the IOReceiver thread does not terminate as expected and the main thread does not join. This prevents the protocol version switching mechanism to work.  
> Solution:
> We will be using a new nio transport that should solve this issue. I would therefore suggest that we only provide a simple mechanism for selecting the default version used and tell Windows users to set it to 0.9 when using the current java broker. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (QPID-1251) IO transport does not cleanly close on Windows

Posted by "Arnaud Simon (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1251?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Arnaud Simon resolved QPID-1251.
--------------------------------

    Resolution: Fixed

Revision: 687310

> IO transport does not cleanly close on Windows
> ----------------------------------------------
>
>                 Key: QPID-1251
>                 URL: https://issues.apache.org/jira/browse/QPID-1251
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: M3
>         Environment: Windows
>            Reporter: Arnaud Simon
>            Assignee: Arnaud Simon
>            Priority: Critical
>             Fix For: M3
>
>
> Description: 
> There is an issue on Windows platform with the io transport as socket.shutdownInput() does not result of the reader getting an EOF. This means that the IOReceiver thread does not terminate as expected and the main thread does not join. This prevents the protocol version switching mechanism to work.  
> Solution:
> We will be using a new nio transport that should solve this issue. I would therefore suggest that we only provide a simple mechanism for selecting the default version used and tell Windows users to set it to 0.9 when using the current java broker. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (QPID-1251) IO transport does not cleanly close on Windows

Posted by "Aidan Skinner (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1251?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aidan Skinner updated QPID-1251:
--------------------------------

    Assignee: Arnaud Simon
    Priority: Critical  (was: Major)

> IO transport does not cleanly close on Windows
> ----------------------------------------------
>
>                 Key: QPID-1251
>                 URL: https://issues.apache.org/jira/browse/QPID-1251
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: M3
>         Environment: Windows
>            Reporter: Arnaud Simon
>            Assignee: Arnaud Simon
>            Priority: Critical
>             Fix For: M3
>
>
> Description: 
> There is an issue on Windows platform with the io transport as socket.shutdownInput() does not result of the reader getting an EOF. This means that the IOReceiver thread does not terminate as expected and the main thread does not join. This prevents the protocol version switching mechanism to work.  
> Solution:
> We will be using a new nio transport that should solve this issue. I would therefore suggest that we only provide a simple mechanism for selecting the default version used and tell Windows users to set it to 0.9 when using the current java broker. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (QPID-1251) IO transport does not cleanly close on Windows

Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1251?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Ritchie reassigned QPID-1251:
------------------------------------

    Assignee: Rafael H. Schloming  (was: Martin Ritchie)

Hi Rafi,  Can you please review this change to the transport Connection class and associated test.

Cheers
Martin

> IO transport does not cleanly close on Windows
> ----------------------------------------------
>
>                 Key: QPID-1251
>                 URL: https://issues.apache.org/jira/browse/QPID-1251
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: M3
>         Environment: Windows
>            Reporter: Arnaud Simon
>            Assignee: Rafael H. Schloming
>            Priority: Blocker
>             Fix For: M4
>
>         Attachments: QPID-1251.patch
>
>
> Description: 
> There is an issue on Windows platform with the io transport as socket.shutdownInput() does not result of the reader getting an EOF. This means that the IOReceiver thread does not terminate as expected and the main thread does not join. This prevents the protocol version switching mechanism to work.  
> Solution:
> We will be using a new nio transport that should solve this issue. I would therefore suggest that we only provide a simple mechanism for selecting the default version used and tell Windows users to set it to 0.9 when using the current java broker. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (QPID-1251) IO transport does not cleanly close on Windows

Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1251?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Ritchie updated QPID-1251:
---------------------------------

    Status: Ready To Review  (was: In Progress)

> IO transport does not cleanly close on Windows
> ----------------------------------------------
>
>                 Key: QPID-1251
>                 URL: https://issues.apache.org/jira/browse/QPID-1251
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: M3
>         Environment: Windows
>            Reporter: Arnaud Simon
>            Assignee: Martin Ritchie
>            Priority: Blocker
>             Fix For: M4
>
>         Attachments: QPID-1251.patch
>
>
> Description: 
> There is an issue on Windows platform with the io transport as socket.shutdownInput() does not result of the reader getting an EOF. This means that the IOReceiver thread does not terminate as expected and the main thread does not join. This prevents the protocol version switching mechanism to work.  
> Solution:
> We will be using a new nio transport that should solve this issue. I would therefore suggest that we only provide a simple mechanism for selecting the default version used and tell Windows users to set it to 0.9 when using the current java broker. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (QPID-1251) IO transport does not cleanly close on Windows

Posted by "Marnie McCormack (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1251?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marnie McCormack resolved QPID-1251.
------------------------------------

    Resolution: Fixed

Rob Godfrey reviewed fix.

> IO transport does not cleanly close on Windows
> ----------------------------------------------
>
>                 Key: QPID-1251
>                 URL: https://issues.apache.org/jira/browse/QPID-1251
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: M3
>         Environment: Windows
>            Reporter: Arnaud Simon
>            Assignee: Rafael H. Schloming
>            Priority: Blocker
>             Fix For: M4
>
>         Attachments: QPID-1251.patch
>
>
> Description: 
> There is an issue on Windows platform with the io transport as socket.shutdownInput() does not result of the reader getting an EOF. This means that the IOReceiver thread does not terminate as expected and the main thread does not join. This prevents the protocol version switching mechanism to work.  
> Solution:
> We will be using a new nio transport that should solve this issue. I would therefore suggest that we only provide a simple mechanism for selecting the default version used and tell Windows users to set it to 0.9 when using the current java broker. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (QPID-1251) IO transport does not cleanly close on Windows

Posted by "Arnaud Simon (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12623989#action_12623989 ] 

Arnaud Simon commented on QPID-1251:
------------------------------------

Changed ioReceiver to close the socket on Windows. A release not like this one should be added: 
On windows platforms the following run time exception is thrown and displayed when initiating a connection with an 0.9 broker: 
Exception in thread "IoReceiver - localhost/localhost:5672"
java.lang.RuntimeException: connection closed
                at
org.apache.qpid.nclient.Client1.exception(Client.java:96)

                at
org.apache.qpid.transport.Connection.exception(Connection.java:148)

                at
org.apache.qpid.transport.network.Assembler.exception(Assembler.java:108)

                at
org.apache.qpid.transport.network.InputHandler.exception(InputHandler.java:196)

                at
org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:127)

Caused by: java.net.SocketException: socket closed

                at java.net.SocketInputStream.socketRead0(Native Method)

                at
java.net.SocketInputStream.read(SocketInputStream.java:129)

                at
org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:110)
 
Moreover, when closing JMS connections the JMS exception listener may
receive the following JMS exception: 
javax.jms.JMSException: connection was closed
                at
org.apache.qpid.client.AMQConnectionDelegate_0_10.onClosed(AMQConnectionDelegate_0_10.java:164)

                at org.apache.qpid.nclient.Client
$1.exception(Client.java:92)

                at
org.apache.qpid.transport.Connection.exception(Connection.java:148)

                at
org.apache.qpid.transport.network.Assembler.exception(Assembler.java:108)

                at
org.apache.qpid.transport.network.InputHandler.exception(InputHandler.java:196)

                at
org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:127)

Caused by: java.net.SocketException: socket closed

                at java.net.SocketInputStream.socketRead0(Native Method)

                at
java.net.SocketInputStream.read(SocketInputStream.java:129)

                at
org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:110)


> IO transport does not cleanly close on Windows
> ----------------------------------------------
>
>                 Key: QPID-1251
>                 URL: https://issues.apache.org/jira/browse/QPID-1251
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: M3
>         Environment: Windows
>            Reporter: Arnaud Simon
>            Assignee: Arnaud Simon
>            Priority: Critical
>             Fix For: M3
>
>
> Description: 
> There is an issue on Windows platform with the io transport as socket.shutdownInput() does not result of the reader getting an EOF. This means that the IOReceiver thread does not terminate as expected and the main thread does not join. This prevents the protocol version switching mechanism to work.  
> Solution:
> We will be using a new nio transport that should solve this issue. I would therefore suggest that we only provide a simple mechanism for selecting the default version used and tell Windows users to set it to 0.9 when using the current java broker. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (QPID-1251) IO transport does not cleanly close on Windows

Posted by "Arnaud Simon (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12623584#action_12623584 ] 

Arnaud Simon commented on QPID-1251:
------------------------------------

I am not sure we should write platform specific code. We should make the decision of closing the socket on all platforms and live with the reported exception. 
Note that one objection in closing the socket was that the writer may still be in the middle of sending bytes but this situation couldn't happen as this is the IOsender that closes the IOreceiver. 

> IO transport does not cleanly close on Windows
> ----------------------------------------------
>
>                 Key: QPID-1251
>                 URL: https://issues.apache.org/jira/browse/QPID-1251
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: M3
>         Environment: Windows
>            Reporter: Arnaud Simon
>             Fix For: M3
>
>
> Description: 
> There is an issue on Windows platform with the io transport as socket.shutdownInput() does not result of the reader getting an EOF. This means that the IOReceiver thread does not terminate as expected and the main thread does not join. This prevents the protocol version switching mechanism to work.  
> Solution:
> We will be using a new nio transport that should solve this issue. I would therefore suggest that we only provide a simple mechanism for selecting the default version used and tell Windows users to set it to 0.9 when using the current java broker. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (QPID-1251) IO transport does not cleanly close on Windows

Posted by "Marnie McCormack (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12649695#action_12649695 ] 

Marnie McCormack commented on QPID-1251:
----------------------------------------

Exception being thrown is:

org.apache.qpid.transport.ConnectionException: socket closed
	at org.apache.qpid.transport.Connection.close(Connection.java:477)
	at org.apache.qpid.transport.Connection.connect(Connection.java:184)
	at org.apache.qpid.client.AMQConnectionDelegate_0_10.makeBrokerConnection(AMQConnectionDelegate_0_10.java:149)
	at org.apache.qpid.client.AMQConnection.makeBrokerConnection(AMQConnection.java:629)
	at org.apache.qpid.client.AMQConnection.<init>(AMQConnection.java:422)
	at org.apache.qpid.client.AMQConnectionFactory.createConnection(AMQConnectionFactory.java:276)
	at org.apache.qpid.example.subscriber.Subscriber.subscribe(Subscriber.java:125)
	at org.apache.qpid.example.subscriber.SubscriptionWrapper.main(SubscriptionWrapper.java:36)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)

After Arnaud's original changes a RuntimeException was being thrown, with same result i.e. no protocol negotiation. Not sure from JIRA comments whether it was intended that protocol negotiation would not work on Windows with this change ? Think we need to discuss on list to decide how to resolve once Arnaud has had a chance to take a look pls ? Thanks !

> IO transport does not cleanly close on Windows
> ----------------------------------------------
>
>                 Key: QPID-1251
>                 URL: https://issues.apache.org/jira/browse/QPID-1251
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: M3
>         Environment: Windows
>            Reporter: Arnaud Simon
>            Assignee: Rob Godfrey
>            Priority: Critical
>             Fix For: M3
>
>
> Description: 
> There is an issue on Windows platform with the io transport as socket.shutdownInput() does not result of the reader getting an EOF. This means that the IOReceiver thread does not terminate as expected and the main thread does not join. This prevents the protocol version switching mechanism to work.  
> Solution:
> We will be using a new nio transport that should solve this issue. I would therefore suggest that we only provide a simple mechanism for selecting the default version used and tell Windows users to set it to 0.9 when using the current java broker. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (QPID-1251) IO transport does not cleanly close on Windows

Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1251?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Ritchie reassigned QPID-1251:
------------------------------------

    Assignee: Martin Ritchie  (was: Marnie McCormack)

> IO transport does not cleanly close on Windows
> ----------------------------------------------
>
>                 Key: QPID-1251
>                 URL: https://issues.apache.org/jira/browse/QPID-1251
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: M3
>         Environment: Windows
>            Reporter: Arnaud Simon
>            Assignee: Martin Ritchie
>            Priority: Blocker
>             Fix For: M4
>
>         Attachments: QPID-1251.patch
>
>
> Description: 
> There is an issue on Windows platform with the io transport as socket.shutdownInput() does not result of the reader getting an EOF. This means that the IOReceiver thread does not terminate as expected and the main thread does not join. This prevents the protocol version switching mechanism to work.  
> Solution:
> We will be using a new nio transport that should solve this issue. I would therefore suggest that we only provide a simple mechanism for selecting the default version used and tell Windows users to set it to 0.9 when using the current java broker. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (QPID-1251) IO transport does not cleanly close on Windows

Posted by "Aidan Skinner (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12623369#action_12623369 ] 

Aidan Skinner commented on QPID-1251:
-------------------------------------

  [4:07 pm] partychat0  ["rhs"] I think the safest thing to do is have IoSender replace the socket.shutdownInput() with a socket.close() on windows only. 
 [4:07 pm] partychat0  ["rhs"] IoReceiver rather. 
 [4:07 pm] partychat0  ["rhs"] This will cause spurious exceptions to be reported. 
 [4:07 pm] partychat0  ["rhs"] But I'd rather report spurious exceptions than swallow non spurious ones. 
 [4:08 pm] aidan.x.skinner  basically close() would always throw something?
  [4:09 pm] partychat0  ["rhs"] I think the exception would probably be reported to the connection's exception listener actually. 
 [4:10 pm] partychat0  ["rhs"] Assuming one is set. 
 [4:10 pm] aidan.x.skinner  that's not too bad
 [4:11 pm] partychat0  ["rhs"] But it would probably be best to just try it and see what happens. 


> IO transport does not cleanly close on Windows
> ----------------------------------------------
>
>                 Key: QPID-1251
>                 URL: https://issues.apache.org/jira/browse/QPID-1251
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: M3
>         Environment: Windows
>            Reporter: Arnaud Simon
>             Fix For: M3
>
>
> Description: 
> There is an issue on Windows platform with the io transport as socket.shutdownInput() does not result of the reader getting an EOF. This means that the IOReceiver thread does not terminate as expected and the main thread does not join. This prevents the protocol version switching mechanism to work.  
> Solution:
> We will be using a new nio transport that should solve this issue. I would therefore suggest that we only provide a simple mechanism for selecting the default version used and tell Windows users to set it to 0.9 when using the current java broker. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.