Michael Eiler created THRIFT-4384: ------------------------------------- Summary: Using multiple services simultaneously is not thread-safe. Key: THRIFT-4384 URL: https://issues.apache.org/jira/browse/THRIFT-4384 Project: Thrift Issue Type: Bug Components: C++ - Compiler, C++ - Library Affects Versions: 0.10.0 Environment: Should affect all platforms but has been noticed first on Windows, x86_64. Reporter: Michael Eiler Priority: Critical Fix For: 0.11.0, 0.10.0
I'm using the generated *ServiceConcurrentClient classes. They should allow me to call multiple functions at the same time. The issue as that the ::apache::thrift::async::TConcurrentClientSyncInfo class is a member of the generated service. If I have a project with multiple services sharing the same connection (protocol) with each other, the services will not be mutually excluded from reading on the same socket. I did a small test with patching the generated code and injecting the same instance of TConcurrentClientSyncInfo into all my services and everything was fine. Question: Do you need a small project to reproduce this or is it obvious enough? Just check out any generated code and you will see that the TConcurrentClientSyncInfo is not shared between different services. -- This message was sent by Atlassian JIRA (v6.4.14#64029)