[jira] [Commented] (THRIFT-3049) As an iOS developer, I want a generator and library that produces Swift code
[ https://issues.apache.org/jira/browse/THRIFT-3049?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14377242#comment-14377242 ] Juan Moreno commented on THRIFT-3049: - I appreciate all the tips and info. I'll follow up. Let's get this started. As an iOS developer, I want a generator and library that produces Swift code Key: THRIFT-3049 URL: https://issues.apache.org/jira/browse/THRIFT-3049 Project: Thrift Issue Type: Epic Components: Compiler (General) Reporter: Juan Moreno Swift is slowly replacing the legacy Objective-C. To keep thrift with the times, let's bake it in. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-2730) Cocoa coding standards
[ https://issues.apache.org/jira/browse/THRIFT-2730?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14374989#comment-14374989 ] Juan Moreno commented on THRIFT-2730: - Are you saying the generator should adhere to the Cocoa coding standard, or that we should have one for the project? Cocoa coding standards -- Key: THRIFT-2730 URL: https://issues.apache.org/jira/browse/THRIFT-2730 Project: Thrift Issue Type: Sub-task Components: Cocoa - Library Reporter: Konrad Grochowski -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-3049) As an iOS developer, I want a generator and library that produces Swift code
[ https://issues.apache.org/jira/browse/THRIFT-3049?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14375084#comment-14375084 ] Juan Moreno commented on THRIFT-3049: - I made this an epic, as there is likely a multitude of stories encompassing the effort. First I would think is a library in Swift. As an iOS developer, I want a generator and library that produces Swift code Key: THRIFT-3049 URL: https://issues.apache.org/jira/browse/THRIFT-3049 Project: Thrift Issue Type: Epic Components: Cocoa - Compiler, Cocoa - Library, Compiler (General) Reporter: Juan Moreno Swift is slowly replacing the legacy Objective-C. To keep thrift with the times, let's bake it in. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-3049) As an iOS developer, I want a generator and library that produces Swift code
[ https://issues.apache.org/jira/browse/THRIFT-3049?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14375121#comment-14375121 ] Juan Moreno commented on THRIFT-3049: - Thanks [~jensg] I think this will warrant its own components (Swift Library, Swift Compiler) , and should not be hashed in with Cocoa As an iOS developer, I want a generator and library that produces Swift code Key: THRIFT-3049 URL: https://issues.apache.org/jira/browse/THRIFT-3049 Project: Thrift Issue Type: Epic Components: Compiler (General) Reporter: Juan Moreno Swift is slowly replacing the legacy Objective-C. To keep thrift with the times, let's bake it in. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (THRIFT-1682) Multiple thread calling a Service function unsafely causes message corruption and terminates with Broken Pipe
[ https://issues.apache.org/jira/browse/THRIFT-1682?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14029994#comment-14029994 ] Juan Moreno commented on THRIFT-1682: - A Socket is not a thread-safe, share-able resource. Multiple thread calling a Service function unsafely causes message corruption and terminates with Broken Pipe - Key: THRIFT-1682 URL: https://issues.apache.org/jira/browse/THRIFT-1682 Project: Thrift Issue Type: Bug Components: C++ - Library Affects Versions: 0.7, 0.8, 0.9 Environment: Linux Kernel: 2.6.32-42-generic (Ubuntu 10.04) Reporter: Felipe Toledo G Oliveira Priority: Critical Labels: c++, corruption, thread-safe, thread-safety, threading Attachments: BrokenPipeCpp_src.tar.gz If more than one thread attempts to send messages using the same Client instance, one of the threads corrupts another thread's parameter values and terminates program displaying Broken Pipe. If the Service function is locked with a Mutex, the issue stops occurring. See the following log fragment, displaying 'Unknown[*]', where '*' is a corrupt value. log fragment Thrift: Tue Aug 28 13:12:00 2012 TSimpleServer uncaught exception. virtual void FooHandler::bar(int32_t, zoo::StateType::type, zoo::WeekdayType::type): id: 0, state: Unknown[152587096], weekday: Unknown[152587096] Thrift: Tue Aug 28 13:12:00 2012 TSocket::write_partial() send() Host: 127.0.0.1 Port: 9000Broken pipe terminate called after throwing an instance of 'std::exception' what(): std::exception void FooPeer::bar(int32_t, zoo::StateType::type, zoo::WeekdayType::type): Exception: write() send(): Broken pipe void FooPeer::bar(int32_t, zoo::StateType::type, zoo::WeekdayType::type): id: 0, state: START, weekday: TUESDAY /log fragment Please, check our sample code at 'BrokenPipeCpp_src.tar.gz' in order to reproduce this error. Regards, Felipe -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (THRIFT-1682) Multiple thread calling a Service function unsafely causes message corruption and terminates with Broken Pipe
[ https://issues.apache.org/jira/browse/THRIFT-1682?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14029993#comment-14029993 ] Juan Moreno commented on THRIFT-1682: - Yes this is definitely intended behavior. I suggest you implement a thin client that implements your service, and creates a new client on each service call and for example: CookieServiceClient implements CookieService.Iface { public Cookie getCookie() throws TException { ///Protocol and Transport setup CookieService.Client client = new CookieService.Client(protocol); try { return client.getCookie(); } catch(TException ex) {LOG.(service call failed, ex);} finally { client.getInputTransport().close);} } } Multiple thread calling a Service function unsafely causes message corruption and terminates with Broken Pipe - Key: THRIFT-1682 URL: https://issues.apache.org/jira/browse/THRIFT-1682 Project: Thrift Issue Type: Bug Components: C++ - Library Affects Versions: 0.7, 0.8, 0.9 Environment: Linux Kernel: 2.6.32-42-generic (Ubuntu 10.04) Reporter: Felipe Toledo G Oliveira Priority: Critical Labels: c++, corruption, thread-safe, thread-safety, threading Attachments: BrokenPipeCpp_src.tar.gz If more than one thread attempts to send messages using the same Client instance, one of the threads corrupts another thread's parameter values and terminates program displaying Broken Pipe. If the Service function is locked with a Mutex, the issue stops occurring. See the following log fragment, displaying 'Unknown[*]', where '*' is a corrupt value. log fragment Thrift: Tue Aug 28 13:12:00 2012 TSimpleServer uncaught exception. virtual void FooHandler::bar(int32_t, zoo::StateType::type, zoo::WeekdayType::type): id: 0, state: Unknown[152587096], weekday: Unknown[152587096] Thrift: Tue Aug 28 13:12:00 2012 TSocket::write_partial() send() Host: 127.0.0.1 Port: 9000Broken pipe terminate called after throwing an instance of 'std::exception' what(): std::exception void FooPeer::bar(int32_t, zoo::StateType::type, zoo::WeekdayType::type): Exception: write() send(): Broken pipe void FooPeer::bar(int32_t, zoo::StateType::type, zoo::WeekdayType::type): id: 0, state: START, weekday: TUESDAY /log fragment Please, check our sample code at 'BrokenPipeCpp_src.tar.gz' in order to reproduce this error. Regards, Felipe -- This message was sent by Atlassian JIRA (v6.2#6252)