-
Notifications
You must be signed in to change notification settings - Fork 4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
THRIFT-3000 .NET implementation has trouble with mixed IP modes #450
Conversation
Client: C# Patch: sharpdevel <icode666@github> & 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
407f31c
to
af5f3e6
Compare
Did this complete a CI build? Someone suggested in analysis of my pull request to THRIFT-2850 that this changeset is the root cause. |
Sure it did: 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. |
@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:
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 ? |
Absolutely. I'm 100% behind Travis.
That's where the real stuff happens ;-) |
How about having unified base for testing ? |
They both call the usual suspects: |
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):
I couldn't find any evidence of 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. |
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 |
Client: C#
Patch: sharpdevel icode666@github & 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