[jira] [Closed] (THRIFT-1614) Thrift build from svn repo sources fails with automake-1.12
[ https://issues.apache.org/jira/browse/THRIFT-1614?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Henrique Mendonça closed THRIFT-1614. - Resolution: Fixed I think this was already fixed elsewhere, please reopen if you still see this effect. Thrift build from svn repo sources fails with automake-1.12 --- Key: THRIFT-1614 URL: https://issues.apache.org/jira/browse/THRIFT-1614 Project: Thrift Issue Type: Bug Components: Build Process Affects Versions: 0.9 Environment: Reproduced on OS X 10.7 with homebrew automake-1.12 Reporter: Andrew Cox Assignee: Jake Farrell Fix For: 0.9.2 Attachments: thrift-1614-automake-yacc-naming.patch The yacc.am included in automake-1.12 creates the file thrifty.hh instead of thrifty.h, but the generated file thriftl.cc includes thrifty.h. Problem goes away when I downgrade automake to 1.11.5 -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Closed] (THRIFT-2255) add Parent Class for generated Struct class
[ https://issues.apache.org/jira/browse/THRIFT-2255?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Henrique Mendonça closed THRIFT-2255. - Resolution: Duplicate Fix Version/s: (was: 0.9.2) Closing this as THRIFT-1712 has a more complete solution, with the same base class. add Parent Class for generated Struct class --- Key: THRIFT-2255 URL: https://issues.apache.org/jira/browse/THRIFT-2255 Project: Thrift Issue Type: New Feature Components: C++ - Compiler Affects Versions: 0.9.1 Environment: Linux and Windows Reporter: david han Assignee: Ben Craig Labels: patch Attachments: patch.tar.gz Cpp generated Class of struct dosn't have a parent Class, this will cause the Program hold the Object must be using The instance class direct. The parent class may be helper full in for program to process manay type Struct batch. I hope the New version of Thrift implement it. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (THRIFT-2567) Csharp slow ?
[ https://issues.apache.org/jira/browse/THRIFT-2567?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Martin Vogt updated THRIFT-2567: Attachment: ArrayAsByte.cs Fast/ugly conversion from float[] to byte[] without the need for /unsafe Csharp slow ? - Key: THRIFT-2567 URL: https://issues.apache.org/jira/browse/THRIFT-2567 Project: Thrift Issue Type: Question Components: C# - Library Affects Versions: 1.0 Reporter: Martin Vogt Assignee: Jens Geyer Priority: Minor Attachments: ArrayAsByte.cs, Client.cs, Server.cs Hello, I have a simple csharp server/client for performance tests, something like this {quote} service { binary getData(); } {quote} which returns a 1MB buffer.(git snapshot from a few days ago). A thrift call client-server takes 8ms according to stopWatch.Elapsed. The same client-server implemented from here(modified of course): {quote} http://www.java2s.com/Code/CSharp/Network/SimpleTcpClient.htm http://www.java2s.com/Code/CSharp/Network/SimpleTcpServer.htm {quote} takes ~1ms. (Factor 8 faster, than the thrift client/server, all localhost connections on windows) I tried to narrow it down where the actual problem is, but without luck so far. - Its not the binary stream creation during unmarshall: {quote} // pseudocode byte[] getData() { len=iprot.readi32() byte[] x=new byte[len] iprot.readAll(x,len); return x; } {quote} It _looks_ that its in the thrift c# library classes (TSocket,etc..), but up to now I haven't found an explanation for the differences. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (THRIFT-2567) Csharp slow ?
[ https://issues.apache.org/jira/browse/THRIFT-2567?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14026332#comment-14026332 ] Martin Vogt commented on THRIFT-2567: - Hello Jens, Jens Geyer added a comment - Yesterday 12:24 really appreciate your work on this. Could you format the changes as a patch file, alternatively a GitHub pull request when you think it's ready to be reviewed? There isn't an issue with with thrift. It was some performance analysis. Luckily thrift in c# makes it easy to overwrite the generated processor implementation, so that some tweaking is possible. Additionally I found the attached ArrayAsBytes.cs helpful, which allows to cast a float[] array to a byte[] binary stream array. So there is no need to call Buffer.BlockCopy from the thrift byte layer to a float[] / vertex layer. Overall, it looks, that mono on linux seems to be twice as fast as windows (for the localhost communication) regards, Martin Csharp slow ? - Key: THRIFT-2567 URL: https://issues.apache.org/jira/browse/THRIFT-2567 Project: Thrift Issue Type: Question Components: C# - Library Affects Versions: 1.0 Reporter: Martin Vogt Assignee: Jens Geyer Priority: Minor Attachments: ArrayAsByte.cs, Client.cs, Server.cs Hello, I have a simple csharp server/client for performance tests, something like this {quote} service { binary getData(); } {quote} which returns a 1MB buffer.(git snapshot from a few days ago). A thrift call client-server takes 8ms according to stopWatch.Elapsed. The same client-server implemented from here(modified of course): {quote} http://www.java2s.com/Code/CSharp/Network/SimpleTcpClient.htm http://www.java2s.com/Code/CSharp/Network/SimpleTcpServer.htm {quote} takes ~1ms. (Factor 8 faster, than the thrift client/server, all localhost connections on windows) I tried to narrow it down where the actual problem is, but without luck so far. - Its not the binary stream creation during unmarshall: {quote} // pseudocode byte[] getData() { len=iprot.readi32() byte[] x=new byte[len] iprot.readAll(x,len); return x; } {quote} It _looks_ that its in the thrift c# library classes (TSocket,etc..), but up to now I haven't found an explanation for the differences. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (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:comment-tabpanelfocusedCommentId=14026342#comment-14026342 ] Jens Geyer commented on THRIFT-2570: Mmmh, I'm probably doing it wrong. {code} $ git clone http://git-wip-us.apache.org/repos/asf/thrift.git Cloning into 'thrift'... remote: Counting objects: 35889, done. remote: Compressing objects: 100% (9639/9639), done. remote: Total 35889 (delta 26038), reused 32680 (delta 23805) Receiving objects: 100% (35889/35889), 6.86 MiB | 179.00 KiB/s, done. Resolving deltas: 100% (26038/26038), done. Checking connectivity... done. Checking out files: 100% (1500/1500), done. {code} 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] [Created] (THRIFT-2571) Simplify cross compilation using CMake
Pascal Bach created THRIFT-2571: --- Summary: 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 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. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (THRIFT-2471) Make cpp.ref annotation language agnostic
[ https://issues.apache.org/jira/browse/THRIFT-2471?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14026352#comment-14026352 ] Henrique Mendonça commented on THRIFT-2471: --- Hi Jens, It seems to require libboost-dev 1.54 on Ubuntu. I've changed it so it'd run on travis too. (Committing next) I think we still need to install it on Jenkins or it simply ignores the cpp library. By the way, TFDTransportTest fails now! Does anyone has any idea why? There have been no changes in theses files since more than a year, so it must come from recent patches elsewhere. please see: https://travis-ci.org/henrique/thrift/builds/27206877#L2602 Best, Henrique Make cpp.ref annotation language agnostic - Key: THRIFT-2471 URL: https://issues.apache.org/jira/browse/THRIFT-2471 Project: Thrift Issue Type: Improvement Components: Compiler (General) Reporter: Jens Geyer Assignee: Jens Geyer Fix For: 0.9.2 Attachments: boost_1.40.0__to__1.54.0-patch The proposal is to make the new {{cpp.ref}} annotation introduced with THRIFT-2421 language agnostic instead of a C++ specialty only. The annotation changes inlined nested structs into pointers to structs. This behaviour is potentially relevant with all languages using value semantics for nested structs etc. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (THRIFT-2571) Simplify cross compilation using CMake
[ https://issues.apache.org/jira/browse/THRIFT-2571?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Pascal Bach updated THRIFT-2571: Description: 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. Some examples: Create was: 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. 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 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. Some examples: Create -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (THRIFT-2571) Simplify cross compilation using CMake
[ https://issues.apache.org/jira/browse/THRIFT-2571?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Pascal Bach updated THRIFT-2571: Description: 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} was: 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. Some examples: Create 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 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: Thrift 2571
GitHub user pascal-bach opened a pull request: https://github.com/apache/thrift/pull/137 Thrift 2571 You can merge this pull request into a Git repository by running: $ git pull https://github.com/siemens/thrift THRIFT-2571 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/thrift/pull/137.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 #137 commit 6eb015aa555ba120c156e21a8a9ecff15589c7b0 Author: Pascal Bach pascal.b...@siemens.com Date: 2014-04-17T14:19:07Z Add CMake file for the thrift compiler commit 42be4e818ada259080811a87fb239fa81222f581 Author: Pascal Bach pascal.b...@siemens.com Date: 2014-04-23T16:19:06Z Get thrift version from configure.ac for CMake build commit 569863a1385c38eb937662aa655db1c3fb0819fe Author: Pascal Bach pascal.b...@siemens.com Date: 2014-06-10T11:15:40Z Allow cross build for windows using mingw32 - Build the compiler using CMake for: - Linux native gcc - Windows using mingw32 --- 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-1712) Add TBase class for c++
[ https://issues.apache.org/jira/browse/THRIFT-1712?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14026423#comment-14026423 ] Martin Vogt commented on THRIFT-1712: - Hello, I have already ported this patch to the latest cpp generator changes, the current one would not apply cleanly. But what would be nice, if the same can be accomplished with typeid, so there is no need to generate the classname as ASCII. But currently I have not tested it. Maybe I give it a try this weekend. regards, Martin Add TBase class for c++ --- Key: THRIFT-1712 URL: https://issues.apache.org/jira/browse/THRIFT-1712 Project: Thrift Issue Type: New Feature Components: C++ - Compiler Affects Versions: 0.8 Reporter: Martin Vogt Assignee: Ben Craig Priority: Minor Labels: base, c++, class Attachments: 010_base_struct_gen_140126v1.patch, 010_base_struct_gen_140302v1.patch, 011_base_struct_rest_140126v1.patch, 011_base_struct_rest_140302v1.patch The generated c++ classes for struct's do not have a common base class. The patch adds a base_struct option to the compiler: - thrift --gen cpp:base_struct this will use a TBaseStruct in the thrift installation. Another option allows to replace the baseclass with an arbitrary one: -thrift --gen cpp:base_struct=MyBase,base_struct_inc=\\/path/MyBase.h\\\n With this it's possible to extend the TBaseStruct class in the thrift installation. I like to use this TBase class in QT, as a signal, for example: {quote} signals: void update(const TBase tBase); {quote} And in the receiver slot I then can check which kind of message was send: {quote} // compare static pointers if (tBase.ascii_fingerprint == User::ascii_fingerprint) \{ User* user=(User*)tBase; processUserMessage(user); \} {quote} -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (THRIFT-2521) Fixed synchronisation in ThreadManager.cpp
[ https://issues.apache.org/jira/browse/THRIFT-2521?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14026450#comment-14026450 ] Henrique Mendonça commented on THRIFT-2521: --- Hi Grzegorz, Thanks for the patch, it looks good but do you think you can provide a test case to reproduce the error? Fixed synchronisation in ThreadManager.cpp -- Key: THRIFT-2521 URL: https://issues.apache.org/jira/browse/THRIFT-2521 Project: Thrift Issue Type: Bug Components: C++ - Library Affects Versions: 0.9.2, 1.0 Reporter: Grzegorz Leszczyński Labels: patch Fix For: 0.9.2, 1.0 Attachments: thrift-2521-ThreadManager.patch Server can crash, when stop is called. Fixes also other minor synchronisation problems. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (THRIFT-2471) Make cpp.ref annotation language agnostic
[ https://issues.apache.org/jira/browse/THRIFT-2471?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14026467#comment-14026467 ] Hudson commented on THRIFT-2471: SUCCESS: Integrated in Thrift #1175 (See [https://builds.apache.org/job/Thrift/1175/]) THRIFT-2471 requires libboost 1.54 (henrique: rev 48b189716f7611a73e9a2d9b4e2f3989c101740f) * configure.ac * doc/install/README.md * .travis.yml Make cpp.ref annotation language agnostic - Key: THRIFT-2471 URL: https://issues.apache.org/jira/browse/THRIFT-2471 Project: Thrift Issue Type: Improvement Components: Compiler (General) Reporter: Jens Geyer Assignee: Jens Geyer Fix For: 0.9.2 Attachments: boost_1.40.0__to__1.54.0-patch The proposal is to make the new {{cpp.ref}} annotation introduced with THRIFT-2421 language agnostic instead of a C++ specialty only. The annotation changes inlined nested structs into pointers to structs. This behaviour is potentially relevant with all languages using value semantics for nested structs etc. -- This message was sent by Atlassian JIRA (v6.2#6252)
[GitHub] thrift pull request: THRIFT-2571 Simplify cross compilation using ...
Github user henrique commented on the pull request: https://github.com/apache/thrift/pull/137#issuecomment-45619994 Hi Pascal, Thanks a lot for the request. This is a great step towards simplifying cross platform support as you have already said. Would you document the indicated building steps in the root or the compiler Readme.md as you have already done in the ticket? Perhaps we can mark it as experimental or alternative as it still only covers the Thrift compiler. Cheers! --- 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] [Assigned] (THRIFT-2571) Simplify cross compilation using CMake
[ https://issues.apache.org/jira/browse/THRIFT-2571?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Henrique Mendonça reassigned THRIFT-2571: - Assignee: Henrique Mendonça 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)
[jira] [Commented] (THRIFT-2571) Simplify cross compilation using CMake
[ https://issues.apache.org/jira/browse/THRIFT-2571?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14026491#comment-14026491 ] ASF GitHub Bot commented on THRIFT-2571: Github user henrique commented on the pull request: https://github.com/apache/thrift/pull/137#issuecomment-45619994 Hi Pascal, Thanks a lot for the request. This is a great step towards simplifying cross platform support as you have already said. Would you document the indicated building steps in the root or the compiler Readme.md as you have already done in the ticket? Perhaps we can mark it as experimental or alternative as it still only covers the Thrift compiler. Cheers! 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 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)
[jira] [Updated] (THRIFT-847) Test Framework harmonization across all languages
[ https://issues.apache.org/jira/browse/THRIFT-847?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chamila Dilshan Wijayarathna updated THRIFT-847: Attachment: 0001-THRIFT-847-Test-Framework-harmonization-across-all-l.patch Added cross tests for ruby with ruby, cpp, java, node and python. ruby_protocols=binary compact json accel ruby_transports=buffered framed ruby_sockets=ip Created new TestServer.rb and TestClient.rb for this purpose. In MultiExceptionTest and ExceptionTest in Ruby server, it throws Thrift::TransportException: end of file reached for all clients. I have no idea what causes this. We need to identify if this is and issue in Server implementation or problem of thrift. Ruby Client is working properly with java and node, but stuck in some tests against cpp and py without moving ahead for next tests. This is also need to be checked, if this is a issue of client I implemented or problem inside thrift. With java and node, ruby client works properly, but tests still fails due to incompatibility of nil values (Server sending 0 where client expecting 'nil'). I'll work on this, but I need some advice on how to proceed. Following are the things I think important to be done next. 1. Adding 'ssl' tests for ruby. Does ruby support ssl? If so how can I add them to client and server? 2. in test/rb/integration/ there are simple_server.rb, simple_client.rb, buffered_client.rb, accelerated_buffered_server.rb and accelerated_buffered_client.rb. TestServer.rb and TestClient.rb I added, contains every functionality those files have. So we can remove those files and replace them with TestServer.rb and TestClient.rb. What are the places which uses above files? 3. Java and few other tests missing 'testStringMap'. What is the reason for that. If there is no huge reason, we need to add it also. Test Framework harmonization across all languages - Key: THRIFT-847 URL: https://issues.apache.org/jira/browse/THRIFT-847 Project: Thrift Issue Type: Improvement Components: C# - Library, C++ - Library, Cocoa - Library, Erlang - Library, Haskell - Library, Java - Library, JavaScript - Library, OCaml - Library, Perl - Library, PHP - Library, Python - Library, Ruby - Library, Test Suite Affects Versions: 0.1, 0.2, 0.3 Reporter: Roger Meier Assignee: Roger Meier Labels: gsoc2014, mentor Attachments: 0001-THRIFT-847-Test-Framework-harmonization-across-all-l.patch, 0001-THRIFT-847-Test-Framework-harmonization-across-all-l.patch, 0001-THRIFT-847-Test-Framework-harmonization-across-all-l.patch, 0001-THRIFT-847-Test-Framework-harmonization-across-all-l.patch, 0001-THRIFT-847-Test-Framework-harmonization-across-all-l.patch, THRIFT-847_add__make_cross__build_target.patch, build.xml, test.sh, v1-WORK_IN_PROGRESS-unified_tests.tar.gz Today each Language supported by Thrift, have its own unit test, all are using the same Thrift IDL's located at the test directory. But the behavior of these tests seems to be different from language to language... this makes it difficult to do tests and bug fixing across different Languages. e.g. * C++ Test and JavaScript Test Server written in Java have different responses for the same services * C# and Java Test Server have different responses for testException as C++ I propose the following steps: * identify the language with the reference implementation (well defined return values for all test cases) * update the ThriftTest.thrift with details about the required return values that have to be implemented * update test implementations and move language tests into their appropriate library directory (THRIFT-35) * a public test server that supports multiple protocols and transports could be another enhancement for testing purposes I'm ready to help preparing patches, just tell me what you need! -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Comment Edited] (THRIFT-847) Test Framework harmonization across all languages
[ https://issues.apache.org/jira/browse/THRIFT-847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14026710#comment-14026710 ] Chamila Dilshan Wijayarathna edited comment on THRIFT-847 at 6/10/14 5:23 PM: -- Added cross tests for ruby with ruby, cpp, java, node and python. ruby_protocols=binary compact json accel ruby_transports=buffered framed ruby_sockets=ip Created new TestServer.rb and TestClient.rb for this purpose. In MultiExceptionTest and ExceptionTest in Ruby server, it throws Thrift::TransportException: end of file reached for all clients. I have no idea what causes this. We need to identify if this is and issue in Server implementation or problem of thrift. Ruby Client is working properly with java and node, but stuck in some tests against cpp and py without moving ahead for next tests. This is also need to be checked, if this is a issue of client I implemented or problem inside thrift. With java and node, ruby client works properly, but tests still fails due to incompatibility of nil values (Server sending 0 where client expecting 'nil'). I'll work on this, but I need some advice on how to proceed. [~roger.meier] Following are the things I think important to be done next. 1. Adding 'ssl' tests for ruby. Does ruby support ssl? If so how can I add them to client and server? 2. in test/rb/integration/ there are simple_server.rb, simple_client.rb, buffered_client.rb, accelerated_buffered_server.rb and accelerated_buffered_client.rb. TestServer.rb and TestClient.rb I added, contains every functionality those files have. So we can remove those files and replace them with TestServer.rb and TestClient.rb. What are the places which uses above files? 3. Java and few other tests missing 'testStringMap'. What is the reason for that. If there is no huge reason, we need to add it also. was (Author: cdwijayarathna): Added cross tests for ruby with ruby, cpp, java, node and python. ruby_protocols=binary compact json accel ruby_transports=buffered framed ruby_sockets=ip Created new TestServer.rb and TestClient.rb for this purpose. In MultiExceptionTest and ExceptionTest in Ruby server, it throws Thrift::TransportException: end of file reached for all clients. I have no idea what causes this. We need to identify if this is and issue in Server implementation or problem of thrift. Ruby Client is working properly with java and node, but stuck in some tests against cpp and py without moving ahead for next tests. This is also need to be checked, if this is a issue of client I implemented or problem inside thrift. With java and node, ruby client works properly, but tests still fails due to incompatibility of nil values (Server sending 0 where client expecting 'nil'). I'll work on this, but I need some advice on how to proceed. Following are the things I think important to be done next. 1. Adding 'ssl' tests for ruby. Does ruby support ssl? If so how can I add them to client and server? 2. in test/rb/integration/ there are simple_server.rb, simple_client.rb, buffered_client.rb, accelerated_buffered_server.rb and accelerated_buffered_client.rb. TestServer.rb and TestClient.rb I added, contains every functionality those files have. So we can remove those files and replace them with TestServer.rb and TestClient.rb. What are the places which uses above files? 3. Java and few other tests missing 'testStringMap'. What is the reason for that. If there is no huge reason, we need to add it also. Test Framework harmonization across all languages - Key: THRIFT-847 URL: https://issues.apache.org/jira/browse/THRIFT-847 Project: Thrift Issue Type: Improvement Components: C# - Library, C++ - Library, Cocoa - Library, Erlang - Library, Haskell - Library, Java - Library, JavaScript - Library, OCaml - Library, Perl - Library, PHP - Library, Python - Library, Ruby - Library, Test Suite Affects Versions: 0.1, 0.2, 0.3 Reporter: Roger Meier Assignee: Roger Meier Labels: gsoc2014, mentor Attachments: 0001-THRIFT-847-Test-Framework-harmonization-across-all-l.patch, 0001-THRIFT-847-Test-Framework-harmonization-across-all-l.patch, 0001-THRIFT-847-Test-Framework-harmonization-across-all-l.patch, 0001-THRIFT-847-Test-Framework-harmonization-across-all-l.patch, 0001-THRIFT-847-Test-Framework-harmonization-across-all-l.patch, THRIFT-847_add__make_cross__build_target.patch, build.xml, test.sh, v1-WORK_IN_PROGRESS-unified_tests.tar.gz Today each Language supported by Thrift, have its own unit test, all are using the same Thrift IDL's located at the test directory. But the behavior of these tests seems to be different from language to language... this makes it difficult to do tests and bug
[jira] [Commented] (THRIFT-847) Test Framework harmonization across all languages
[ https://issues.apache.org/jira/browse/THRIFT-847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14026941#comment-14026941 ] Roger Meier commented on THRIFT-847: Thanks Chamila! To your questions: 1. yes, please add this should be supported 2. I have removed them 3. I guess testStringMap was introduced later and was probably not implemented on every language great work! -roger Test Framework harmonization across all languages - Key: THRIFT-847 URL: https://issues.apache.org/jira/browse/THRIFT-847 Project: Thrift Issue Type: Improvement Components: C# - Library, C++ - Library, Cocoa - Library, Erlang - Library, Haskell - Library, Java - Library, JavaScript - Library, OCaml - Library, Perl - Library, PHP - Library, Python - Library, Ruby - Library, Test Suite Affects Versions: 0.1, 0.2, 0.3 Reporter: Roger Meier Assignee: Roger Meier Labels: gsoc2014, mentor Attachments: 0001-THRIFT-847-Test-Framework-harmonization-across-all-l.patch, 0001-THRIFT-847-Test-Framework-harmonization-across-all-l.patch, 0001-THRIFT-847-Test-Framework-harmonization-across-all-l.patch, 0001-THRIFT-847-Test-Framework-harmonization-across-all-l.patch, 0001-THRIFT-847-Test-Framework-harmonization-across-all-l.patch, THRIFT-847_add__make_cross__build_target.patch, build.xml, test.sh, v1-WORK_IN_PROGRESS-unified_tests.tar.gz Today each Language supported by Thrift, have its own unit test, all are using the same Thrift IDL's located at the test directory. But the behavior of these tests seems to be different from language to language... this makes it difficult to do tests and bug fixing across different Languages. e.g. * C++ Test and JavaScript Test Server written in Java have different responses for the same services * C# and Java Test Server have different responses for testException as C++ I propose the following steps: * identify the language with the reference implementation (well defined return values for all test cases) * update the ThriftTest.thrift with details about the required return values that have to be implemented * update test implementations and move language tests into their appropriate library directory (THRIFT-35) * a public test server that supports multiple protocols and transports could be another enhancement for testing purposes I'm ready to help preparing patches, just tell me what you need! -- This message was sent by Atlassian JIRA (v6.2#6252)
ApacheCon CFP closes June 25
Dear Apache Thrift enthusiast, As you may be aware, ApacheCon will be held this year in Budapest, on November 17-23. (See http://apachecon.eu for more info.) The Call For Papers for that conference is still open, but will be closing soon. We need you talk proposals, to represent Apache Thrift at ApacheCon. We need all kinds of talks - deep technical talks, hands-on tutorials, introductions for beginners, or case studies about the awesome stuff you're doing with Apache Thrift. Please consider submitting a proposal, at http://events.linuxfoundation.org//events/apachecon-europe/program/cfp Thanks! *make cross* ;-r
[jira] [Commented] (THRIFT-847) Test Framework harmonization across all languages
[ https://issues.apache.org/jira/browse/THRIFT-847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14027129#comment-14027129 ] Hudson commented on THRIFT-847: --- SUCCESS: Integrated in Thrift #1176 (See [https://builds.apache.org/job/Thrift/1176/]) THRIFT-847 Test Framework harmonization across all languages (roger: rev a3570ac36716d0313e2c1c6143cfffc5ddae8fec) * test/rb/integration/accelerated_buffered_client.rb * test/rb/integration/simple_client.rb * test/rb/integration/accelerated_buffered_server.rb * test/rb/integration/test_simple_handler.rb * test/test.sh * test/rb/integration/TestClient.rb * test/rb/integration/simple_server.rb * test/rb/integration/buffered_client.rb * test/rb/integration/TestServer.rb Test Framework harmonization across all languages - Key: THRIFT-847 URL: https://issues.apache.org/jira/browse/THRIFT-847 Project: Thrift Issue Type: Improvement Components: C# - Library, C++ - Library, Cocoa - Library, Erlang - Library, Haskell - Library, Java - Library, JavaScript - Library, OCaml - Library, Perl - Library, PHP - Library, Python - Library, Ruby - Library, Test Suite Affects Versions: 0.1, 0.2, 0.3 Reporter: Roger Meier Assignee: Roger Meier Labels: gsoc2014, mentor Attachments: 0001-THRIFT-847-Test-Framework-harmonization-across-all-l.patch, 0001-THRIFT-847-Test-Framework-harmonization-across-all-l.patch, 0001-THRIFT-847-Test-Framework-harmonization-across-all-l.patch, 0001-THRIFT-847-Test-Framework-harmonization-across-all-l.patch, 0001-THRIFT-847-Test-Framework-harmonization-across-all-l.patch, THRIFT-847_add__make_cross__build_target.patch, build.xml, test.sh, v1-WORK_IN_PROGRESS-unified_tests.tar.gz Today each Language supported by Thrift, have its own unit test, all are using the same Thrift IDL's located at the test directory. But the behavior of these tests seems to be different from language to language... this makes it difficult to do tests and bug fixing across different Languages. e.g. * C++ Test and JavaScript Test Server written in Java have different responses for the same services * C# and Java Test Server have different responses for testException as C++ I propose the following steps: * identify the language with the reference implementation (well defined return values for all test cases) * update the ThriftTest.thrift with details about the required return values that have to be implemented * update test implementations and move language tests into their appropriate library directory (THRIFT-35) * a public test server that supports multiple protocols and transports could be another enhancement for testing purposes I'm ready to help preparing patches, just tell me what you need! -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Created] (THRIFT-2572) Add string/collection length limit checks (from C++) to java protocol readers
Andrew Cox created THRIFT-2572: -- Summary: Add string/collection length limit checks (from C++) to java protocol readers Key: THRIFT-2572 URL: https://issues.apache.org/jira/browse/THRIFT-2572 Project: Thrift Issue Type: New Feature Environment: java Reporter: Andrew Cox Assignee: Andrew Cox Priority: Minor Fix For: 0.9.2 -- This message was sent by Atlassian JIRA (v6.2#6252)
[GitHub] thrift pull request: Port C++ string/container limits to java
GitHub user andrewcox opened a pull request: https://github.com/apache/thrift/pull/138 Port C++ string/container limits to java You can merge this pull request into a Git repository by running: $ git pull https://github.com/andrewcox/thrift java_limits Alternatively you can review and apply these changes as the patch at: https://github.com/apache/thrift/pull/138.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 #138 commit 43e63df24b8956fc6bdb336cff31b8acdb2657b8 Author: Andrew Cox andrew...@fb.com Date: 2014-06-09T14:00:46Z Port C++ string/container limits to java --- 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. ---