AW: [jira] [Commented] (THRIFT-2571) Simplify cross compilation using CMake
Good question. I have read about cmake and my overall impression was, that it could be a really good thing to switch. OTOH my experiences with both cmake and the auto-stuff we are currently using is way limited, so I'm speaking purely out of theory. Last not least, as the saying goes, it is questionable to change running systems, especially because there are some other issues in the ticket queue. So I have really mixed feelings about this. Maybe we do a feature branch for this and decide again after some actual work has been done/tested? JensG Von: Henrique Mendonça Gesendet: 11.06.2014 23:27 An: dev@thrift.apache.org Betreff: Re: [jira] [Commented] (THRIFT-2571) Simplify cross compilation using CMake Hi Jake, I don't think it'd be even possible to switch. But for building the compiler on windows this is way easier than the current approach. I think it also does very well substitute the current cross compilation script. If people want to really port the whole process to this platform, it's a lot of work but I think is a valid try/experiment and we shouldn't discourage it. In the worst case we could leave it on the contrib folder as it can definitely help others building the system cross platforms. What do you guys think? Best, Henrique [ https://issues.apache.org/jira/browse/THRIFT-2571?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14027760#comment-14027760 ] Jake Farrell commented on THRIFT-2571: -- i'm a -1 to switching to cmake, if this is to be considered it should be brought up as a discussion thread on the dev@ list Simplify cross compilation using CMake -- Key: THRIFT-2571 URL: https://issues.apache.org/jira/browse/THRIFT-2571 Project: Thrift Issue Type: Improvement Components: Compiler (General) Affects Versions: 1.0 Reporter: Pascal Bach Assignee: Henrique Mendonça Priority: Minor Using CMake would simplify cross compilation. The for example the same build script can be used to build: - Native for Linux using GCC - Native for Windows using Visual Studio - Cross compile for ARM on Linux - Cross compile for Windows form Linux using mingw32 It also makes it easy to generate project files for Eclipse or Visual Studio. h2. Some examples: {code:title=Create an eclipse project|borderStyle=solid} mkdir build_ec cd build_ec cmake -G Eclipse CDT4 - Unix Makefiles ../compiler/cpp make {code} Now open the folder build_ec using eclipse. {code:title=Create a Visual Studio project (Windows only)|borderStyle=solid} mkdir build_vs cd build_vs cmake -G Visual Studio 12 ../compiler/cpp {code} Now open the folder build_vs using Visual Studio. {code:title=Cross compile using mingw32|borderStyle=solid} mkdir build_mingw32 cd build_mingw32 cmake -DCMAKE_TOOLCHAIN_FILE=../contrib/mingw32-toolchain.cmake ../compiler/cpp make {code} -- This message was sent by Atlassian JIRA (v6.2#6252)
Re: [jira] [Commented] (THRIFT-2571) Simplify cross compilation using CMake
I think Cmake is worth to add as a additional option beside of autotools. It will simplify developers and users life in many cases. I see no problem to have CMake beside of autotools as long as we integrate it properly(e.g. read Version from configure.ac, etc.). = both need to be integrated into tests (.travis.yml and Jenkins) we will see if there are some contribution on CMake and how popular it is We already had the CMake discussion a while ago: https://issues.apache.org/jira/browse/THRIFT-797 Today more and more projects switched to CMake, it's just easier to handle for cross platform projects. -roger Quoting Henrique Mendonça henri...@apache.org: Hi Jake, I don't think it'd be even possible to switch. But for building the compiler on windows this is way easier than the current approach. I think it also does very well substitute the current cross compilation script. If people want to really port the whole process to this platform, it's a lot of work but I think is a valid try/experiment and we shouldn't discourage it. In the worst case we could leave it on the contrib folder as it can definitely help others building the system cross platforms. What do you guys think? Best, Henrique [ https://issues.apache.org/jira/browse/THRIFT-2571?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14027760#comment-14027760 ] Jake Farrell commented on THRIFT-2571: -- i'm a -1 to switching to cmake, if this is to be considered it should be brought up as a discussion thread on the dev@ list Simplify cross compilation using CMake -- Key: THRIFT-2571 URL: https://issues.apache.org/jira/browse/THRIFT-2571 Project: Thrift Issue Type: Improvement Components: Compiler (General) Affects Versions: 1.0 Reporter: Pascal Bach Assignee: Henrique Mendonça Priority: Minor Using CMake would simplify cross compilation. The for example the same build script can be used to build: - Native for Linux using GCC - Native for Windows using Visual Studio - Cross compile for ARM on Linux - Cross compile for Windows form Linux using mingw32 It also makes it easy to generate project files for Eclipse or Visual Studio. h2. Some examples: {code:title=Create an eclipse project|borderStyle=solid} mkdir build_ec cd build_ec cmake -G Eclipse CDT4 - Unix Makefiles ../compiler/cpp make {code} Now open the folder build_ec using eclipse. {code:title=Create a Visual Studio project (Windows only)|borderStyle=solid} mkdir build_vs cd build_vs cmake -G Visual Studio 12 ../compiler/cpp {code} Now open the folder build_vs using Visual Studio. {code:title=Cross compile using mingw32|borderStyle=solid} mkdir build_mingw32 cd build_mingw32 cmake -DCMAKE_TOOLCHAIN_FILE=../contrib/mingw32-toolchain.cmake ../compiler/cpp make {code} -- This message was sent by Atlassian JIRA (v6.2#6252)
[GitHub] thrift pull request: Implement Thrift.Protocol.prototype.skip() fo...
GitHub user hyungsul opened a pull request: https://github.com/apache/thrift/pull/139 Implement Thrift.Protocol.prototype.skip() for JavaScript library Thrift.Protocol.prototype.skip was not implemented yet. Due to the exception that the previous implementation throws, Thrift client in JavaScript has issues on backward compatibility. You can merge this pull request into a Git repository by running: $ git pull https://github.com/hyungsul/thrift master Alternatively you can review and apply these changes as the patch at: https://github.com/apache/thrift/pull/139.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 #139 commit 38009c61735c5a16bbeb215d2db6a95daaa4d734 Author: Hyungsul Kim hyungsul@gmail.com Date: 2014-06-12T14:16:43Z Implement Thrift.Protocol.prototype.skip() for JavaScript library commit 0bf49f5add3f0161347d26230069a070ab220379 Author: Hyungsul Kim hyungsul@gmail.com Date: 2014-06-12T14:20:10Z Update the comments --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---
[jira] [Comment Edited] (THRIFT-2520) cpp:cob_style generates incorrect .tcc file
[ https://issues.apache.org/jira/browse/THRIFT-2520?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14029206#comment-14029206 ] Nobuaki Sukegawa edited comment on THRIFT-2520 at 6/12/14 2:36 PM: --- Is it about the travis error or are you having another problem with this patch ? If you are referring to the travis build error, it's apparently caused by the build system itself and the patch content is not related at all. At the time of the pull request, there was no additional error nor test failure caused by this patch AFAIK. If you are having another issue, please show me the error log. I can work on that and re-submit the patch against latest master if needed. was (Author: nsuke): Is it about the travis error or are you having another problem with this patch ? If you are referring to the travis build error, it's apparently caused by the build system itself and the patch content is not related at all. At the time of the pull request, there was no error nor test failure caused by this patch AFAIK. If you are having another issue, please show me the error log. I can work on that and re-submit the patch against latest master if needed. cpp:cob_style generates incorrect .tcc file --- Key: THRIFT-2520 URL: https://issues.apache.org/jira/browse/THRIFT-2520 Project: Thrift Issue Type: Bug Components: C++ - Compiler Affects Versions: 1.0 Environment: Linux gcc Reporter: Nobuaki Sukegawa With cob_style switch, thrift compiler generates non-template method definitions into .tcc files, which results in link errors whenever you include a service header from multiple implementation files. Moving non-template methods to .cpp file resolves the problem. This problem is present only in recent master branch. pull request url: https://github.com/apache/thrift/pull/118 -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (THRIFT-2520) cpp:cob_style generates incorrect .tcc file
[ https://issues.apache.org/jira/browse/THRIFT-2520?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14029206#comment-14029206 ] Nobuaki Sukegawa commented on THRIFT-2520: -- Is it about the travis error or are you having another problem with this patch ? If you are referring to the travis build error, it's apparently caused by the build system itself and the patch content is not related at all. At the time of the pull request, there was no error nor test failure caused by this patch AFAIK. If you are having another issue, please show me the error log. I can work on that and re-submit the patch against latest master if needed. cpp:cob_style generates incorrect .tcc file --- Key: THRIFT-2520 URL: https://issues.apache.org/jira/browse/THRIFT-2520 Project: Thrift Issue Type: Bug Components: C++ - Compiler Affects Versions: 1.0 Environment: Linux gcc Reporter: Nobuaki Sukegawa With cob_style switch, thrift compiler generates non-template method definitions into .tcc files, which results in link errors whenever you include a service header from multiple implementation files. Moving non-template methods to .cpp file resolves the problem. This problem is present only in recent master branch. pull request url: https://github.com/apache/thrift/pull/118 -- This message was sent by Atlassian JIRA (v6.2#6252)
[GitHub] thrift pull request: Implement Thrift.Protocol.prototype.skip() fo...
Github user hyungsul closed the pull request at: https://github.com/apache/thrift/pull/139 --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---
[GitHub] thrift pull request: Implement Thrift.Protocol.prototype.skip() fo...
Github user Jens-G commented on the pull request: https://github.com/apache/thrift/pull/139#issuecomment-45955651 [Could you add an JIRA ticket?](http://thrift.apache,.org/docs/HowToContribute)? Furthermore, an associated test case would be great as well! Thanks! --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---
[GitHub] thrift pull request: Update simple_json_protocol.go
Github user Jens-G commented on the pull request: https://github.com/apache/thrift/pull/134#issuecomment-45955641 [Could you add an JIRA ticket?](http://thrift.apache,.org/docs/HowToContribute)? Furthermore, an associated test case would be great as well! Thanks! --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---
[jira] [Closed] (THRIFT-2570) Wrong URL given in http://thrift.apache.org/developers
[ https://issues.apache.org/jira/browse/THRIFT-2570?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jens Geyer closed THRIFT-2570. -- Resolution: Cannot Reproduce Can't reproduce. Feel free to re-open if new information becomes available. Wrong URL given in http://thrift.apache.org/developers -- Key: THRIFT-2570 URL: https://issues.apache.org/jira/browse/THRIFT-2570 Project: Thrift Issue Type: Bug Components: Website Reporter: Jingguo Yao Priority: Minor http should be https in git clone http://git-wip-us.apache.org/repos/asf/thrift.git;. -- 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=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)
[jira] [Created] (THRIFT-2574) Compiler option to generate namespace directories for Ruby
Andrew Bloomgarden created THRIFT-2574: -- Summary: Compiler option to generate namespace directories for Ruby Key: THRIFT-2574 URL: https://issues.apache.org/jira/browse/THRIFT-2574 Project: Thrift Issue Type: Improvement Components: Ruby - Compiler Affects Versions: 0.9.1 Reporter: Andrew Bloomgarden Fix For: 0.9.2 As described in THRIFT-1544, it would be nice if Thrift generated properly-namespaced files for Ruby. That patch would break backwards compatibility, so I don't know if you want it. This one makes namespacing correctly an option (namespaced). -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (THRIFT-2574) Compiler option to generate namespace directories for Ruby
[ https://issues.apache.org/jira/browse/THRIFT-2574?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Bloomgarden updated THRIFT-2574: --- Labels: compiler namespaces patch ruby (was: compiler namespaces patch) Compiler option to generate namespace directories for Ruby -- Key: THRIFT-2574 URL: https://issues.apache.org/jira/browse/THRIFT-2574 Project: Thrift Issue Type: Improvement Components: Ruby - Compiler Affects Versions: 0.9.1 Reporter: Andrew Bloomgarden Labels: compiler, namespaces, patch, ruby Fix For: 0.9.2 As described in THRIFT-1544, it would be nice if Thrift generated properly-namespaced files for Ruby. That patch would break backwards compatibility, so I don't know if you want it. This one makes namespacing correctly an option (namespaced). -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (THRIFT-2574) Compiler option to generate namespace directories for Ruby
[ https://issues.apache.org/jira/browse/THRIFT-2574?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Bloomgarden updated THRIFT-2574: --- Attachment: thrift-2574.diff thrift-2574-formatted-patch.patch Here's the patch with tests, formatted two different ways. Compiler option to generate namespace directories for Ruby -- Key: THRIFT-2574 URL: https://issues.apache.org/jira/browse/THRIFT-2574 Project: Thrift Issue Type: Improvement Components: Ruby - Compiler Affects Versions: 0.9.1 Reporter: Andrew Bloomgarden Labels: compiler, namespaces, patch, ruby Fix For: 0.9.2 Attachments: thrift-2574-formatted-patch.patch, thrift-2574.diff As described in THRIFT-1544, it would be nice if Thrift generated properly-namespaced files for Ruby. That patch would break backwards compatibility, so I don't know if you want it. This one makes namespacing correctly an option (namespaced). -- This message was sent by Atlassian JIRA (v6.2#6252)
[GitHub] thrift pull request: rb:namespaced: generate Ruby files in idiomat...
GitHub user aughr opened a pull request: https://github.com/apache/thrift/pull/140 rb:namespaced: generate Ruby files in idiomatic namespaced directories. Idiomatic Ruby expects that namespaces are mirrored on the filesystem. This new namespaced option lets that happen. (https://issues.apache.org/jira/browse/THRIFT-2574, patch there also) You can merge this pull request into a Git repository by running: $ git pull https://github.com/aughr/thrift namespaced_ruby_files Alternatively you can review and apply these changes as the patch at: https://github.com/apache/thrift/pull/140.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 #140 commit c8db5edb0426ae4328c8cc9a1354ac8858a03c16 Author: Andrew Bloomgarden stalkingti...@gmail.com Date: 2014-06-13T03:55:34Z rb:namespaced: generate Ruby files in idiomatic namespaced directories. Idiomatic Ruby expects that namespaces are mirrored on the filesystem. This new namespaced option lets that happen. --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---
[jira] [Commented] (THRIFT-2574) Compiler option to generate namespace directories for Ruby
[ https://issues.apache.org/jira/browse/THRIFT-2574?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14030249#comment-14030249 ] ASF GitHub Bot commented on THRIFT-2574: GitHub user aughr opened a pull request: https://github.com/apache/thrift/pull/140 rb:namespaced: generate Ruby files in idiomatic namespaced directories. Idiomatic Ruby expects that namespaces are mirrored on the filesystem. This new namespaced option lets that happen. (https://issues.apache.org/jira/browse/THRIFT-2574, patch there also) You can merge this pull request into a Git repository by running: $ git pull https://github.com/aughr/thrift namespaced_ruby_files Alternatively you can review and apply these changes as the patch at: https://github.com/apache/thrift/pull/140.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 #140 commit c8db5edb0426ae4328c8cc9a1354ac8858a03c16 Author: Andrew Bloomgarden stalkingti...@gmail.com Date: 2014-06-13T03:55:34Z rb:namespaced: generate Ruby files in idiomatic namespaced directories. Idiomatic Ruby expects that namespaces are mirrored on the filesystem. This new namespaced option lets that happen. Compiler option to generate namespace directories for Ruby -- Key: THRIFT-2574 URL: https://issues.apache.org/jira/browse/THRIFT-2574 Project: Thrift Issue Type: Improvement Components: Ruby - Compiler Affects Versions: 0.9.1 Reporter: Andrew Bloomgarden Labels: compiler, namespaces, patch, ruby Fix For: 0.9.2 Attachments: thrift-2574-formatted-patch.patch, thrift-2574.diff As described in THRIFT-1544, it would be nice if Thrift generated properly-namespaced files for Ruby. That patch would break backwards compatibility, so I don't know if you want it. This one makes namespacing correctly an option (namespaced). -- This message was sent by Atlassian JIRA (v6.2#6252)