[jira] [Closed] (THRIFT-1614) Thrift build from svn repo sources fails with automake-1.12

2014-06-10 Thread JIRA

 [ 
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

2014-06-10 Thread JIRA

 [ 
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 ?

2014-06-10 Thread Martin Vogt (JIRA)

 [ 
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 ?

2014-06-10 Thread Martin Vogt (JIRA)

[ 
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

2014-06-10 Thread Jens Geyer (JIRA)

[ 
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

2014-06-10 Thread Pascal Bach (JIRA)
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

2014-06-10 Thread JIRA

[ 
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

2014-06-10 Thread Pascal Bach (JIRA)

 [ 
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

2014-06-10 Thread Pascal Bach (JIRA)

 [ 
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

2014-06-10 Thread pascal-bach
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++

2014-06-10 Thread Martin Vogt (JIRA)

[ 
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

2014-06-10 Thread JIRA

[ 
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

2014-06-10 Thread Hudson (JIRA)

[ 
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 ...

2014-06-10 Thread henrique
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

2014-06-10 Thread JIRA

 [ 
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

2014-06-10 Thread ASF GitHub Bot (JIRA)

[ 
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

2014-06-10 Thread Chamila Dilshan Wijayarathna (JIRA)

 [ 
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

2014-06-10 Thread Chamila Dilshan Wijayarathna (JIRA)

[ 
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

2014-06-10 Thread Roger Meier (JIRA)

[ 
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

2014-06-10 Thread Roger Meier

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

2014-06-10 Thread Hudson (JIRA)

[ 
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

2014-06-10 Thread Andrew Cox (JIRA)
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

2014-06-10 Thread andrewcox
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.
---