[jira] [Commented] (THRIFT-3000) .NET implementation has trouble with mixed IP modes
[ https://issues.apache.org/jira/browse/THRIFT-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15844195#comment-15844195 ] ASF GitHub Bot commented on THRIFT-3000: Github user jeking3 commented on the issue: https://github.com/apache/thrift/pull/1167 I fixed the build job #17 issue with THRIFT-4044 so you can merge this or rebase to get a clean build first. > .NET implementation has trouble with mixed IP modes > --- > > Key: THRIFT-3000 > URL: https://issues.apache.org/jira/browse/THRIFT-3000 > Project: Thrift > Issue Type: Bug > Components: C# - Library >Affects Versions: 0.9.2, 0.9.3 > Environment: Windows 7 / Windows 8 / Windows 8.1 / .NET 3.5 / .NET > 4.0 / .NET 4.5 >Reporter: Tobias Mundt >Assignee: Jens Geyer >Priority: Minor > > The .NET implementation of TSocket and TServerSocket use the .NET class > TcpClient and TcpListener. When creating instances of theses classes the .NET > framework estabiles either an IPv4 or an IPv6 lsitener/client depending on > the order of network protocols set in the control center for the network > adapter. Mention that only the first type of protocol is used not both. > Microsoft switched the default order og ipv4 over ipv6 in windows 7 to ipv6 > over ipv4 in windows 8 and 8.1. That means that a thrift component on a win > 7 machine can not talk to the same component on a win 8 machine since they > fired of different listeners. > When upgrading to .NET 4.5 this can be solved by setting the DualMode=true > flag on the TcpListener.Server and the TcpClient.Client sockets. Since > DualMode is not supported in Mono as of February 2015. The patch can not be > applied. > Another possible solutions would be to get the configuration of the network > protocol order manually and apply the approvriate ip protocol by hand. > Yet a third possibility would by to add a parameter to the TSocket and > TServerSocket constructors to let the user choose the behaviour of the > TcpListener and TcpClient > This problem was attmepted to be solved in the pull request > https://github.com/apache/thrift/pull/377 which was rejected due to mono > incompatibility -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-3000) .NET implementation has trouble with mixed IP modes
[ https://issues.apache.org/jira/browse/THRIFT-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15844175#comment-15844175 ] ASF GitHub Bot commented on THRIFT-3000: GitHub user Jens-G opened a pull request: https://github.com/apache/thrift/pull/1167 THRIFT-3000 .NET implementation has trouble with mixed IP modes Client: C# Patch: Jens Geyer, based on https://github.com/apache/thrift/pull/377 You can merge this pull request into a Git repository by running: $ git pull https://github.com/Jens-G/thrift THRIFT-3000 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/thrift/pull/1167.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1167 commit 6388ef289c59b21d0f57119127e6e2a1f868669b Author: Jens Geyer Date: 2017-01-28T18:53:28Z THRIFT-3000 .NET implementation has trouble with mixed IP modes Client: C# Patch: Jens Geyer, based on https://github.com/apache/thrift/pull/377 > .NET implementation has trouble with mixed IP modes > --- > > Key: THRIFT-3000 > URL: https://issues.apache.org/jira/browse/THRIFT-3000 > Project: Thrift > Issue Type: Bug > Components: C# - Library >Affects Versions: 0.9.2, 0.9.3 > Environment: Windows 7 / Windows 8 / Windows 8.1 / .NET 3.5 / .NET > 4.0 / .NET 4.5 >Reporter: Tobias Mundt >Assignee: Jens Geyer >Priority: Minor > > The .NET implementation of TSocket and TServerSocket use the .NET class > TcpClient and TcpListener. When creating instances of theses classes the .NET > framework estabiles either an IPv4 or an IPv6 lsitener/client depending on > the order of network protocols set in the control center for the network > adapter. Mention that only the first type of protocol is used not both. > Microsoft switched the default order og ipv4 over ipv6 in windows 7 to ipv6 > over ipv4 in windows 8 and 8.1. That means that a thrift component on a win > 7 machine can not talk to the same component on a win 8 machine since they > fired of different listeners. > When upgrading to .NET 4.5 this can be solved by setting the DualMode=true > flag on the TcpListener.Server and the TcpClient.Client sockets. Since > DualMode is not supported in Mono as of February 2015. The patch can not be > applied. > Another possible solutions would be to get the configuration of the network > protocol order manually and apply the approvriate ip protocol by hand. > Yet a third possibility would by to add a parameter to the TSocket and > TServerSocket constructors to let the user choose the behaviour of the > TcpListener and TcpClient > This problem was attmepted to be solved in the pull request > https://github.com/apache/thrift/pull/377 which was rejected due to mono > incompatibility -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-3000) .NET implementation has trouble with mixed IP modes
[ https://issues.apache.org/jira/browse/THRIFT-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15832915#comment-15832915 ] Jens Geyer commented on THRIFT-3000: You're probably right. Only caveat is mono, I'll have to check that. Since the oroiginal patch authors seem not to be interested in this anymore (too bad), I'll take it over and try to find a solution. Thanks for the heads up, that one is really nagging for a long time now. > .NET implementation has trouble with mixed IP modes > --- > > Key: THRIFT-3000 > URL: https://issues.apache.org/jira/browse/THRIFT-3000 > Project: Thrift > Issue Type: Bug > Components: C# - Library >Affects Versions: 0.9.2, 0.9.3 > Environment: Windows 7 / Windows 8 / Windows 8.1 / .NET 3.5 / .NET > 4.0 / .NET 4.5 >Reporter: Tobias Mundt >Assignee: Jens Geyer >Priority: Minor > > The .NET implementation of TSocket and TServerSocket use the .NET class > TcpClient and TcpListener. When creating instances of theses classes the .NET > framework estabiles either an IPv4 or an IPv6 lsitener/client depending on > the order of network protocols set in the control center for the network > adapter. Mention that only the first type of protocol is used not both. > Microsoft switched the default order og ipv4 over ipv6 in windows 7 to ipv6 > over ipv4 in windows 8 and 8.1. That means that a thrift component on a win > 7 machine can not talk to the same component on a win 8 machine since they > fired of different listeners. > When upgrading to .NET 4.5 this can be solved by setting the DualMode=true > flag on the TcpListener.Server and the TcpClient.Client sockets. Since > DualMode is not supported in Mono as of February 2015. The patch can not be > applied. > Another possible solutions would be to get the configuration of the network > protocol order manually and apply the approvriate ip protocol by hand. > Yet a third possibility would by to add a parameter to the TSocket and > TServerSocket constructors to let the user choose the behaviour of the > TcpListener and TcpClient > This problem was attmepted to be solved in the pull request > https://github.com/apache/thrift/pull/377 which was rejected due to mono > incompatibility -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-3000) .NET implementation has trouble with mixed IP modes
[ https://issues.apache.org/jira/browse/THRIFT-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15832345#comment-15832345 ] James E. King, III commented on THRIFT-3000: I would be okay supporting .NET 4.5 and .NET Core in 0.11.0. Folks can use older .NET with 0.10.0 and even older with 0.8.0. > .NET implementation has trouble with mixed IP modes > --- > > Key: THRIFT-3000 > URL: https://issues.apache.org/jira/browse/THRIFT-3000 > Project: Thrift > Issue Type: Bug > Components: C# - Library >Affects Versions: 0.9.2, 0.9.3 > Environment: Windows 7 / Windows 8 / Windows 8.1 / .NET 3.5 / .NET > 4.0 / .NET 4.5 >Reporter: Tobias Mundt >Assignee: Jens Geyer >Priority: Minor > > The .NET implementation of TSocket and TServerSocket use the .NET class > TcpClient and TcpListener. When creating instances of theses classes the .NET > framework estabiles either an IPv4 or an IPv6 lsitener/client depending on > the order of network protocols set in the control center for the network > adapter. Mention that only the first type of protocol is used not both. > Microsoft switched the default order og ipv4 over ipv6 in windows 7 to ipv6 > over ipv4 in windows 8 and 8.1. That means that a thrift component on a win > 7 machine can not talk to the same component on a win 8 machine since they > fired of different listeners. > When upgrading to .NET 4.5 this can be solved by setting the DualMode=true > flag on the TcpListener.Server and the TcpClient.Client sockets. Since > DualMode is not supported in Mono as of February 2015. The patch can not be > applied. > Another possible solutions would be to get the configuration of the network > protocol order manually and apply the approvriate ip protocol by hand. > Yet a third possibility would by to add a parameter to the TSocket and > TServerSocket constructors to let the user choose the behaviour of the > TcpListener and TcpClient > This problem was attmepted to be solved in the pull request > https://github.com/apache/thrift/pull/377 which was rejected due to mono > incompatibility -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-3000) .NET implementation has trouble with mixed IP modes
[ https://issues.apache.org/jira/browse/THRIFT-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15090640#comment-15090640 ] Jens Geyer commented on THRIFT-3000: @[~jking3] What do you think? Any changes in your opinion since last April? https://support.microsoft.com/en-us/kb/2696944 In my opinion, if it is only for old projects, nobody prevents them from using Thrift 0.9.3 or earlier. For the newer versions we should try to focus on more recent versions and - if necessary - do the cut and remove support for older ones when it gets too cumbersome. If supporting 3.x (and maybe 4.0) is still an issue, then I'd vote for having multiple assemblies as proposed above. @[~daixtrose] & [~shardevel]: Would you mind to rebase the original patch (without the reflection stuff added later) against current trunk? Regardless of the outcome, I would like to get this merged soon. One way or another. Thanks! > .NET implementation has trouble with mixed IP modes > --- > > Key: THRIFT-3000 > URL: https://issues.apache.org/jira/browse/THRIFT-3000 > Project: Thrift > Issue Type: Bug > Components: C# - Library >Affects Versions: 0.9.2, 0.9.3 > Environment: Windows 7 / Windows 8 / Windows 8.1 / .NET 3.5 / .NET > 4.0 / .NET 4.5 >Reporter: Tobias Mundt >Assignee: Jens Geyer >Priority: Minor > > The .NET implementation of TSocket and TServerSocket use the .NET class > TcpClient and TcpListener. When creating instances of theses classes the .NET > framework estabiles either an IPv4 or an IPv6 lsitener/client depending on > the order of network protocols set in the control center for the network > adapter. Mention that only the first type of protocol is used not both. > Microsoft switched the default order og ipv4 over ipv6 in windows 7 to ipv6 > over ipv4 in windows 8 and 8.1. That means that a thrift component on a win > 7 machine can not talk to the same component on a win 8 machine since they > fired of different listeners. > When upgrading to .NET 4.5 this can be solved by setting the DualMode=true > flag on the TcpListener.Server and the TcpClient.Client sockets. Since > DualMode is not supported in Mono as of February 2015. The patch can not be > applied. > Another possible solutions would be to get the configuration of the network > protocol order manually and apply the approvriate ip protocol by hand. > Yet a third possibility would by to add a parameter to the TSocket and > TServerSocket constructors to let the user choose the behaviour of the > TcpListener and TcpClient > This problem was attmepted to be solved in the pull request > https://github.com/apache/thrift/pull/377 which was rejected due to mono > incompatibility -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-3000) .NET implementation has trouble with mixed IP modes
[ https://issues.apache.org/jira/browse/THRIFT-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15090433#comment-15090433 ] Aki Sukegawa commented on THRIFT-3000: -- Do we still need .NET 3.5 ? I'm not particularly against having multiple builds but I'm not sure if it's worth keeping. For Mono side, Ubuntu 14.04 has Mono 3.2.8 that had NET 4.5 support for a long time at that time already. We only need to stop installing legacy gmcs script for our CI to get going. For .NET side, Microsoft themselves are going to drop .NET 4.0 in 3 days. http://blogs.msdn.com/b/dotnet/archive/2015/12/09/support-ending-for-the-net-framework-4-4-5-and-4-5-1.aspx (To be clear, .NET 3.5 SP1 is not dropped.) So we can either go with 3.5/4.5 multi-builds or 4.5 single build. BTW, other than this ticket and async, one benefit of newer API is TLS 1.1 / 1.2. Our SSL wrapper currently forces TLS 1.0 because that is the only sane option for .NET 3.5. > .NET implementation has trouble with mixed IP modes > --- > > Key: THRIFT-3000 > URL: https://issues.apache.org/jira/browse/THRIFT-3000 > Project: Thrift > Issue Type: Bug > Components: C# - Library >Affects Versions: 0.9.2, 0.9.3 > Environment: Windows 7 / Windows 8 / Windows 8.1 / .NET 3.5 / .NET > 4.0 / .NET 4.5 >Reporter: Tobias Mundt >Assignee: Jens Geyer >Priority: Minor > > The .NET implementation of TSocket and TServerSocket use the .NET class > TcpClient and TcpListener. When creating instances of theses classes the .NET > framework estabiles either an IPv4 or an IPv6 lsitener/client depending on > the order of network protocols set in the control center for the network > adapter. Mention that only the first type of protocol is used not both. > Microsoft switched the default order og ipv4 over ipv6 in windows 7 to ipv6 > over ipv4 in windows 8 and 8.1. That means that a thrift component on a win > 7 machine can not talk to the same component on a win 8 machine since they > fired of different listeners. > When upgrading to .NET 4.5 this can be solved by setting the DualMode=true > flag on the TcpListener.Server and the TcpClient.Client sockets. Since > DualMode is not supported in Mono as of February 2015. The patch can not be > applied. > Another possible solutions would be to get the configuration of the network > protocol order manually and apply the approvriate ip protocol by hand. > Yet a third possibility would by to add a parameter to the TSocket and > TServerSocket constructors to let the user choose the behaviour of the > TcpListener and TcpClient > This problem was attmepted to be solved in the pull request > https://github.com/apache/thrift/pull/377 which was rejected due to mono > incompatibility -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-3000) .NET implementation has trouble with mixed IP modes
[ https://issues.apache.org/jira/browse/THRIFT-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15090241#comment-15090241 ] Jens Geyer commented on THRIFT-3000: The approach over there in THRIFT-3510 (and my own WP7 creation) brought me to the conclusion, that we probably should have different - and clearly named - C# assemblies for the various supported versions. Of course, we don't need one for /every/ version, only where it makes sense. That would allow to make use of the latest technologies ... - ... while still having fallback options that work with older framework versions -* ... and eliminate the need for crude (and slow) constructs via reflection or the like > .NET implementation has trouble with mixed IP modes > --- > > Key: THRIFT-3000 > URL: https://issues.apache.org/jira/browse/THRIFT-3000 > Project: Thrift > Issue Type: Bug > Components: C# - Library >Affects Versions: 0.9.2, 0.9.3 > Environment: Windows 7 / Windows 8 / Windows 8.1 / .NET 3.5 / .NET > 4.0 / .NET 4.5 >Reporter: Tobias Mundt >Assignee: Jens Geyer >Priority: Minor > > The .NET implementation of TSocket and TServerSocket use the .NET class > TcpClient and TcpListener. When creating instances of theses classes the .NET > framework estabiles either an IPv4 or an IPv6 lsitener/client depending on > the order of network protocols set in the control center for the network > adapter. Mention that only the first type of protocol is used not both. > Microsoft switched the default order og ipv4 over ipv6 in windows 7 to ipv6 > over ipv4 in windows 8 and 8.1. That means that a thrift component on a win > 7 machine can not talk to the same component on a win 8 machine since they > fired of different listeners. > When upgrading to .NET 4.5 this can be solved by setting the DualMode=true > flag on the TcpListener.Server and the TcpClient.Client sockets. Since > DualMode is not supported in Mono as of February 2015. The patch can not be > applied. > Another possible solutions would be to get the configuration of the network > protocol order manually and apply the approvriate ip protocol by hand. > Yet a third possibility would by to add a parameter to the TSocket and > TServerSocket constructors to let the user choose the behaviour of the > TcpListener and TcpClient > This problem was attmepted to be solved in the pull request > https://github.com/apache/thrift/pull/377 which was rejected due to mono > incompatibility -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-3000) .NET implementation has trouble with mixed IP modes
[ https://issues.apache.org/jira/browse/THRIFT-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14616052#comment-14616052 ] ASF GitHub Bot commented on THRIFT-3000: Github user jfarrell commented on the pull request: https://github.com/apache/thrift/pull/450#issuecomment-119044633 we need to transition our jenkins build over to using the docker containers so we have more control over them and then can run whatever we like inside that. on my list for pre 1.0 > .NET implementation has trouble with mixed IP modes > --- > > Key: THRIFT-3000 > URL: https://issues.apache.org/jira/browse/THRIFT-3000 > Project: Thrift > Issue Type: Bug > Components: C# - Library >Affects Versions: 0.9.2, 0.9.3 > Environment: Windows 7 / Windows 8 / Windows 8.1 / .NET 3.5 / .NET > 4.0 / .NET 4.5 >Reporter: Tobias Mundt >Assignee: Jens Geyer >Priority: Minor > Fix For: 0.9.3 > > > The .NET implementation of TSocket and TServerSocket use the .NET class > TcpClient and TcpListener. When creating instances of theses classes the .NET > framework estabiles either an IPv4 or an IPv6 lsitener/client depending on > the order of network protocols set in the control center for the network > adapter. Mention that only the first type of protocol is used not both. > Microsoft switched the default order og ipv4 over ipv6 in windows 7 to ipv6 > over ipv4 in windows 8 and 8.1. That means that a thrift component on a win > 7 machine can not talk to the same component on a win 8 machine since they > fired of different listeners. > When upgrading to .NET 4.5 this can be solved by setting the DualMode=true > flag on the TcpListener.Server and the TcpClient.Client sockets. Since > DualMode is not supported in Mono as of February 2015. The patch can not be > applied. > Another possible solutions would be to get the configuration of the network > protocol order manually and apply the approvriate ip protocol by hand. > Yet a third possibility would by to add a parameter to the TSocket and > TServerSocket constructors to let the user choose the behaviour of the > TcpListener and TcpClient > This problem was attmepted to be solved in the pull request > https://github.com/apache/thrift/pull/377 which was rejected due to mono > incompatibility -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-3000) .NET implementation has trouble with mixed IP modes
[ https://issues.apache.org/jira/browse/THRIFT-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14512296#comment-14512296 ] ASF GitHub Bot commented on THRIFT-3000: Github user Jens-G commented on the pull request: https://github.com/apache/thrift/pull/450#issuecomment-96144653 Von: Aki Sukegawa Gesendet: 25.04.2015 06:13 An: apache/thrift Cc: Jens Geyer Betreff: Re: [thrift] THRIFT-3000 .NET implementation has trouble with mixed IP modes (#450) No, Jenkins not calling cross tests made the difference. In fact, the log shows that Jenkins doesn't even **build** following languages at all (Building : no): * C (GLib) * Ruby * Haxe * Haskell * Erlang * Go * D * NodeJS I couldn't find any evidence of `make check` being run either. I have to say it does not do the job well. The real problem is that Jenkins on Apache servers cannot evolve as fast as the code base because of its closed nature. --- Reply to this email directly or view it on GitHub: https://github.com/apache/thrift/pull/450#issuecomment-96126819 > .NET implementation has trouble with mixed IP modes > --- > > Key: THRIFT-3000 > URL: https://issues.apache.org/jira/browse/THRIFT-3000 > Project: Thrift > Issue Type: Bug > Components: C# - Library >Affects Versions: 0.9.2, 0.9.3 > Environment: Windows 7 / Windows 8 / Windows 8.1 / .NET 3.5 / .NET > 4.0 / .NET 4.5 >Reporter: Tobias Mundt >Assignee: Jens Geyer >Priority: Minor > Fix For: 0.9.3 > > > The .NET implementation of TSocket and TServerSocket use the .NET class > TcpClient and TcpListener. When creating instances of theses classes the .NET > framework estabiles either an IPv4 or an IPv6 lsitener/client depending on > the order of network protocols set in the control center for the network > adapter. Mention that only the first type of protocol is used not both. > Microsoft switched the default order og ipv4 over ipv6 in windows 7 to ipv6 > over ipv4 in windows 8 and 8.1. That means that a thrift component on a win > 7 machine can not talk to the same component on a win 8 machine since they > fired of different listeners. > When upgrading to .NET 4.5 this can be solved by setting the DualMode=true > flag on the TcpListener.Server and the TcpClient.Client sockets. Since > DualMode is not supported in Mono as of February 2015. The patch can not be > applied. > Another possible solutions would be to get the configuration of the network > protocol order manually and apply the approvriate ip protocol by hand. > Yet a third possibility would by to add a parameter to the TSocket and > TServerSocket constructors to let the user choose the behaviour of the > TcpListener and TcpClient > This problem was attmepted to be solved in the pull request > https://github.com/apache/thrift/pull/377 which was rejected due to mono > incompatibility -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-3000) .NET implementation has trouble with mixed IP modes
[ https://issues.apache.org/jira/browse/THRIFT-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14512237#comment-14512237 ] ASF GitHub Bot commented on THRIFT-3000: Github user nsuke commented on the pull request: https://github.com/apache/thrift/pull/450#issuecomment-96126819 No, Jenkins not calling cross tests made the difference. In fact, the log shows that Jenkins doesn't even **build** following languages at all (Building : no): * C (GLib) * Ruby * Haxe * Haskell * Erlang * Go * D * NodeJS I couldn't find any evidence of `make check` being run either. I have to say it does not do the job well. The real problem is that Jenkins on Apache servers cannot evolve as fast as the code base because of its closed nature. > .NET implementation has trouble with mixed IP modes > --- > > Key: THRIFT-3000 > URL: https://issues.apache.org/jira/browse/THRIFT-3000 > Project: Thrift > Issue Type: Bug > Components: C# - Library >Affects Versions: 0.9.2, 0.9.3 > Environment: Windows 7 / Windows 8 / Windows 8.1 / .NET 3.5 / .NET > 4.0 / .NET 4.5 >Reporter: Tobias Mundt >Assignee: Jens Geyer >Priority: Minor > Fix For: 0.9.3 > > > The .NET implementation of TSocket and TServerSocket use the .NET class > TcpClient and TcpListener. When creating instances of theses classes the .NET > framework estabiles either an IPv4 or an IPv6 lsitener/client depending on > the order of network protocols set in the control center for the network > adapter. Mention that only the first type of protocol is used not both. > Microsoft switched the default order og ipv4 over ipv6 in windows 7 to ipv6 > over ipv4 in windows 8 and 8.1. That means that a thrift component on a win > 7 machine can not talk to the same component on a win 8 machine since they > fired of different listeners. > When upgrading to .NET 4.5 this can be solved by setting the DualMode=true > flag on the TcpListener.Server and the TcpClient.Client sockets. Since > DualMode is not supported in Mono as of February 2015. The patch can not be > applied. > Another possible solutions would be to get the configuration of the network > protocol order manually and apply the approvriate ip protocol by hand. > Yet a third possibility would by to add a parameter to the TSocket and > TServerSocket constructors to let the user choose the behaviour of the > TcpListener and TcpClient > This problem was attmepted to be solved in the pull request > https://github.com/apache/thrift/pull/377 which was rejected due to mono > incompatibility -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-3000) .NET implementation has trouble with mixed IP modes
[ https://issues.apache.org/jira/browse/THRIFT-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14511618#comment-14511618 ] ASF GitHub Bot commented on THRIFT-3000: Github user Jens-G commented on the pull request: https://github.com/apache/thrift/pull/450#issuecomment-96044497 They both call the usual suspects: ```bootstrapsh && configure && make &&...``` or ```cmake```. The environment makes the difference. > .NET implementation has trouble with mixed IP modes > --- > > Key: THRIFT-3000 > URL: https://issues.apache.org/jira/browse/THRIFT-3000 > Project: Thrift > Issue Type: Bug > Components: C# - Library >Affects Versions: 0.9.2, 0.9.3 > Environment: Windows 7 / Windows 8 / Windows 8.1 / .NET 3.5 / .NET > 4.0 / .NET 4.5 >Reporter: Tobias Mundt >Assignee: Jens Geyer >Priority: Minor > Fix For: 0.9.3 > > > The .NET implementation of TSocket and TServerSocket use the .NET class > TcpClient and TcpListener. When creating instances of theses classes the .NET > framework estabiles either an IPv4 or an IPv6 lsitener/client depending on > the order of network protocols set in the control center for the network > adapter. Mention that only the first type of protocol is used not both. > Microsoft switched the default order og ipv4 over ipv6 in windows 7 to ipv6 > over ipv4 in windows 8 and 8.1. That means that a thrift component on a win > 7 machine can not talk to the same component on a win 8 machine since they > fired of different listeners. > When upgrading to .NET 4.5 this can be solved by setting the DualMode=true > flag on the TcpListener.Server and the TcpClient.Client sockets. Since > DualMode is not supported in Mono as of February 2015. The patch can not be > applied. > Another possible solutions would be to get the configuration of the network > protocol order manually and apply the approvriate ip protocol by hand. > Yet a third possibility would by to add a parameter to the TSocket and > TServerSocket constructors to let the user choose the behaviour of the > TcpListener and TcpClient > This problem was attmepted to be solved in the pull request > https://github.com/apache/thrift/pull/377 which was rejected due to mono > incompatibility -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-3000) .NET implementation has trouble with mixed IP modes
[ https://issues.apache.org/jira/browse/THRIFT-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14511330#comment-14511330 ] ASF GitHub Bot commented on THRIFT-3000: Github user nsuke commented on the pull request: https://github.com/apache/thrift/pull/450#issuecomment-95990799 How about having unified base for testing ? Can we have build scripts **inside** the repository and invoke them from both Jenkins and Travis/Appveyer ? > .NET implementation has trouble with mixed IP modes > --- > > Key: THRIFT-3000 > URL: https://issues.apache.org/jira/browse/THRIFT-3000 > Project: Thrift > Issue Type: Bug > Components: C# - Library >Affects Versions: 0.9.2, 0.9.3 > Environment: Windows 7 / Windows 8 / Windows 8.1 / .NET 3.5 / .NET > 4.0 / .NET 4.5 >Reporter: Tobias Mundt >Assignee: Jens Geyer >Priority: Minor > Fix For: 0.9.3 > > > The .NET implementation of TSocket and TServerSocket use the .NET class > TcpClient and TcpListener. When creating instances of theses classes the .NET > framework estabiles either an IPv4 or an IPv6 lsitener/client depending on > the order of network protocols set in the control center for the network > adapter. Mention that only the first type of protocol is used not both. > Microsoft switched the default order og ipv4 over ipv6 in windows 7 to ipv6 > over ipv4 in windows 8 and 8.1. That means that a thrift component on a win > 7 machine can not talk to the same component on a win 8 machine since they > fired of different listeners. > When upgrading to .NET 4.5 this can be solved by setting the DualMode=true > flag on the TcpListener.Server and the TcpClient.Client sockets. Since > DualMode is not supported in Mono as of February 2015. The patch can not be > applied. > Another possible solutions would be to get the configuration of the network > protocol order manually and apply the approvriate ip protocol by hand. > Yet a third possibility would by to add a parameter to the TSocket and > TServerSocket constructors to let the user choose the behaviour of the > TcpListener and TcpClient > This problem was attmepted to be solved in the pull request > https://github.com/apache/thrift/pull/377 which was rejected due to mono > incompatibility -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-3000) .NET implementation has trouble with mixed IP modes
[ https://issues.apache.org/jira/browse/THRIFT-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14509834#comment-14509834 ] ASF GitHub Bot commented on THRIFT-3000: Github user Jens-G commented on the pull request: https://github.com/apache/thrift/pull/450#issuecomment-95721575 > IMO, @jeking3's way of being very serious about Travis failure is good way to reduce not only occasional regressions but also maintainers' work. Absolutely. > What is good about Jenkins setups ? That's where the real stuff happens ;-) > .NET implementation has trouble with mixed IP modes > --- > > Key: THRIFT-3000 > URL: https://issues.apache.org/jira/browse/THRIFT-3000 > Project: Thrift > Issue Type: Bug > Components: C# - Library >Affects Versions: 0.9.2, 0.9.3 > Environment: Windows 7 / Windows 8 / Windows 8.1 / .NET 3.5 / .NET > 4.0 / .NET 4.5 >Reporter: Tobias Mundt >Assignee: Jens Geyer >Priority: Minor > Fix For: 0.9.3 > > > The .NET implementation of TSocket and TServerSocket use the .NET class > TcpClient and TcpListener. When creating instances of theses classes the .NET > framework estabiles either an IPv4 or an IPv6 lsitener/client depending on > the order of network protocols set in the control center for the network > adapter. Mention that only the first type of protocol is used not both. > Microsoft switched the default order og ipv4 over ipv6 in windows 7 to ipv6 > over ipv4 in windows 8 and 8.1. That means that a thrift component on a win > 7 machine can not talk to the same component on a win 8 machine since they > fired of different listeners. > When upgrading to .NET 4.5 this can be solved by setting the DualMode=true > flag on the TcpListener.Server and the TcpClient.Client sockets. Since > DualMode is not supported in Mono as of February 2015. The patch can not be > applied. > Another possible solutions would be to get the configuration of the network > protocol order manually and apply the approvriate ip protocol by hand. > Yet a third possibility would by to add a parameter to the TSocket and > TServerSocket constructors to let the user choose the behaviour of the > TcpListener and TcpClient > This problem was attmepted to be solved in the pull request > https://github.com/apache/thrift/pull/377 which was rejected due to mono > incompatibility -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-3000) .NET implementation has trouble with mixed IP modes
[ https://issues.apache.org/jira/browse/THRIFT-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14509830#comment-14509830 ] Hudson commented on THRIFT-3000: SUCCESS: Integrated in Thrift #1516 (See [https://builds.apache.org/job/Thrift/1516/]) Revert "THRIFT-3000 .NET implementation has trouble with mixed IP modes" (jensg: rev 95717c92d8b9f0e081caaca5c67b6ba14a2f4052) * lib/csharp/test/Multiplex/Server/MultiplexServer.csproj * lib/csharp/test/Multiplex/Client/MultiplexClient.csproj * lib/csharp/src/Transport/TServerSocket.cs * lib/csharp/ThriftMSBuildTask/ThriftMSBuildTask.csproj * lib/csharp/Makefile.am * lib/csharp/test/ThriftTest/TestClient.cs * lib/csharp/src/Transport/TSocketVersionizer.cs * lib/csharp/src/Transport/TSocket.cs * lib/csharp/src/Transport/TTransport.cs * lib/csharp/src/Thrift.csproj * lib/csharp/src/Transport/TTLSSocket.cs * lib/csharp/src/Transport/TServerTransport.cs * lib/csharp/test/ThriftTest/ThriftTest.csproj * configure.ac * lib/csharp/src/Transport/TTLSServerSocket.cs > .NET implementation has trouble with mixed IP modes > --- > > Key: THRIFT-3000 > URL: https://issues.apache.org/jira/browse/THRIFT-3000 > Project: Thrift > Issue Type: Bug > Components: C# - Library >Affects Versions: 0.9.2, 0.9.3 > Environment: Windows 7 / Windows 8 / Windows 8.1 / .NET 3.5 / .NET > 4.0 / .NET 4.5 >Reporter: Tobias Mundt >Assignee: Jens Geyer >Priority: Minor > Fix For: 0.9.3 > > > The .NET implementation of TSocket and TServerSocket use the .NET class > TcpClient and TcpListener. When creating instances of theses classes the .NET > framework estabiles either an IPv4 or an IPv6 lsitener/client depending on > the order of network protocols set in the control center for the network > adapter. Mention that only the first type of protocol is used not both. > Microsoft switched the default order og ipv4 over ipv6 in windows 7 to ipv6 > over ipv4 in windows 8 and 8.1. That means that a thrift component on a win > 7 machine can not talk to the same component on a win 8 machine since they > fired of different listeners. > When upgrading to .NET 4.5 this can be solved by setting the DualMode=true > flag on the TcpListener.Server and the TcpClient.Client sockets. Since > DualMode is not supported in Mono as of February 2015. The patch can not be > applied. > Another possible solutions would be to get the configuration of the network > protocol order manually and apply the approvriate ip protocol by hand. > Yet a third possibility would by to add a parameter to the TSocket and > TServerSocket constructors to let the user choose the behaviour of the > TcpListener and TcpClient > This problem was attmepted to be solved in the pull request > https://github.com/apache/thrift/pull/377 which was rejected due to mono > incompatibility -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-3000) .NET implementation has trouble with mixed IP modes
[ https://issues.apache.org/jira/browse/THRIFT-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14509798#comment-14509798 ] Jens Geyer commented on THRIFT-3000: {quote}can you take a look at #459 before reverting?{quote} Yes, I did. Thanks again, but I hoped we can assume .NET 4.5 which we can't. > .NET implementation has trouble with mixed IP modes > --- > > Key: THRIFT-3000 > URL: https://issues.apache.org/jira/browse/THRIFT-3000 > Project: Thrift > Issue Type: Bug > Components: C# - Library >Affects Versions: 0.9.2, 0.9.3 > Environment: Windows 7 / Windows 8 / Windows 8.1 / .NET 3.5 / .NET > 4.0 / .NET 4.5 >Reporter: Tobias Mundt >Assignee: Jens Geyer >Priority: Minor > Fix For: 0.9.3 > > > The .NET implementation of TSocket and TServerSocket use the .NET class > TcpClient and TcpListener. When creating instances of theses classes the .NET > framework estabiles either an IPv4 or an IPv6 lsitener/client depending on > the order of network protocols set in the control center for the network > adapter. Mention that only the first type of protocol is used not both. > Microsoft switched the default order og ipv4 over ipv6 in windows 7 to ipv6 > over ipv4 in windows 8 and 8.1. That means that a thrift component on a win > 7 machine can not talk to the same component on a win 8 machine since they > fired of different listeners. > When upgrading to .NET 4.5 this can be solved by setting the DualMode=true > flag on the TcpListener.Server and the TcpClient.Client sockets. Since > DualMode is not supported in Mono as of February 2015. The patch can not be > applied. > Another possible solutions would be to get the configuration of the network > protocol order manually and apply the approvriate ip protocol by hand. > Yet a third possibility would by to add a parameter to the TSocket and > TServerSocket constructors to let the user choose the behaviour of the > TcpListener and TcpClient > This problem was attmepted to be solved in the pull request > https://github.com/apache/thrift/pull/377 which was rejected due to mono > incompatibility -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-3000) .NET implementation has trouble with mixed IP modes
[ https://issues.apache.org/jira/browse/THRIFT-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14509718#comment-14509718 ] ASF GitHub Bot commented on THRIFT-3000: Github user nsuke commented on the pull request: https://github.com/apache/thrift/pull/450#issuecomment-95710395 @Jens-G, can you take a look at #459 before reverting ? As to the Travis-CI failure, I'm aware that "true" CI is the Jenkins but it would be nice if Travis failures get more attention, because it is easily accessible to all contributors, not only to maintainers. To name a few key differences: * I can run builds and tests on my own Travis-CI account and verify PRs before submitting, not for Jenkins * I can suggest working Travis-CI test changes though PRs but don't know any way to do it for Apache Jenkins servers IMO, @jeking3's way of being very serious about Travis failure is good way to reduce not only occasional regressions but also maintainers' work. What is good about Jenkins setups ? > .NET implementation has trouble with mixed IP modes > --- > > Key: THRIFT-3000 > URL: https://issues.apache.org/jira/browse/THRIFT-3000 > Project: Thrift > Issue Type: Bug > Components: C# - Library >Affects Versions: 0.9.2, 0.9.3 > Environment: Windows 7 / Windows 8 / Windows 8.1 / .NET 3.5 / .NET > 4.0 / .NET 4.5 >Reporter: Tobias Mundt >Assignee: Jens Geyer >Priority: Minor > Fix For: 0.9.3 > > > The .NET implementation of TSocket and TServerSocket use the .NET class > TcpClient and TcpListener. When creating instances of theses classes the .NET > framework estabiles either an IPv4 or an IPv6 lsitener/client depending on > the order of network protocols set in the control center for the network > adapter. Mention that only the first type of protocol is used not both. > Microsoft switched the default order og ipv4 over ipv6 in windows 7 to ipv6 > over ipv4 in windows 8 and 8.1. That means that a thrift component on a win > 7 machine can not talk to the same component on a win 8 machine since they > fired of different listeners. > When upgrading to .NET 4.5 this can be solved by setting the DualMode=true > flag on the TcpListener.Server and the TcpClient.Client sockets. Since > DualMode is not supported in Mono as of February 2015. The patch can not be > applied. > Another possible solutions would be to get the configuration of the network > protocol order manually and apply the approvriate ip protocol by hand. > Yet a third possibility would by to add a parameter to the TSocket and > TServerSocket constructors to let the user choose the behaviour of the > TcpListener and TcpClient > This problem was attmepted to be solved in the pull request > https://github.com/apache/thrift/pull/377 which was rejected due to mono > incompatibility -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-3000) .NET implementation has trouble with mixed IP modes
[ https://issues.apache.org/jira/browse/THRIFT-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14509656#comment-14509656 ] ASF GitHub Bot commented on THRIFT-3000: Github user Jens-G commented on the pull request: https://github.com/apache/thrift/pull/450#issuecomment-95695641 Sure it did: https://builds.apache.org/job/Thrift-Compiler-Windows/ https://builds.apache.org/job/Thrift/ Travis is only an indicator with unfortunalety some limitations. That's not to say that Travis is not a good tool, but it is not the sacred last word either. Anyway, I'm going to revert that one. Seems we need some more work here. > .NET implementation has trouble with mixed IP modes > --- > > Key: THRIFT-3000 > URL: https://issues.apache.org/jira/browse/THRIFT-3000 > Project: Thrift > Issue Type: Bug > Components: C# - Library >Affects Versions: 0.9.2, 0.9.3 > Environment: Windows 7 / Windows 8 / Windows 8.1 / .NET 3.5 / .NET > 4.0 / .NET 4.5 >Reporter: Tobias Mundt >Assignee: Jens Geyer >Priority: Minor > Fix For: 0.9.3 > > > The .NET implementation of TSocket and TServerSocket use the .NET class > TcpClient and TcpListener. When creating instances of theses classes the .NET > framework estabiles either an IPv4 or an IPv6 lsitener/client depending on > the order of network protocols set in the control center for the network > adapter. Mention that only the first type of protocol is used not both. > Microsoft switched the default order og ipv4 over ipv6 in windows 7 to ipv6 > over ipv4 in windows 8 and 8.1. That means that a thrift component on a win > 7 machine can not talk to the same component on a win 8 machine since they > fired of different listeners. > When upgrading to .NET 4.5 this can be solved by setting the DualMode=true > flag on the TcpListener.Server and the TcpClient.Client sockets. Since > DualMode is not supported in Mono as of February 2015. The patch can not be > applied. > Another possible solutions would be to get the configuration of the network > protocol order manually and apply the approvriate ip protocol by hand. > Yet a third possibility would by to add a parameter to the TSocket and > TServerSocket constructors to let the user choose the behaviour of the > TcpListener and TcpClient > This problem was attmepted to be solved in the pull request > https://github.com/apache/thrift/pull/377 which was rejected due to mono > incompatibility -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-3000) .NET implementation has trouble with mixed IP modes
[ https://issues.apache.org/jira/browse/THRIFT-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14509348#comment-14509348 ] James E. King, III commented on THRIFT-3000: All of the CI builds in Travis for this changeset failed. It looks like a process violation for us to commit the code knowing that it fails to pass all required CI jobs. > .NET implementation has trouble with mixed IP modes > --- > > Key: THRIFT-3000 > URL: https://issues.apache.org/jira/browse/THRIFT-3000 > Project: Thrift > Issue Type: Bug > Components: C# - Library >Affects Versions: 0.9.2, 0.9.3 > Environment: Windows 7 / Windows 8 / Windows 8.1 / .NET 3.5 / .NET > 4.0 / .NET 4.5 >Reporter: Tobias Mundt >Assignee: Jens Geyer >Priority: Minor > Fix For: 0.9.3 > > > The .NET implementation of TSocket and TServerSocket use the .NET class > TcpClient and TcpListener. When creating instances of theses classes the .NET > framework estabiles either an IPv4 or an IPv6 lsitener/client depending on > the order of network protocols set in the control center for the network > adapter. Mention that only the first type of protocol is used not both. > Microsoft switched the default order og ipv4 over ipv6 in windows 7 to ipv6 > over ipv4 in windows 8 and 8.1. That means that a thrift component on a win > 7 machine can not talk to the same component on a win 8 machine since they > fired of different listeners. > When upgrading to .NET 4.5 this can be solved by setting the DualMode=true > flag on the TcpListener.Server and the TcpClient.Client sockets. Since > DualMode is not supported in Mono as of February 2015. The patch can not be > applied. > Another possible solutions would be to get the configuration of the network > protocol order manually and apply the approvriate ip protocol by hand. > Yet a third possibility would by to add a parameter to the TSocket and > TServerSocket constructors to let the user choose the behaviour of the > TcpListener and TcpClient > This problem was attmepted to be solved in the pull request > https://github.com/apache/thrift/pull/377 which was rejected due to mono > incompatibility -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-3000) .NET implementation has trouble with mixed IP modes
[ https://issues.apache.org/jira/browse/THRIFT-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14509345#comment-14509345 ] James E. King, III commented on THRIFT-3000: I'm concerned that we set the bar way too high on requiring .NET 4.5 here. A project I am involved in still ships thrift with .NET 2.0 but may be able to move to .NET 3.51. > .NET implementation has trouble with mixed IP modes > --- > > Key: THRIFT-3000 > URL: https://issues.apache.org/jira/browse/THRIFT-3000 > Project: Thrift > Issue Type: Bug > Components: C# - Library >Affects Versions: 0.9.2, 0.9.3 > Environment: Windows 7 / Windows 8 / Windows 8.1 / .NET 3.5 / .NET > 4.0 / .NET 4.5 >Reporter: Tobias Mundt >Assignee: Jens Geyer >Priority: Minor > Fix For: 0.9.3 > > > The .NET implementation of TSocket and TServerSocket use the .NET class > TcpClient and TcpListener. When creating instances of theses classes the .NET > framework estabiles either an IPv4 or an IPv6 lsitener/client depending on > the order of network protocols set in the control center for the network > adapter. Mention that only the first type of protocol is used not both. > Microsoft switched the default order og ipv4 over ipv6 in windows 7 to ipv6 > over ipv4 in windows 8 and 8.1. That means that a thrift component on a win > 7 machine can not talk to the same component on a win 8 machine since they > fired of different listeners. > When upgrading to .NET 4.5 this can be solved by setting the DualMode=true > flag on the TcpListener.Server and the TcpClient.Client sockets. Since > DualMode is not supported in Mono as of February 2015. The patch can not be > applied. > Another possible solutions would be to get the configuration of the network > protocol order manually and apply the approvriate ip protocol by hand. > Yet a third possibility would by to add a parameter to the TSocket and > TServerSocket constructors to let the user choose the behaviour of the > TcpListener and TcpClient > This problem was attmepted to be solved in the pull request > https://github.com/apache/thrift/pull/377 which was rejected due to mono > incompatibility -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-3000) .NET implementation has trouble with mixed IP modes
[ https://issues.apache.org/jira/browse/THRIFT-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14509331#comment-14509331 ] ASF GitHub Bot commented on THRIFT-3000: Github user jeking3 commented on the pull request: https://github.com/apache/thrift/pull/450#issuecomment-95650450 Did this complete a CI build? Someone suggested in analysis of my pull request to THRIFT-2850 that this changeset is the root cause. > .NET implementation has trouble with mixed IP modes > --- > > Key: THRIFT-3000 > URL: https://issues.apache.org/jira/browse/THRIFT-3000 > Project: Thrift > Issue Type: Bug > Components: C# - Library >Affects Versions: 0.9.2, 0.9.3 > Environment: Windows 7 / Windows 8 / Windows 8.1 / .NET 3.5 / .NET > 4.0 / .NET 4.5 >Reporter: Tobias Mundt >Assignee: Jens Geyer >Priority: Minor > Fix For: 0.9.3 > > > The .NET implementation of TSocket and TServerSocket use the .NET class > TcpClient and TcpListener. When creating instances of theses classes the .NET > framework estabiles either an IPv4 or an IPv6 lsitener/client depending on > the order of network protocols set in the control center for the network > adapter. Mention that only the first type of protocol is used not both. > Microsoft switched the default order og ipv4 over ipv6 in windows 7 to ipv6 > over ipv4 in windows 8 and 8.1. That means that a thrift component on a win > 7 machine can not talk to the same component on a win 8 machine since they > fired of different listeners. > When upgrading to .NET 4.5 this can be solved by setting the DualMode=true > flag on the TcpListener.Server and the TcpClient.Client sockets. Since > DualMode is not supported in Mono as of February 2015. The patch can not be > applied. > Another possible solutions would be to get the configuration of the network > protocol order manually and apply the approvriate ip protocol by hand. > Yet a third possibility would by to add a parameter to the TSocket and > TServerSocket constructors to let the user choose the behaviour of the > TcpListener and TcpClient > This problem was attmepted to be solved in the pull request > https://github.com/apache/thrift/pull/377 which was rejected due to mono > incompatibility -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-3000) .NET implementation has trouble with mixed IP modes
[ https://issues.apache.org/jira/browse/THRIFT-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14500892#comment-14500892 ] Hudson commented on THRIFT-3000: SUCCESS: Integrated in Thrift #1513 (See [https://builds.apache.org/job/Thrift/1513/]) THRIFT-3000 .NET implementation has trouble with mixed IP modes (jensg: rev 018c1b8f77e7d69da61014437d5f04fedbaad81d) * lib/csharp/src/Transport/TTLSServerSocket.cs * lib/csharp/src/Transport/TTLSSocket.cs * lib/csharp/src/Transport/TTransport.cs * configure.ac * lib/csharp/test/ThriftTest/ThriftTest.csproj * lib/csharp/src/Thrift.csproj * lib/csharp/ThriftMSBuildTask/ThriftMSBuildTask.csproj * lib/csharp/src/Transport/TServerTransport.cs * lib/csharp/Makefile.am * lib/csharp/test/ThriftTest/TestClient.cs * lib/csharp/src/Transport/TSocket.cs * lib/csharp/test/Multiplex/Client/MultiplexClient.csproj * lib/csharp/src/Transport/TServerSocket.cs * lib/csharp/test/Multiplex/Server/MultiplexServer.csproj * lib/csharp/src/Transport/TSocketVersionizer.cs > .NET implementation has trouble with mixed IP modes > --- > > Key: THRIFT-3000 > URL: https://issues.apache.org/jira/browse/THRIFT-3000 > Project: Thrift > Issue Type: Bug > Components: C# - Library >Affects Versions: 0.9.2, 0.9.3 > Environment: Windows 7 / Windows 8 / Windows 8.1 / .NET 3.5 / .NET > 4.0 / .NET 4.5 >Reporter: Tobias Mundt >Assignee: Jens Geyer >Priority: Minor > Fix For: 0.9.3 > > > The .NET implementation of TSocket and TServerSocket use the .NET class > TcpClient and TcpListener. When creating instances of theses classes the .NET > framework estabiles either an IPv4 or an IPv6 lsitener/client depending on > the order of network protocols set in the control center for the network > adapter. Mention that only the first type of protocol is used not both. > Microsoft switched the default order og ipv4 over ipv6 in windows 7 to ipv6 > over ipv4 in windows 8 and 8.1. That means that a thrift component on a win > 7 machine can not talk to the same component on a win 8 machine since they > fired of different listeners. > When upgrading to .NET 4.5 this can be solved by setting the DualMode=true > flag on the TcpListener.Server and the TcpClient.Client sockets. Since > DualMode is not supported in Mono as of February 2015. The patch can not be > applied. > Another possible solutions would be to get the configuration of the network > protocol order manually and apply the approvriate ip protocol by hand. > Yet a third possibility would by to add a parameter to the TSocket and > TServerSocket constructors to let the user choose the behaviour of the > TcpListener and TcpClient > This problem was attmepted to be solved in the pull request > https://github.com/apache/thrift/pull/377 which was rejected due to mono > incompatibility -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-3000) .NET implementation has trouble with mixed IP modes
[ https://issues.apache.org/jira/browse/THRIFT-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14500848#comment-14500848 ] ASF GitHub Bot commented on THRIFT-3000: Github user asfgit closed the pull request at: https://github.com/apache/thrift/pull/452 > .NET implementation has trouble with mixed IP modes > --- > > Key: THRIFT-3000 > URL: https://issues.apache.org/jira/browse/THRIFT-3000 > Project: Thrift > Issue Type: Bug > Components: C# - Library >Affects Versions: 0.9.2, 0.9.3 > Environment: Windows 7 / Windows 8 / Windows 8.1 / .NET 3.5 / .NET > 4.0 / .NET 4.5 >Reporter: Tobias Mundt >Assignee: Jens Geyer >Priority: Minor > Fix For: 0.9.3 > > > The .NET implementation of TSocket and TServerSocket use the .NET class > TcpClient and TcpListener. When creating instances of theses classes the .NET > framework estabiles either an IPv4 or an IPv6 lsitener/client depending on > the order of network protocols set in the control center for the network > adapter. Mention that only the first type of protocol is used not both. > Microsoft switched the default order og ipv4 over ipv6 in windows 7 to ipv6 > over ipv4 in windows 8 and 8.1. That means that a thrift component on a win > 7 machine can not talk to the same component on a win 8 machine since they > fired of different listeners. > When upgrading to .NET 4.5 this can be solved by setting the DualMode=true > flag on the TcpListener.Server and the TcpClient.Client sockets. Since > DualMode is not supported in Mono as of February 2015. The patch can not be > applied. > Another possible solutions would be to get the configuration of the network > protocol order manually and apply the approvriate ip protocol by hand. > Yet a third possibility would by to add a parameter to the TSocket and > TServerSocket constructors to let the user choose the behaviour of the > TcpListener and TcpClient > This problem was attmepted to be solved in the pull request > https://github.com/apache/thrift/pull/377 which was rejected due to mono > incompatibility -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-3000) .NET implementation has trouble with mixed IP modes
[ https://issues.apache.org/jira/browse/THRIFT-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14500847#comment-14500847 ] ASF GitHub Bot commented on THRIFT-3000: Github user asfgit closed the pull request at: https://github.com/apache/thrift/pull/377 > .NET implementation has trouble with mixed IP modes > --- > > Key: THRIFT-3000 > URL: https://issues.apache.org/jira/browse/THRIFT-3000 > Project: Thrift > Issue Type: Bug > Components: C# - Library >Affects Versions: 0.9.2, 0.9.3 > Environment: Windows 7 / Windows 8 / Windows 8.1 / .NET 3.5 / .NET > 4.0 / .NET 4.5 >Reporter: Tobias Mundt >Assignee: Jens Geyer >Priority: Minor > Fix For: 0.9.3 > > > The .NET implementation of TSocket and TServerSocket use the .NET class > TcpClient and TcpListener. When creating instances of theses classes the .NET > framework estabiles either an IPv4 or an IPv6 lsitener/client depending on > the order of network protocols set in the control center for the network > adapter. Mention that only the first type of protocol is used not both. > Microsoft switched the default order og ipv4 over ipv6 in windows 7 to ipv6 > over ipv4 in windows 8 and 8.1. That means that a thrift component on a win > 7 machine can not talk to the same component on a win 8 machine since they > fired of different listeners. > When upgrading to .NET 4.5 this can be solved by setting the DualMode=true > flag on the TcpListener.Server and the TcpClient.Client sockets. Since > DualMode is not supported in Mono as of February 2015. The patch can not be > applied. > Another possible solutions would be to get the configuration of the network > protocol order manually and apply the approvriate ip protocol by hand. > Yet a third possibility would by to add a parameter to the TSocket and > TServerSocket constructors to let the user choose the behaviour of the > TcpListener and TcpClient > This problem was attmepted to be solved in the pull request > https://github.com/apache/thrift/pull/377 which was rejected due to mono > incompatibility -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-3000) .NET implementation has trouble with mixed IP modes
[ https://issues.apache.org/jira/browse/THRIFT-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14500819#comment-14500819 ] ASF GitHub Bot commented on THRIFT-3000: GitHub user Jens-G opened a pull request: https://github.com/apache/thrift/pull/452 THRIFT-3000 .NET implementation has trouble with mixed IP modes Client: C# Patch: sharpdevel & Jens Geyer TcpListener and TcpClient are created based on the capabilities of the used runtime framework. For windows the changes automatically handle IPv4 and IPv6 sockets. In mono it behaves as before. When using TcpListener and TcpClient it depends on the network configuration if IPv4 or IPv6 is used. By upgrading the framework to .NET 4.5 the DualMode can be set on the sockets of the listener and the client. The sockets then try to establish IPv6 sockets before they fallback to IPv4 You can merge this pull request into a Git repository by running: $ git pull https://github.com/Jens-G/thrift THRIFT-3000-csharp-ipv6 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/thrift/pull/452.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #452 commit af5f3e6052cb9d14b998d36ea7291a92e598c565 Author: Jens Geyer Date: 2015-04-17T18:55:05Z THRIFT-3000 .NET implementation has trouble with mixed IP modes Client: C# Patch: sharpdevel & Jens Geyer TcpListener and TcpClient are created based on the capabilities of the used runtime framework. For windows the changes automatically handle IPv4 and IPv6 sockets. In mono it behaves as before. When using TcpListener and TcpClient it depends on the network configuration if IPv4 or IPv6 is used. By upgrading the framework to .NET 4.5 the DualMode can be set on the sockets of the listener and the client. The sockets then try to establish IPv6 sockets before they fallback to IPv4 > .NET implementation has trouble with mixed IP modes > --- > > Key: THRIFT-3000 > URL: https://issues.apache.org/jira/browse/THRIFT-3000 > Project: Thrift > Issue Type: Bug > Components: C# - Library >Affects Versions: 0.9.2, 0.9.3 > Environment: Windows 7 / Windows 8 / Windows 8.1 / .NET 3.5 / .NET > 4.0 / .NET 4.5 >Reporter: Tobias Mundt >Assignee: Jens Geyer >Priority: Minor > Fix For: 0.9.3 > > > The .NET implementation of TSocket and TServerSocket use the .NET class > TcpClient and TcpListener. When creating instances of theses classes the .NET > framework estabiles either an IPv4 or an IPv6 lsitener/client depending on > the order of network protocols set in the control center for the network > adapter. Mention that only the first type of protocol is used not both. > Microsoft switched the default order og ipv4 over ipv6 in windows 7 to ipv6 > over ipv4 in windows 8 and 8.1. That means that a thrift component on a win > 7 machine can not talk to the same component on a win 8 machine since they > fired of different listeners. > When upgrading to .NET 4.5 this can be solved by setting the DualMode=true > flag on the TcpListener.Server and the TcpClient.Client sockets. Since > DualMode is not supported in Mono as of February 2015. The patch can not be > applied. > Another possible solutions would be to get the configuration of the network > protocol order manually and apply the approvriate ip protocol by hand. > Yet a third possibility would by to add a parameter to the TSocket and > TServerSocket constructors to let the user choose the behaviour of the > TcpListener and TcpClient > This problem was attmepted to be solved in the pull request > https://github.com/apache/thrift/pull/377 which was rejected due to mono > incompatibility -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-3000) .NET implementation has trouble with mixed IP modes
[ https://issues.apache.org/jira/browse/THRIFT-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14500817#comment-14500817 ] ASF GitHub Bot commented on THRIFT-3000: Github user Jens-G closed the pull request at: https://github.com/apache/thrift/pull/450 > .NET implementation has trouble with mixed IP modes > --- > > Key: THRIFT-3000 > URL: https://issues.apache.org/jira/browse/THRIFT-3000 > Project: Thrift > Issue Type: Bug > Components: C# - Library >Affects Versions: 0.9.2, 0.9.3 > Environment: Windows 7 / Windows 8 / Windows 8.1 / .NET 3.5 / .NET > 4.0 / .NET 4.5 >Reporter: Tobias Mundt >Assignee: Jens Geyer >Priority: Minor > Fix For: 0.9.3 > > > The .NET implementation of TSocket and TServerSocket use the .NET class > TcpClient and TcpListener. When creating instances of theses classes the .NET > framework estabiles either an IPv4 or an IPv6 lsitener/client depending on > the order of network protocols set in the control center for the network > adapter. Mention that only the first type of protocol is used not both. > Microsoft switched the default order og ipv4 over ipv6 in windows 7 to ipv6 > over ipv4 in windows 8 and 8.1. That means that a thrift component on a win > 7 machine can not talk to the same component on a win 8 machine since they > fired of different listeners. > When upgrading to .NET 4.5 this can be solved by setting the DualMode=true > flag on the TcpListener.Server and the TcpClient.Client sockets. Since > DualMode is not supported in Mono as of February 2015. The patch can not be > applied. > Another possible solutions would be to get the configuration of the network > protocol order manually and apply the approvriate ip protocol by hand. > Yet a third possibility would by to add a parameter to the TSocket and > TServerSocket constructors to let the user choose the behaviour of the > TcpListener and TcpClient > This problem was attmepted to be solved in the pull request > https://github.com/apache/thrift/pull/377 which was rejected due to mono > incompatibility -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-3000) .NET implementation has trouble with mixed IP modes
[ https://issues.apache.org/jira/browse/THRIFT-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14500793#comment-14500793 ] ASF GitHub Bot commented on THRIFT-3000: GitHub user Jens-G opened a pull request: https://github.com/apache/thrift/pull/450 THRIFT-3000 .NET implementation has trouble with mixed IP modes Client: C# Patch: sharpdevel & Jens Geyer TcpListener and TcpClient are created based on the capabilities of the used runtime framework. For windows the changes automatically handle IPv4 and IPv6 sockets. In mono it behaves as before. When using TcpListener and TcpClient it depends on the network configuration if IPv4 or IPv6 is used. By upgrading the framework to .NET 4.5 the DualMode can be set on the sockets of the listener and the client. The sockets then try to establish IPv6 sockets before they fallback to IPv4 You can merge this pull request into a Git repository by running: $ git pull https://github.com/Jens-G/thrift THRIFT-3000-csharp-ipv6 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/thrift/pull/450.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #450 commit 407f31c83dad5b8bd8502856694e4b20ee1d4200 Author: Jens Geyer Date: 2015-04-17T18:55:05Z THRIFT-3000 .NET implementation has trouble with mixed IP modes Client: C# Patch: sharpdevel & Jens Geyer TcpListener and TcpClient are created based on the capabilities of the used runtime framework. For windows the changes automatically handle IPv4 and IPv6 sockets. In mono it behaves as before. When using TcpListener and TcpClient it depends on the network configuration if IPv4 or IPv6 is used. By upgrading the framework to .NET 4.5 the DualMode can be set on the sockets of the listener and the client. The sockets then try to establish IPv6 sockets before they fallback to IPv4 > .NET implementation has trouble with mixed IP modes > --- > > Key: THRIFT-3000 > URL: https://issues.apache.org/jira/browse/THRIFT-3000 > Project: Thrift > Issue Type: Bug > Components: C# - Library >Affects Versions: 0.9.2, 0.9.3 > Environment: Windows 7 / Windows 8 / Windows 8.1 / .NET 3.5 / .NET > 4.0 / .NET 4.5 >Reporter: Tobias Mundt >Assignee: Jens Geyer >Priority: Minor > Fix For: 0.9.3 > > > The .NET implementation of TSocket and TServerSocket use the .NET class > TcpClient and TcpListener. When creating instances of theses classes the .NET > framework estabiles either an IPv4 or an IPv6 lsitener/client depending on > the order of network protocols set in the control center for the network > adapter. Mention that only the first type of protocol is used not both. > Microsoft switched the default order og ipv4 over ipv6 in windows 7 to ipv6 > over ipv4 in windows 8 and 8.1. That means that a thrift component on a win > 7 machine can not talk to the same component on a win 8 machine since they > fired of different listeners. > When upgrading to .NET 4.5 this can be solved by setting the DualMode=true > flag on the TcpListener.Server and the TcpClient.Client sockets. Since > DualMode is not supported in Mono as of February 2015. The patch can not be > applied. > Another possible solutions would be to get the configuration of the network > protocol order manually and apply the approvriate ip protocol by hand. > Yet a third possibility would by to add a parameter to the TSocket and > TServerSocket constructors to let the user choose the behaviour of the > TcpListener and TcpClient > This problem was attmepted to be solved in the pull request > https://github.com/apache/thrift/pull/377 which was rejected due to mono > incompatibility -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-3000) .NET implementation has trouble with mixed IP modes
[ https://issues.apache.org/jira/browse/THRIFT-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14499412#comment-14499412 ] ASF GitHub Bot commented on THRIFT-3000: Github user sharpdevel commented on the pull request: https://github.com/apache/thrift/pull/377#issuecomment-93936892 I'm afraid I don't know how to reopen this pull request. Do I have to create a new one? I already create a Jira-Ticket https://issues.apache.org/jira/browse/THRIFT-3000. Do I have to recreate that too? > .NET implementation has trouble with mixed IP modes > --- > > Key: THRIFT-3000 > URL: https://issues.apache.org/jira/browse/THRIFT-3000 > Project: Thrift > Issue Type: Bug > Components: C# - Library >Affects Versions: 0.9.2, 0.9.3 > Environment: Windows 7 / Windows 8 / Windows 8.1 / .NET 3.5 / .NET > 4.0 / .NET 4.5 >Reporter: Tobias Mundt >Assignee: Jens Geyer >Priority: Minor > Fix For: 0.9.3 > > > The .NET implementation of TSocket and TServerSocket use the .NET class > TcpClient and TcpListener. When creating instances of theses classes the .NET > framework estabiles either an IPv4 or an IPv6 lsitener/client depending on > the order of network protocols set in the control center for the network > adapter. Mention that only the first type of protocol is used not both. > Microsoft switched the default order og ipv4 over ipv6 in windows 7 to ipv6 > over ipv4 in windows 8 and 8.1. That means that a thrift component on a win > 7 machine can not talk to the same component on a win 8 machine since they > fired of different listeners. > When upgrading to .NET 4.5 this can be solved by setting the DualMode=true > flag on the TcpListener.Server and the TcpClient.Client sockets. Since > DualMode is not supported in Mono as of February 2015. The patch can not be > applied. > Another possible solutions would be to get the configuration of the network > protocol order manually and apply the approvriate ip protocol by hand. > Yet a third possibility would by to add a parameter to the TSocket and > TServerSocket constructors to let the user choose the behaviour of the > TcpListener and TcpClient > This problem was attmepted to be solved in the pull request > https://github.com/apache/thrift/pull/377 which was rejected due to mono > incompatibility -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-3000) .NET implementation has trouble with mixed IP modes
[ https://issues.apache.org/jira/browse/THRIFT-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14326789#comment-14326789 ] Jens Geyer commented on THRIFT-3000: {quote} So it probably makes sense to contact Kei Nakazawa or other Mono Developers and ask whether they made some progress with regard to this issue. {quote} Unfortunately that's not the only benchmark. Just a few numbers: * [Ubuntu 14.01.4 is at Mono 3.2.8|http://packages.ubuntu.com/de/trusty/mono-complete] * openSUSE 13.2 is at Mono 3.8.0 * CentOS ... I don't know, but probably some prehistoric version. Of course, one could [always upgrade|http://www.mono-project.com/docs/getting-started/install/], but these are the versions we actively enforce in the build scripts (not sure how outdated they are): * must have Mono >= 1.2.4 * additional check for Net 3.5 or better > .NET implementation has trouble with mixed IP modes > --- > > Key: THRIFT-3000 > URL: https://issues.apache.org/jira/browse/THRIFT-3000 > Project: Thrift > Issue Type: Bug > Components: C# - Library >Affects Versions: 0.9.2, 0.9.3 > Environment: Windows 7 / Windows 8 / Windows 8.1 / .NET 3.5 / .NET > 4.0 / .NET 4.5 >Reporter: Tobias Mundt >Assignee: Jens Geyer >Priority: Minor > Fix For: 0.9.3 > > > The .NET implementation of TSocket and TServerSocket use the .NET class > TcpClient and TcpListener. When creating instances of theses classes the .NET > framework estabiles either an IPv4 or an IPv6 lsitener/client depending on > the order of network protocols set in the control center for the network > adapter. Mention that only the first type of protocol is used not both. > Microsoft switched the default order og ipv4 over ipv6 in windows 7 to ipv6 > over ipv4 in windows 8 and 8.1. That means that a thrift component on a win > 7 machine can not talk to the same component on a win 8 machine since they > fired of different listeners. > When upgrading to .NET 4.5 this can be solved by setting the DualMode=true > flag on the TcpListener.Server and the TcpClient.Client sockets. Since > DualMode is not supported in Mono as of February 2015. The patch can not be > applied. > Another possible solutions would be to get the configuration of the network > protocol order manually and apply the approvriate ip protocol by hand. > Yet a third possibility would by to add a parameter to the TSocket and > TServerSocket constructors to let the user choose the behaviour of the > TcpListener and TcpClient > This problem was attmepted to be solved in the pull request > https://github.com/apache/thrift/pull/377 which was rejected due to mono > incompatibility -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-3000) .NET implementation has trouble with mixed IP modes
[ https://issues.apache.org/jira/browse/THRIFT-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14324076#comment-14324076 ] Markus W. commented on THRIFT-3000: --- Of course Tobias' proposal {noformat} if (typeof(TcpClient).GetProperty("DualMode") == null) { client = new TcpClient(AddressFamily.InterNetwork); } else { client = new TcpClient(AddressFamily.InterNetworkV6); client.Client.DualMode = true; } {noformat} would be more stable against changes in the Mono framework > .NET implementation has trouble with mixed IP modes > --- > > Key: THRIFT-3000 > URL: https://issues.apache.org/jira/browse/THRIFT-3000 > Project: Thrift > Issue Type: Bug > Components: C# - Library >Affects Versions: 0.9.2, 0.9.3 > Environment: Windows 7 / Windows 8 / Windows 8.1 / .NET 3.5 / .NET > 4.0 / .NET 4.5 >Reporter: Tobias Mundt >Assignee: Jens Geyer >Priority: Minor > Fix For: 0.9.3 > > > The .NET implementation of TSocket and TServerSocket use the .NET class > TcpClient and TcpListener. When creating instances of theses classes the .NET > framework estabiles either an IPv4 or an IPv6 lsitener/client depending on > the order of network protocols set in the control center for the network > adapter. Mention that only the first type of protocol is used not both. > Microsoft switched the default order og ipv4 over ipv6 in windows 7 to ipv6 > over ipv4 in windows 8 and 8.1. That means that a thrift component on a win > 7 machine can not talk to the same component on a win 8 machine since they > fired of different listeners. > When upgrading to .NET 4.5 this can be solved by setting the DualMode=true > flag on the TcpListener.Server and the TcpClient.Client sockets. Since > DualMode is not supported in Mono as of February 2015. The patch can not be > applied. > Another possible solutions would be to get the configuration of the network > protocol order manually and apply the approvriate ip protocol by hand. > Yet a third possibility would by to add a parameter to the TSocket and > TServerSocket constructors to let the user choose the behaviour of the > TcpListener and TcpClient > This problem was attmepted to be solved in the pull request > https://github.com/apache/thrift/pull/377 which was rejected due to mono > incompatibility -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-3000) .NET implementation has trouble with mixed IP modes
[ https://issues.apache.org/jira/browse/THRIFT-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14324072#comment-14324072 ] Markus W. commented on THRIFT-3000: --- One can see, that this issue was discussed some months ago within Mono: https://bugzilla.xamarin.com/show_bug.cgi?id=20048 So it probably makes sense to contact Kei Nakazawa or other Mono Developers and ask whether they made some progress with regard to this issue. In the meantime we should use the old behaviour on Mono and the new one on Windows, checking at *Runtime* using {{bool runningOnMono = Type.GetType ("Mono.Runtime") != null;}}, see http://stackoverflow.com/questions/329043/how-can-i-conditionally-compile-my-c-sharp-for-mono-vs-microsoft-net/329072#329072 > .NET implementation has trouble with mixed IP modes > --- > > Key: THRIFT-3000 > URL: https://issues.apache.org/jira/browse/THRIFT-3000 > Project: Thrift > Issue Type: Bug > Components: C# - Library >Affects Versions: 0.9.2, 0.9.3 > Environment: Windows 7 / Windows 8 / Windows 8.1 / .NET 3.5 / .NET > 4.0 / .NET 4.5 >Reporter: Tobias Mundt >Assignee: Jens Geyer >Priority: Minor > Fix For: 0.9.3 > > > The .NET implementation of TSocket and TServerSocket use the .NET class > TcpClient and TcpListener. When creating instances of theses classes the .NET > framework estabiles either an IPv4 or an IPv6 lsitener/client depending on > the order of network protocols set in the control center for the network > adapter. Mention that only the first type of protocol is used not both. > Microsoft switched the default order og ipv4 over ipv6 in windows 7 to ipv6 > over ipv4 in windows 8 and 8.1. That means that a thrift component on a win > 7 machine can not talk to the same component on a win 8 machine since they > fired of different listeners. > When upgrading to .NET 4.5 this can be solved by setting the DualMode=true > flag on the TcpListener.Server and the TcpClient.Client sockets. Since > DualMode is not supported in Mono as of February 2015. The patch can not be > applied. > Another possible solutions would be to get the configuration of the network > protocol order manually and apply the approvriate ip protocol by hand. > Yet a third possibility would by to add a parameter to the TSocket and > TServerSocket constructors to let the user choose the behaviour of the > TcpListener and TcpClient > This problem was attmepted to be solved in the pull request > https://github.com/apache/thrift/pull/377 which was rejected due to mono > incompatibility -- This message was sent by Atlassian JIRA (v6.3.4#6332)