[jira] [Commented] (THRIFT-1680) make install requires GNU make

2012-09-28 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1680?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13466071#comment-13466071
 ] 

Hudson commented on THRIFT-1680:


Integrated in Thrift #540 (See [https://builds.apache.org/job/Thrift/540/])
Thrift-1680:Make install requires GNU make
Client: build
patch: Jake Farrell

Updates boost and libevent configure messages, updates thrift help to display 
error and smaller message, moves help to --help or -help and takes care of // 
TODO(dreiss): Delete these when everyone is using the new hotness. Welcome to 
the new hotness everyone. (Revision 1391705)

 Result = FAILURE

> make install requires GNU make
> --
>
> Key: THRIFT-1680
> URL: https://issues.apache.org/jira/browse/THRIFT-1680
> Project: Thrift
>  Issue Type: Bug
>  Components: C++ - Compiler
>Affects Versions: 0.8
> Environment: NetBSD
>Reporter: James K. Lowden
>Assignee: Jake Farrell
>Priority: Minor
>  Labels: bsdmake, gmake, make
> Attachments: Thrift-1680.patch
>
>   Original Estimate: 3h
>  Remaining Estimate: 3h
>
> test/cpp/Makefile.am includes targets whose dependency rule relies on the 
> variable "$<" to pick up the first dependency.  This variable is specific to 
> GNU make; it is not supported by most BSD make programs.  AFAICT this is the 
> only such dependency on GNU make.  I was able to build thrift using BSD make; 
> I was prevented only from installing it (because install invokes tests).  
> BSD make has no analog for $<.  The simplest fix I know of is to repeat the 
> name of the first dependency the command.  The second easiest fix would be to 
> document the limitation.  ;-)  
> Three other suggestions, if I may: 
> 1.  It would be nice if the DIR for --with-boost=DIR were more clearly 
> specified.  It's not obvious that --with-boost=/usr/pkg is what's needed if 
> the Boost headers are in /usr/pkg/include/boost.  
> 2.  The defaults indicated by configure --help are IMO misleading because 
> they're the defaults *if* configure detects them.  I would prefer all default 
> to No, and for configure to stop with an error if --with-foo is specified and 
> fails.  It is otherwise exceedingly difficult to detect automatically whether 
> the specified configuration was in fact installed.  
> 3.  The thrift error message is ridiculous:
> $ thrift --foo 2>&1 | wc -l
>   78
> The first line "No output language(s) specified" (less the "!!!", please) 
> suffices to indicate the syntax error.  The user can more easily consult the 
> manual to learn how to use the program than read 78 lines of output on his 
> terminal.  The "help" obscures the error.  
> Thanks.  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


Build failed in Jenkins: Thrift #540

2012-09-28 Thread Apache Jenkins Server
See 

Changes:

[jfarrell] Thrift-1680:Make install requires GNU make
Client: build
patch: Jake Farrell

Updates boost and libevent configure messages, updates thrift help to display 
error and smaller message, moves help to --help or -help and takes care of // 
TODO(dreiss): Delete these when everyone is using the new hotness. Welcome to 
the new hotness everyone.

--
[...truncated 1226 lines...]
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../lib/cpp/src 
-I/usr/include -Wall -g -O2 -MT OptionalRequiredTest_types.lo -MD -MP -MF 
.deps/OptionalRequiredTest_types.Tpo -c gen-cpp/OptionalRequiredTest_types.cpp 
-o OptionalRequiredTest_types.o >/dev/null 2>&1
mv -f .deps/OptionalRequiredTest_types.Tpo .deps/OptionalRequiredTest_types.Plo
../../../compiler/cpp/thrift --gen cpp:dense ../../../test/ThriftTest.thrift
/bin/bash ../../../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. 
-I../../.. -I../../../lib/cpp/src -I/usr/include  -Wall -g -O2 -MT 
ThriftTest_types.lo -MD -MP -MF .deps/ThriftTest_types.Tpo -c -o 
ThriftTest_types.lo `test -f 'gen-cpp/ThriftTest_types.cpp' || echo 
'./'`gen-cpp/ThriftTest_types.cpp
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../lib/cpp/src 
-I/usr/include -Wall -g -O2 -MT ThriftTest_types.lo -MD -MP -MF 
.deps/ThriftTest_types.Tpo -c gen-cpp/ThriftTest_types.cpp  -fPIC -DPIC -o 
.libs/ThriftTest_types.o
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../lib/cpp/src 
-I/usr/include -Wall -g -O2 -MT ThriftTest_types.lo -MD -MP -MF 
.deps/ThriftTest_types.Tpo -c gen-cpp/ThriftTest_types.cpp -o 
ThriftTest_types.o >/dev/null 2>&1
mv -f .deps/ThriftTest_types.Tpo .deps/ThriftTest_types.Plo
/bin/bash ../../../libtool --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. 
-I../../.. -I../../../lib/cpp/src -I/usr/include  -Wall -g -O2 -MT 
ThriftTest_extras.lo -MD -MP -MF .deps/ThriftTest_extras.Tpo -c -o 
ThriftTest_extras.lo ThriftTest_extras.cpp
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../lib/cpp/src 
-I/usr/include -Wall -g -O2 -MT ThriftTest_extras.lo -MD -MP -MF 
.deps/ThriftTest_extras.Tpo -c ThriftTest_extras.cpp  -fPIC -DPIC -o 
.libs/ThriftTest_extras.o
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../lib/cpp/src 
-I/usr/include -Wall -g -O2 -MT ThriftTest_extras.lo -MD -MP -MF 
.deps/ThriftTest_extras.Tpo -c ThriftTest_extras.cpp -o ThriftTest_extras.o 
>/dev/null 2>&1
mv -f .deps/ThriftTest_extras.Tpo .deps/ThriftTest_extras.Plo
/bin/bash ../../../libtool --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. 
-I../../.. -I../../../lib/cpp/src -I/usr/include  -Wall -g -O2 -MT 
DebugProtoTest_extras.lo -MD -MP -MF .deps/DebugProtoTest_extras.Tpo -c -o 
DebugProtoTest_extras.lo DebugProtoTest_extras.cpp
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../lib/cpp/src 
-I/usr/include -Wall -g -O2 -MT DebugProtoTest_extras.lo -MD -MP -MF 
.deps/DebugProtoTest_extras.Tpo -c DebugProtoTest_extras.cpp  -fPIC -DPIC -o 
.libs/DebugProtoTest_extras.o
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../lib/cpp/src 
-I/usr/include -Wall -g -O2 -MT DebugProtoTest_extras.lo -MD -MP -MF 
.deps/DebugProtoTest_extras.Tpo -c DebugProtoTest_extras.cpp -o 
DebugProtoTest_extras.o >/dev/null 2>&1
mv -f .deps/DebugProtoTest_extras.Tpo .deps/DebugProtoTest_extras.Plo
/bin/bash ../../../libtool --tag=CXX   --mode=link g++ -Wall -g -O2 -L/usr/lib  
-o libtestgencpp.la  DebugProtoTest_types.lo OptionalRequiredTest_types.lo 
DebugProtoTest_types.lo ThriftTest_types.lo ThriftTest_extras.lo 
DebugProtoTest_extras.lo ../../../lib/cpp/libthrift.la -lssl -lcrypto -lrt 
-lpthread 
copying selected object files to avoid basename conflicts...
libtool: link: ln .libs/DebugProtoTest_types.o 
.libs/libtestgencpp.lax/lt1-DebugProtoTest_types.o || cp 
.libs/DebugProtoTest_types.o .libs/libtestgencpp.lax/lt1-DebugProtoTest_types.o
libtool: link: ar cru .libs/libtestgencpp.a .libs/DebugProtoTest_types.o 
.libs/OptionalRequiredTest_types.o 
.libs/libtestgencpp.lax/lt1-DebugProtoTest_types.o .libs/ThriftTest_types.o 
.libs/ThriftTest_extras.o .libs/DebugProtoTest_extras.o
libtool: link: ranlib .libs/libtestgencpp.a
libtool: link: rm -fr .libs/libtestgencpp.lax
libtool: link: ( cd ".libs" && rm -f "libtestgencpp.la" && ln -s 
"../libtestgencpp.la" "libtestgencpp.la" )
../../../compiler/cpp/thrift --gen cpp:templates,cob_style processor/proc.thrift
/bin/bash ../../../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. 
-I../../.. -I../../../lib/cpp/src -I/usr/include  -Wall -g -O2 -MT 
ChildService.lo -MD -MP -MF .deps/ChildService.Tpo -c -o ChildService.lo `test 
-f 'gen-cpp/ChildService.cpp' || echo './'`gen-cpp/ChildService.cpp
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../lib/cpp/src 
-I/usr/include -Wall -g -O2 -MT ChildService.lo -MD -MP -MF 
.deps/ChildService.Tpo -c gen-cpp/ChildServ

Build failed in Jenkins: Thrift-Debian-Packages #296

2012-09-28 Thread Apache Jenkins Server
See 

Changes:

[jfarrell] Thrift-1680:Make install requires GNU make
Client: build
patch: Jake Farrell

Updates boost and libevent configure messages, updates thrift help to display 
error and smaller message, moves help to --help or -help and takes care of // 
TODO(dreiss): Delete these when everyone is using the new hotness. Welcome to 
the new hotness everyone.

--
[...truncated 1431 lines...]
copying src/transport/THttpClient.py -> 
build/lib.linux-x86_64-2.6-pydebug/thrift/transport
copying src/transport/TTwisted.py -> 
build/lib.linux-x86_64-2.6-pydebug/thrift/transport
creating build/lib.linux-x86_64-2.6-pydebug/thrift/server
copying src/server/TNonblockingServer.py -> 
build/lib.linux-x86_64-2.6-pydebug/thrift/server
copying src/server/TServer.py -> 
build/lib.linux-x86_64-2.6-pydebug/thrift/server
copying src/server/TProcessPoolServer.py -> 
build/lib.linux-x86_64-2.6-pydebug/thrift/server
copying src/server/__init__.py -> 
build/lib.linux-x86_64-2.6-pydebug/thrift/server
copying src/server/THttpServer.py -> 
build/lib.linux-x86_64-2.6-pydebug/thrift/server
running build_ext
building 'thrift.protocol.fastbinary' extension
creating build/temp.linux-x86_64-2.6-pydebug
creating build/temp.linux-x86_64-2.6-pydebug/src
creating build/temp.linux-x86_64-2.6-pydebug/src/protocol
gcc -pthread -fno-strict-aliasing -g -Wall -Wstrict-prototypes -g -O2 -fPIC 
-I/usr/include/python2.6_d -c src/protocol/fastbinary.c -o 
build/temp.linux-x86_64-2.6-pydebug/src/protocol/fastbinary.o
gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions 
-g -O2 build/temp.linux-x86_64-2.6-pydebug/src/protocol/fastbinary.o -o 
build/lib.linux-x86_64-2.6-pydebug/thrift/protocol/fastbinary_d.so
[33971 refs]
# PHP
cd 

 && \
phpize && \
./configure && make
Configuring for:
PHP Api Version: 20090626
Zend Module Api No:  20090626
Zend Extension Api No:   220090626
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for a sed that does not truncate output... /bin/sed
checking for cc... cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking how to run the C preprocessor... cc -E
checking for icc... no
checking for suncc... no
checking whether cc understands -c and -o together... yes
checking for system library directory... lib
checking if compiler supports -R... no
checking if compiler supports -Wl,-rpath,... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for PHP prefix... /usr
checking for PHP includes... -I/usr/include/php5 -I/usr/include/php5/main 
-I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext 
-I/usr/include/php5/ext/date/lib
checking for PHP extension directory... /usr/lib/php5/20090626
checking for PHP installed headers prefix... /usr/include/php5
checking if debug is enabled... no
checking if zts is enabled... no
checking for re2c... no
configure: WARNING: You will need re2c 0.13.4 or later if you want to 
regenerate PHP parsers.
checking for gawk... no
checking for nawk... nawk
checking if nawk is broken... no
checking whether to enable the thrift_protocol extension... yes, shared
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking how to run the C++ preprocessor... g++ -E
checking for a sed that does not truncate output... (cached) /bin/sed
checking for fgrep... /bin/grep -F
checking for ld used by cc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 3458764513820540925
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for ar... ar
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from cc object... ok
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
c

Re: [PATCH] base class for struct in c++?

2012-09-28 Thread Jake Farrell
Martin
Thank you for bringing this to the community, please see
http://thrift.apache.org/docs/HowToContribute/ for instructions on
contribution back patches like this.

-Jake


On Fri, Sep 28, 2012 at 12:53 PM, Martin Vogt  wrote:

> Hello,
>
> I would like to use the c++ generator for structs
> in a QT application with signal/slots.
>
> For example:
>
> thrift:
> struct Matrix
> {
>   1: required i64 rows=123,
>   2:i64 cols,
>   3:list data,
> }
>
> QT class:
> emit(mySignal(TBase*))
>
> where TBase is a common base class for the generated
> struct/class Matrix.
>
> Then some receiver can check if the class which
> they receive like this:
>
> QT Slot:
> void myMatrixSlot(TBase* tBase) [
>  if (tBase->compare(Matrix::ascii_fingerprint)==0) {
>Matrix* matrix=(Matrix*)tBase;
>// work with matrix
>//
>  }
> }
>
> The problem is that the current cpp generator does not generate
> such a base class. The attached patch is a first modification
> which I used for my tests.
>
> Is it possible to add such a baseclass extension into
> the thrift repository?
>
> regards,
>
> Martin
>


[jira] [Closed] (THRIFT-1702) a thrift manual

2012-09-28 Thread Jake Farrell (JIRA)

 [ 
https://issues.apache.org/jira/browse/THRIFT-1702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jake Farrell closed THRIFT-1702.


Resolution: Implemented

Committed initial patch in Thrift-1680 which addresses problems stated within 
this issue. Avoiding moving --help to a man page to keep the install compact. 

> a thrift manual
> ---
>
> Key: THRIFT-1702
> URL: https://issues.apache.org/jira/browse/THRIFT-1702
> Project: Thrift
>  Issue Type: Improvement
>  Components: Documentation
>Affects Versions: 0.9
> Environment: any
>Reporter: James K. Lowden
>Assignee: Jake Farrell
>  Labels: documentation, patch
> Fix For: 0.9
>
> Attachments: main.diff, thrift.1
>
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> Attached is a manual for the Thrift compiler in mdoc format, and a patch to 
> eliminate the brutal 80-line error message that was usage().  The man page 
> may be previewed at http://www.schemamania.org/thrift/thrift.pdf. The tail 
> end is incomplete because the information didn't happen to be included in the 
> usage() text.  I hope you agree the manual is easier to read and more 
> convenient to use.  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (THRIFT-1680) make install requires GNU make

2012-09-28 Thread Jake Farrell (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1680?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13466047#comment-13466047
 ] 

Jake Farrell commented on THRIFT-1680:
--

initial patch committed fixing sub-issues. 

> make install requires GNU make
> --
>
> Key: THRIFT-1680
> URL: https://issues.apache.org/jira/browse/THRIFT-1680
> Project: Thrift
>  Issue Type: Bug
>  Components: C++ - Compiler
>Affects Versions: 0.8
> Environment: NetBSD
>Reporter: James K. Lowden
>Assignee: Jake Farrell
>Priority: Minor
>  Labels: bsdmake, gmake, make
> Attachments: Thrift-1680.patch
>
>   Original Estimate: 3h
>  Remaining Estimate: 3h
>
> test/cpp/Makefile.am includes targets whose dependency rule relies on the 
> variable "$<" to pick up the first dependency.  This variable is specific to 
> GNU make; it is not supported by most BSD make programs.  AFAICT this is the 
> only such dependency on GNU make.  I was able to build thrift using BSD make; 
> I was prevented only from installing it (because install invokes tests).  
> BSD make has no analog for $<.  The simplest fix I know of is to repeat the 
> name of the first dependency the command.  The second easiest fix would be to 
> document the limitation.  ;-)  
> Three other suggestions, if I may: 
> 1.  It would be nice if the DIR for --with-boost=DIR were more clearly 
> specified.  It's not obvious that --with-boost=/usr/pkg is what's needed if 
> the Boost headers are in /usr/pkg/include/boost.  
> 2.  The defaults indicated by configure --help are IMO misleading because 
> they're the defaults *if* configure detects them.  I would prefer all default 
> to No, and for configure to stop with an error if --with-foo is specified and 
> fails.  It is otherwise exceedingly difficult to detect automatically whether 
> the specified configuration was in fact installed.  
> 3.  The thrift error message is ridiculous:
> $ thrift --foo 2>&1 | wc -l
>   78
> The first line "No output language(s) specified" (less the "!!!", please) 
> suffices to indicate the syntax error.  The user can more easily consult the 
> manual to learn how to use the program than read 78 lines of output on his 
> terminal.  The "help" obscures the error.  
> Thanks.  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (THRIFT-1680) make install requires GNU make

2012-09-28 Thread Jake Farrell (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1680?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13466044#comment-13466044
 ] 

Jake Farrell commented on THRIFT-1680:
--

Having a mix of on/off would complicate things unnecessarily, and how do we 
decide what is production ready (os x vs ubuntu vs ...). I prefer the all on 
and disable any that can not be build due to lacking dependencies or are 
specified using a --without flag. An option to only build the compiler would be 
a nice addition though, --compiler-only perhaps 

> make install requires GNU make
> --
>
> Key: THRIFT-1680
> URL: https://issues.apache.org/jira/browse/THRIFT-1680
> Project: Thrift
>  Issue Type: Bug
>  Components: C++ - Compiler
>Affects Versions: 0.8
> Environment: NetBSD
>Reporter: James K. Lowden
>Assignee: Jake Farrell
>Priority: Minor
>  Labels: bsdmake, gmake, make
> Attachments: Thrift-1680.patch
>
>   Original Estimate: 3h
>  Remaining Estimate: 3h
>
> test/cpp/Makefile.am includes targets whose dependency rule relies on the 
> variable "$<" to pick up the first dependency.  This variable is specific to 
> GNU make; it is not supported by most BSD make programs.  AFAICT this is the 
> only such dependency on GNU make.  I was able to build thrift using BSD make; 
> I was prevented only from installing it (because install invokes tests).  
> BSD make has no analog for $<.  The simplest fix I know of is to repeat the 
> name of the first dependency the command.  The second easiest fix would be to 
> document the limitation.  ;-)  
> Three other suggestions, if I may: 
> 1.  It would be nice if the DIR for --with-boost=DIR were more clearly 
> specified.  It's not obvious that --with-boost=/usr/pkg is what's needed if 
> the Boost headers are in /usr/pkg/include/boost.  
> 2.  The defaults indicated by configure --help are IMO misleading because 
> they're the defaults *if* configure detects them.  I would prefer all default 
> to No, and for configure to stop with an error if --with-foo is specified and 
> fails.  It is otherwise exceedingly difficult to detect automatically whether 
> the specified configuration was in fact installed.  
> 3.  The thrift error message is ridiculous:
> $ thrift --foo 2>&1 | wc -l
>   78
> The first line "No output language(s) specified" (less the "!!!", please) 
> suffices to indicate the syntax error.  The user can more easily consult the 
> manual to learn how to use the program than read 78 lines of output on his 
> terminal.  The "help" obscures the error.  
> Thanks.  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (THRIFT-1673) Ruby compile flags for extension for multi arch builds (os x)

2012-09-28 Thread Nathan Beyer (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1673?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13465996#comment-13465996
 ] 

Nathan Beyer commented on THRIFT-1673:
--

I think I found the issue. With Ruby 1.8.7, the generated Makefile has this for 
CFLAGS - {code}CFLAGS   =  -fno-common -g -O2 -Wall -Werror -g -O2  -fno-common 
-pipe -fno-common   {code}.

With Ruby 1.9.3, the generated Makefile has this for CFLAGS - {code}CFLAGS   = 
-fno-common -g -O2 -Wall -Werror  -O3 -ggdb -Wextra -Wno-unused-parameter 
-Wno-parentheses -Wno-long-long -Wno-missing-field-initializers 
-Werror=pointer-arith -Werror=write-strings -Werror=declaration-after-statement 
-Werror=shorten-64-to-32 -Werror=implicit-function-declaration  -fno-common 
-pipe $(ARCH_FLAG){code}

The particularly painful issue is the '-Werror=declaration-after-statement', 
which is generating all of the 'ISO C90 forbids mixed declarations and code'. 
Unfortunately, none of the C code is written to strict C90 in this regard 
(variables declared at the top of functions).

> Ruby compile flags for extension for multi arch builds (os x)
> -
>
> Key: THRIFT-1673
> URL: https://issues.apache.org/jira/browse/THRIFT-1673
> Project: Thrift
>  Issue Type: Bug
>  Components: Ruby - Library
>Affects Versions: 0.9
> Environment: os x
>Reporter: Jake Farrell
>Assignee: Jake Farrell
> Fix For: 0.9
>
>
> ld: warning: ld: warning: ignoring file thrift_native.o, file was built for 
> unsupported file format ( 0xcf 0xfa 0xed 0xfe 0x 7 0x 0 0x 0 0x 1 0x 3 0x 0 
> 0x 0 0x 0 0x 1 0x 0 0x 0 0x 0 ) which is not the architecture being linked 
> (i386): thrift_native.oignoring file struct.o, file was built for unsupported 
> file format ( 0xcf 0xfa 0xed 0xfe 0x 7 0x 0 0x 0 0x 1 0x 3 0x 0 0x 0 0x 0 0x 
> 1 0x 0 0x 0 0x 0 ) which is not the architecture being linked (i386): struct.o

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (THRIFT-1704) Tornado support (Python)

2012-09-28 Thread Chris Piro (JIRA)

 [ 
https://issues.apache.org/jira/browse/THRIFT-1704?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Piro updated THRIFT-1704:
---

Description: 
Add support for Tornado, the non-blocking server framework released by 
Facebook. The attached patch adds a {{--gen py:tornado}} option to the 
compiler, support bits to Python library, a tutorial server and client, and a 
modest unit test.

The attached patch (against {{trunk}}) has been running in the critical path of 
a production web site for several months with modest load. It seems to work 
fine, though no serious attempt has been made to optimize for performance.

some snippets from the tutorial server and client code, respectively:

{code}
class CalculatorHandler(object):
def add(self, n1, n2, callback):
callback(n1 + n2)

def main():
handler = CalculatorHandler()
processor = Calculator.Processor(handler)
pfactory = TBinaryProtocol.TBinaryProtocolFactory()
server = TTornado.TTornadoServer(processor, pfactory)

server.bind(9090)
server.start(1)
ioloop.IOLoop.instance().start()
{code}

{code}
transport = TTornado.TTornadoStreamTransport('localhost', 9090)
pfactory = TBinaryProtocol.TBinaryProtocolFactory()
client = Calculator.Client(transport, pfactory)

yield gen.Task(transport.open)

yield gen.Task(client.ping)

sum_ = yield gen.Task(client.add, 1, 1)
print "1 + 1 = {}".format(sum_)
{code}


  was:
Add support for Tornado, the non-blocking server framework released by 
Facebook. The attached patch adds a {{--gen py:tornado}} option to the 
compiler, support bits to Python library, a tutorial server and client, and a 
modest unit test.

The attached patch (against {{trunk}}) has been running in the critical path of 
a production web site for several months with modest load. It seems to work 
fine, though no serious attempt has been made to optimize for performance.

some snippets from the tutorial server and client code, respectively:

{code}
class CalculatorHandler(object):
def add(self, n1, n2, callback):
callback(n1 + n2)

def main():
handler = CalculatorHandler()
processor = Calculator.Processor(handler)
pfactory = TBinaryProtocol.TBinaryProtocolFactory()
server = TTornado.TTornadoServer(processor, pfactory)

server.bind(9090)
server.start(1)
ioloop.IOLoop.instance().start()
{code}

{code}
transport = TTornado.TTornadoStreamTransport('localhost', 9090)
pfactory = TBinaryProtocol.TBinaryProtocolFactory()
client = Calculator.Client(transport, pfactory)

yield gen.Task(transport.open)

yield gen.Task(client.ping)

sum_ = yield gen.Task(client.add, 1, 1)
print "1 + 1 = {}".format(sum_)
{code}

particular concerns:
* The library and generated code has only been tested with Tornado 2.4.0. Is 
there a preferred spot to note that dependency?
* The unit test relies on Tornado to run and will fail if it's not available at 
{{make check}} time. What's the proper way to depend on Tornado / skip the test 
where Tornado is unavailable?


> Tornado support (Python)
> 
>
> Key: THRIFT-1704
> URL: https://issues.apache.org/jira/browse/THRIFT-1704
> Project: Thrift
>  Issue Type: New Feature
>  Components: Python - Compiler, Python - Library
>Affects Versions: 0.9
> Environment: Tornado 2.4.0 
> (https://github.com/facebook/tornado/tree/v2.4.0)
>Reporter: Chris Piro
> Attachments: thrift-1704-tornado-2.patch, thrift-1704-tornado.patch
>
>
> Add support for Tornado, the non-blocking server framework released by 
> Facebook. The attached patch adds a {{--gen py:tornado}} option to the 
> compiler, support bits to Python library, a tutorial server and client, and a 
> modest unit test.
> The attached patch (against {{trunk}}) has been running in the critical path 
> of a production web site for several months with modest load. It seems to 
> work fine, though no serious attempt has been made to optimize for 
> performance.
> some snippets from the tutorial server and client code, respectively:
> {code}
> class CalculatorHandler(object):
> def add(self, n1, n2, callback):
> callback(n1 + n2)
> def main():
> handler = CalculatorHandler()
> processor = Calculator.Processor(handler)
> pfactory = TBinaryProtocol.TBinaryProtocolFactory()
> server = TTornado.TTornadoServer(processor, pfactory)
> server.bind(9090)
> server.start(1)
> ioloop.IOLoop.instance().start()
> {code}
> {code}
> transport = TTornado.TTornadoStreamTransport('localhost', 9090)
> pfactory = TBinaryProtocol.TBinaryProtocolFactory()
> client = Calculator.Client(transport, pfactory)
> yield gen.Task(transport.open)
> yield gen.Task(client.ping)
> sum_ = yield gen.Task(client.add, 1, 1)
> print "1 + 1 = {}".format(sum_)
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrec

[jira] [Comment Edited] (THRIFT-1704) Tornado support (Python)

2012-09-28 Thread Chris Piro (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1704?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13465902#comment-13465902
 ] 

Chris Piro edited comment on THRIFT-1704 at 9/29/12 8:05 AM:
-

{{thrift-1704-tornado-2.patch}}: At the top of the unit test, exit early and 
successfully if importing {{tornado}} fails.

  was (Author: cpiro):
thrift-1704-tornado-2.patch: At the top of the unit test, exit early and 
successfully if importing {{tornado}} fails.
  
> Tornado support (Python)
> 
>
> Key: THRIFT-1704
> URL: https://issues.apache.org/jira/browse/THRIFT-1704
> Project: Thrift
>  Issue Type: New Feature
>  Components: Python - Compiler, Python - Library
>Affects Versions: 0.9
> Environment: Tornado 2.4.0 
> (https://github.com/facebook/tornado/tree/v2.4.0)
>Reporter: Chris Piro
> Attachments: thrift-1704-tornado-2.patch, thrift-1704-tornado.patch
>
>
> Add support for Tornado, the non-blocking server framework released by 
> Facebook. The attached patch adds a {{--gen py:tornado}} option to the 
> compiler, support bits to Python library, a tutorial server and client, and a 
> modest unit test.
> The attached patch (against {{trunk}}) has been running in the critical path 
> of a production web site for several months with modest load. It seems to 
> work fine, though no serious attempt has been made to optimize for 
> performance.
> some snippets from the tutorial server and client code, respectively:
> {code}
> class CalculatorHandler(object):
> def add(self, n1, n2, callback):
> callback(n1 + n2)
> def main():
> handler = CalculatorHandler()
> processor = Calculator.Processor(handler)
> pfactory = TBinaryProtocol.TBinaryProtocolFactory()
> server = TTornado.TTornadoServer(processor, pfactory)
> server.bind(9090)
> server.start(1)
> ioloop.IOLoop.instance().start()
> {code}
> {code}
> transport = TTornado.TTornadoStreamTransport('localhost', 9090)
> pfactory = TBinaryProtocol.TBinaryProtocolFactory()
> client = Calculator.Client(transport, pfactory)
> yield gen.Task(transport.open)
> yield gen.Task(client.ping)
> sum_ = yield gen.Task(client.add, 1, 1)
> print "1 + 1 = {}".format(sum_)
> {code}
> particular concerns:
> * The library and generated code has only been tested with Tornado 2.4.0. Is 
> there a preferred spot to note that dependency?
> * The unit test relies on Tornado to run and will fail if it's not available 
> at {{make check}} time. What's the proper way to depend on Tornado / skip the 
> test where Tornado is unavailable?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (THRIFT-1704) Tornado support (Python)

2012-09-28 Thread Chris Piro (JIRA)

 [ 
https://issues.apache.org/jira/browse/THRIFT-1704?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Piro updated THRIFT-1704:
---

Attachment: thrift-1704-tornado-2.patch

At the top of the unit test, exit early and successfully if importing 
{{tornado}} fails.

> Tornado support (Python)
> 
>
> Key: THRIFT-1704
> URL: https://issues.apache.org/jira/browse/THRIFT-1704
> Project: Thrift
>  Issue Type: New Feature
>  Components: Python - Compiler, Python - Library
>Affects Versions: 0.9
> Environment: Tornado 2.4.0 
> (https://github.com/facebook/tornado/tree/v2.4.0)
>Reporter: Chris Piro
> Attachments: thrift-1704-tornado-2.patch, thrift-1704-tornado.patch
>
>
> Add support for Tornado, the non-blocking server framework released by 
> Facebook. The attached patch adds a {{--gen py:tornado}} option to the 
> compiler, support bits to Python library, a tutorial server and client, and a 
> modest unit test.
> The attached patch (against {{trunk}}) has been running in the critical path 
> of a production web site for several months with modest load. It seems to 
> work fine, though no serious attempt has been made to optimize for 
> performance.
> some snippets from the tutorial server and client code, respectively:
> {code}
> class CalculatorHandler(object):
> def add(self, n1, n2, callback):
> callback(n1 + n2)
> def main():
> handler = CalculatorHandler()
> processor = Calculator.Processor(handler)
> pfactory = TBinaryProtocol.TBinaryProtocolFactory()
> server = TTornado.TTornadoServer(processor, pfactory)
> server.bind(9090)
> server.start(1)
> ioloop.IOLoop.instance().start()
> {code}
> {code}
> transport = TTornado.TTornadoStreamTransport('localhost', 9090)
> pfactory = TBinaryProtocol.TBinaryProtocolFactory()
> client = Calculator.Client(transport, pfactory)
> yield gen.Task(transport.open)
> yield gen.Task(client.ping)
> sum_ = yield gen.Task(client.add, 1, 1)
> print "1 + 1 = {}".format(sum_)
> {code}
> particular concerns:
> * The library and generated code has only been tested with Tornado 2.4.0. Is 
> there a preferred spot to note that dependency?
> * The unit test relies on Tornado to run and will fail if it's not available 
> at {{make check}} time. What's the proper way to depend on Tornado / skip the 
> test where Tornado is unavailable?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Comment Edited] (THRIFT-1704) Tornado support (Python)

2012-09-28 Thread Chris Piro (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1704?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13465902#comment-13465902
 ] 

Chris Piro edited comment on THRIFT-1704 at 9/29/12 8:05 AM:
-

thrift-1704-tornado-2.patch: At the top of the unit test, exit early and 
successfully if importing {{tornado}} fails.

  was (Author: cpiro):
At the top of the unit test, exit early and successfully if importing 
{{tornado}} fails.
  
> Tornado support (Python)
> 
>
> Key: THRIFT-1704
> URL: https://issues.apache.org/jira/browse/THRIFT-1704
> Project: Thrift
>  Issue Type: New Feature
>  Components: Python - Compiler, Python - Library
>Affects Versions: 0.9
> Environment: Tornado 2.4.0 
> (https://github.com/facebook/tornado/tree/v2.4.0)
>Reporter: Chris Piro
> Attachments: thrift-1704-tornado-2.patch, thrift-1704-tornado.patch
>
>
> Add support for Tornado, the non-blocking server framework released by 
> Facebook. The attached patch adds a {{--gen py:tornado}} option to the 
> compiler, support bits to Python library, a tutorial server and client, and a 
> modest unit test.
> The attached patch (against {{trunk}}) has been running in the critical path 
> of a production web site for several months with modest load. It seems to 
> work fine, though no serious attempt has been made to optimize for 
> performance.
> some snippets from the tutorial server and client code, respectively:
> {code}
> class CalculatorHandler(object):
> def add(self, n1, n2, callback):
> callback(n1 + n2)
> def main():
> handler = CalculatorHandler()
> processor = Calculator.Processor(handler)
> pfactory = TBinaryProtocol.TBinaryProtocolFactory()
> server = TTornado.TTornadoServer(processor, pfactory)
> server.bind(9090)
> server.start(1)
> ioloop.IOLoop.instance().start()
> {code}
> {code}
> transport = TTornado.TTornadoStreamTransport('localhost', 9090)
> pfactory = TBinaryProtocol.TBinaryProtocolFactory()
> client = Calculator.Client(transport, pfactory)
> yield gen.Task(transport.open)
> yield gen.Task(client.ping)
> sum_ = yield gen.Task(client.add, 1, 1)
> print "1 + 1 = {}".format(sum_)
> {code}
> particular concerns:
> * The library and generated code has only been tested with Tornado 2.4.0. Is 
> there a preferred spot to note that dependency?
> * The unit test relies on Tornado to run and will fail if it's not available 
> at {{make check}} time. What's the proper way to depend on Tornado / skip the 
> test where Tornado is unavailable?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (THRIFT-336) Compact Protocol in C#

2012-09-28 Thread Roger Meier (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-336?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13465839#comment-13465839
 ] 

Roger Meier commented on THRIFT-336:


+1

Just had a look at the patch.

I like things coming from /dev/null
--- /dev/null   2012-09-24 19:07:57.882034174 +0200

Thanks H!

> Compact Protocol in C#
> --
>
> Key: THRIFT-336
> URL: https://issues.apache.org/jira/browse/THRIFT-336
> Project: Thrift
>  Issue Type: Sub-task
>  Components: C# - Library
>Reporter: Michael Greene
>Assignee: Henrique Mendonca
>Priority: Minor
> Attachments: TCompactProtocol.cs, THRIFT-336.patch
>
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (THRIFT-1704) Tornado support (Python)

2012-09-28 Thread Chris Piro (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1704?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13465817#comment-13465817
 ] 

Chris Piro commented on THRIFT-1704:


> The unit tests should not fail if tornado support is not being used or 
> available as this will be an optional configuration type

Yes, that's a good idea. Could you suggest a way to do that? I could {{try}} to 
{{import tornado}} and skip the tests if that fails, or I could add some 
autotools magic to disable it at {{configure}} time. It's not clear to me which 
is better.

> Tornado support (Python)
> 
>
> Key: THRIFT-1704
> URL: https://issues.apache.org/jira/browse/THRIFT-1704
> Project: Thrift
>  Issue Type: New Feature
>  Components: Python - Compiler, Python - Library
>Affects Versions: 0.9
> Environment: Tornado 2.4.0 
> (https://github.com/facebook/tornado/tree/v2.4.0)
>Reporter: Chris Piro
> Attachments: thrift-1704-tornado.patch
>
>
> Add support for Tornado, the non-blocking server framework released by 
> Facebook. The attached patch adds a {{--gen py:tornado}} option to the 
> compiler, support bits to Python library, a tutorial server and client, and a 
> modest unit test.
> The attached patch (against {{trunk}}) has been running in the critical path 
> of a production web site for several months with modest load. It seems to 
> work fine, though no serious attempt has been made to optimize for 
> performance.
> some snippets from the tutorial server and client code, respectively:
> {code}
> class CalculatorHandler(object):
> def add(self, n1, n2, callback):
> callback(n1 + n2)
> def main():
> handler = CalculatorHandler()
> processor = Calculator.Processor(handler)
> pfactory = TBinaryProtocol.TBinaryProtocolFactory()
> server = TTornado.TTornadoServer(processor, pfactory)
> server.bind(9090)
> server.start(1)
> ioloop.IOLoop.instance().start()
> {code}
> {code}
> transport = TTornado.TTornadoStreamTransport('localhost', 9090)
> pfactory = TBinaryProtocol.TBinaryProtocolFactory()
> client = Calculator.Client(transport, pfactory)
> yield gen.Task(transport.open)
> yield gen.Task(client.ping)
> sum_ = yield gen.Task(client.add, 1, 1)
> print "1 + 1 = {}".format(sum_)
> {code}
> particular concerns:
> * The library and generated code has only been tested with Tornado 2.4.0. Is 
> there a preferred spot to note that dependency?
> * The unit test relies on Tornado to run and will fail if it's not available 
> at {{make check}} time. What's the proper way to depend on Tornado / skip the 
> test where Tornado is unavailable?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (THRIFT-1680) make install requires GNU make

2012-09-28 Thread Roger Meier (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1680?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13465800#comment-13465800
 ] 

Roger Meier commented on THRIFT-1680:
-

+1 for this patch Jake!

another thing I had in mind is a disable all languages within the configure.ac
or just enable production ready languages by default?

> make install requires GNU make
> --
>
> Key: THRIFT-1680
> URL: https://issues.apache.org/jira/browse/THRIFT-1680
> Project: Thrift
>  Issue Type: Bug
>  Components: C++ - Compiler
>Affects Versions: 0.8
> Environment: NetBSD
>Reporter: James K. Lowden
>Assignee: Jake Farrell
>Priority: Minor
>  Labels: bsdmake, gmake, make
> Attachments: Thrift-1680.patch
>
>   Original Estimate: 3h
>  Remaining Estimate: 3h
>
> test/cpp/Makefile.am includes targets whose dependency rule relies on the 
> variable "$<" to pick up the first dependency.  This variable is specific to 
> GNU make; it is not supported by most BSD make programs.  AFAICT this is the 
> only such dependency on GNU make.  I was able to build thrift using BSD make; 
> I was prevented only from installing it (because install invokes tests).  
> BSD make has no analog for $<.  The simplest fix I know of is to repeat the 
> name of the first dependency the command.  The second easiest fix would be to 
> document the limitation.  ;-)  
> Three other suggestions, if I may: 
> 1.  It would be nice if the DIR for --with-boost=DIR were more clearly 
> specified.  It's not obvious that --with-boost=/usr/pkg is what's needed if 
> the Boost headers are in /usr/pkg/include/boost.  
> 2.  The defaults indicated by configure --help are IMO misleading because 
> they're the defaults *if* configure detects them.  I would prefer all default 
> to No, and for configure to stop with an error if --with-foo is specified and 
> fails.  It is otherwise exceedingly difficult to detect automatically whether 
> the specified configuration was in fact installed.  
> 3.  The thrift error message is ridiculous:
> $ thrift --foo 2>&1 | wc -l
>   78
> The first line "No output language(s) specified" (less the "!!!", please) 
> suffices to indicate the syntax error.  The user can more easily consult the 
> manual to learn how to use the program than read 78 lines of output on his 
> terminal.  The "help" obscures the error.  
> Thanks.  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[PATCH] base class for struct in c++?

2012-09-28 Thread Martin Vogt
Hello,

I would like to use the c++ generator for structs
in a QT application with signal/slots.

For example:

thrift:
struct Matrix
{
  1: required i64 rows=123,
  2:i64 cols,
  3:list data,
}

QT class:
emit(mySignal(TBase*))

where TBase is a common base class for the generated
struct/class Matrix.

Then some receiver can check if the class which
they receive like this:

QT Slot:
void myMatrixSlot(TBase* tBase) [
 if (tBase->compare(Matrix::ascii_fingerprint)==0) {
   Matrix* matrix=(Matrix*)tBase;
   // work with matrix
   //
 }
}

The problem is that the current cpp generator does not generate
such a base class. The attached patch is a first modification
which I used for my tests.

Is it possible to add such a baseclass extension into
the thrift repository?

regards,

Martin


[jira] [Commented] (THRIFT-1673) Ruby compile flags for extension for multi arch builds (os x)

2012-09-28 Thread Nathan Beyer (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1673?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13465701#comment-13465701
 ] 

Nathan Beyer commented on THRIFT-1673:
--

The the commit associated with this issue, I'm not able to build on OS X with 
Ruby 1.9.3-p194. I can build on OS X with Ruby 1.8.7-p370. Here's the output 
I'm seeing -

{code}
compiling binary_protocol_accelerated.c
cc1: warnings being treated as errors
binary_protocol_accelerated.c: In function ‘write_string_direct’:
binary_protocol_accelerated.c:83: warning: implicit conversion shortens 64-bit 
value into a 32-bit value
binary_protocol_accelerated.c: In function 
‘rb_thrift_binary_proto_write_double’:
binary_protocol_accelerated.c:203: warning: ISO C90 forbids mixed declarations 
and code
binary_protocol_accelerated.c: In function 
‘rb_thrift_binary_proto_write_string’:
binary_protocol_accelerated.c:215: warning: ISO C90 forbids mixed declarations 
and code
binary_protocol_accelerated.c: In function ‘read_i64_direct’:
binary_protocol_accelerated.c:252: warning: ISO C90 forbids mixed declarations 
and code
binary_protocol_accelerated.c: In function ‘Init_binary_protocol_accelerated’:
binary_protocol_accelerated.c:389: warning: implicit conversion shortens 64-bit 
value into a 32-bit value
binary_protocol_accelerated.c:390: warning: implicit conversion shortens 64-bit 
value into a 32-bit value
binary_protocol_accelerated.c:391: warning: implicit conversion shortens 64-bit 
value into a 32-bit value
binary_protocol_accelerated.c:393: warning: ISO C90 forbids mixed declarations 
and code
make: *** [binary_protocol_accelerated.o] Error 1
rake aborted!
Command failed with status (2): [make...]
{code}

When I remove the changes made in this bug it compiles fine. Any thoughts?

> Ruby compile flags for extension for multi arch builds (os x)
> -
>
> Key: THRIFT-1673
> URL: https://issues.apache.org/jira/browse/THRIFT-1673
> Project: Thrift
>  Issue Type: Bug
>  Components: Ruby - Library
>Affects Versions: 0.9
> Environment: os x
>Reporter: Jake Farrell
>Assignee: Jake Farrell
> Fix For: 0.9
>
>
> ld: warning: ld: warning: ignoring file thrift_native.o, file was built for 
> unsupported file format ( 0xcf 0xfa 0xed 0xfe 0x 7 0x 0 0x 0 0x 1 0x 3 0x 0 
> 0x 0 0x 0 0x 1 0x 0 0x 0 0x 0 ) which is not the architecture being linked 
> (i386): thrift_native.oignoring file struct.o, file was built for unsupported 
> file format ( 0xcf 0xfa 0xed 0xfe 0x 7 0x 0 0x 0 0x 1 0x 3 0x 0 0x 0 0x 0 0x 
> 1 0x 0 0x 0 0x 0 ) which is not the architecture being linked (i386): struct.o

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (THRIFT-1571) Update Ruby HTTP transport for recent Ruby versions

2012-09-28 Thread Seth Hitchings (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1571?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13465695#comment-13465695
 ] 

Seth Hitchings commented on THRIFT-1571:


Fixed by THRIFT-1599

> Update Ruby HTTP transport for recent Ruby versions
> ---
>
> Key: THRIFT-1571
> URL: https://issues.apache.org/jira/browse/THRIFT-1571
> Project: Thrift
>  Issue Type: Bug
>  Components: Ruby - Library
>Affects Versions: 0.8
>Reporter: Seth Hitchings
>Assignee: Jake Farrell
> Fix For: 0.9
>
> Attachments: thrift-1571.patch
>
>
> Net::HTTP.post no longer returns the HTTP response body string as a second 
> return value. From 
> http://ruby-doc.org/stdlib-1.8.7/libdoc/net/http/rdoc/Net/HTTP.html:
> "In version 1.1 (ruby 1.6), this method returns a pair of objects, a 
> Net::HTTPResponse object and an entity body string. In version 1.2 (ruby 
> 1.8), this method returns a Net::HTTPResponse object."
> The attached patch modifies http_client_transport.rb to get the response body 
> from the returned Net::HTTPResponse object instead.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (THRIFT-1082) Thrift::FramedTransport sometimes calls close() on an undefined value

2012-09-28 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1082?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13465579#comment-13465579
 ] 

Hudson commented on THRIFT-1082:


Integrated in Thrift #539 (See [https://builds.apache.org/job/Thrift/539/])
THRIFT-1082: Thrift::FramedTransport sometimes calls close() on an 
undefined value
Client: perl
Patch: John Siracusa

Fixes Thrift::FramedTransport module sometimes ends up calling the close() 
method on an undefined value inside its own close() (Revision 1391418)

 Result = FAILURE
jfarrell : http://svn.apache.org/viewvc/?view=rev&rev=1391418
Files : 
* /thrift/trunk/lib/perl/lib/Thrift/FramedTransport.pm


> Thrift::FramedTransport sometimes calls close() on an undefined value
> -
>
> Key: THRIFT-1082
> URL: https://issues.apache.org/jira/browse/THRIFT-1082
> Project: Thrift
>  Issue Type: Bug
>  Components: Perl - Library
> Environment: CentOS release 5.4 (x86_64), perl 5.8.8
>Reporter: John Siracusa
>Assignee: John Siracusa
> Fix For: 0.9
>
> Attachments: FramedTransport.patch
>
>
> The Thrift::FramedTransport module sometimes ends up calling the close() 
> method on an undefined value inside its own close() method during global 
> destruction.  Events during global destruction are unordered, so it's 
> difficult to reproduce this bug, but it does happen, producing error messages 
> like this:
> (in cleanup) Can't call method "close" on an undefined value at 
> /usr/lib/perl5/vendor_perl/5.8.8/Thrift/FramedTransport.pm line 71 during 
> global destruction.
> The attached patch is a simple workaround to the problem.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


Build failed in Jenkins: Thrift #539

2012-09-28 Thread Apache Jenkins Server
See 

Changes:

[jfarrell] THRIFT-1082: Thrift::FramedTransport sometimes calls close() on an 
undefined value
Client: perl
Patch: John Siracusa

Fixes Thrift::FramedTransport module sometimes ends up calling the close() 
method on an undefined value inside its own close()

--
[...truncated 1311 lines...]
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../lib/cpp/src 
-I/usr/include -Wall -g -O2 -MT OptionalRequiredTest_types.lo -MD -MP -MF 
.deps/OptionalRequiredTest_types.Tpo -c gen-cpp/OptionalRequiredTest_types.cpp 
-o OptionalRequiredTest_types.o >/dev/null 2>&1
mv -f .deps/OptionalRequiredTest_types.Tpo .deps/OptionalRequiredTest_types.Plo
../../../compiler/cpp/thrift --gen cpp:dense ../../../test/ThriftTest.thrift
/bin/bash ../../../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. 
-I../../.. -I../../../lib/cpp/src -I/usr/include  -Wall -g -O2 -MT 
ThriftTest_types.lo -MD -MP -MF .deps/ThriftTest_types.Tpo -c -o 
ThriftTest_types.lo `test -f 'gen-cpp/ThriftTest_types.cpp' || echo 
'./'`gen-cpp/ThriftTest_types.cpp
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../lib/cpp/src 
-I/usr/include -Wall -g -O2 -MT ThriftTest_types.lo -MD -MP -MF 
.deps/ThriftTest_types.Tpo -c gen-cpp/ThriftTest_types.cpp  -fPIC -DPIC -o 
.libs/ThriftTest_types.o
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../lib/cpp/src 
-I/usr/include -Wall -g -O2 -MT ThriftTest_types.lo -MD -MP -MF 
.deps/ThriftTest_types.Tpo -c gen-cpp/ThriftTest_types.cpp -o 
ThriftTest_types.o >/dev/null 2>&1
mv -f .deps/ThriftTest_types.Tpo .deps/ThriftTest_types.Plo
/bin/bash ../../../libtool --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. 
-I../../.. -I../../../lib/cpp/src -I/usr/include  -Wall -g -O2 -MT 
ThriftTest_extras.lo -MD -MP -MF .deps/ThriftTest_extras.Tpo -c -o 
ThriftTest_extras.lo ThriftTest_extras.cpp
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../lib/cpp/src 
-I/usr/include -Wall -g -O2 -MT ThriftTest_extras.lo -MD -MP -MF 
.deps/ThriftTest_extras.Tpo -c ThriftTest_extras.cpp  -fPIC -DPIC -o 
.libs/ThriftTest_extras.o
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../lib/cpp/src 
-I/usr/include -Wall -g -O2 -MT ThriftTest_extras.lo -MD -MP -MF 
.deps/ThriftTest_extras.Tpo -c ThriftTest_extras.cpp -o ThriftTest_extras.o 
>/dev/null 2>&1
mv -f .deps/ThriftTest_extras.Tpo .deps/ThriftTest_extras.Plo
/bin/bash ../../../libtool --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. 
-I../../.. -I../../../lib/cpp/src -I/usr/include  -Wall -g -O2 -MT 
DebugProtoTest_extras.lo -MD -MP -MF .deps/DebugProtoTest_extras.Tpo -c -o 
DebugProtoTest_extras.lo DebugProtoTest_extras.cpp
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../lib/cpp/src 
-I/usr/include -Wall -g -O2 -MT DebugProtoTest_extras.lo -MD -MP -MF 
.deps/DebugProtoTest_extras.Tpo -c DebugProtoTest_extras.cpp  -fPIC -DPIC -o 
.libs/DebugProtoTest_extras.o
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../lib/cpp/src 
-I/usr/include -Wall -g -O2 -MT DebugProtoTest_extras.lo -MD -MP -MF 
.deps/DebugProtoTest_extras.Tpo -c DebugProtoTest_extras.cpp -o 
DebugProtoTest_extras.o >/dev/null 2>&1
mv -f .deps/DebugProtoTest_extras.Tpo .deps/DebugProtoTest_extras.Plo
/bin/bash ../../../libtool --tag=CXX   --mode=link g++ -Wall -g -O2 -L/usr/lib  
-o libtestgencpp.la  DebugProtoTest_types.lo OptionalRequiredTest_types.lo 
DebugProtoTest_types.lo ThriftTest_types.lo ThriftTest_extras.lo 
DebugProtoTest_extras.lo ../../../lib/cpp/libthrift.la -lssl -lcrypto -lrt 
-lpthread 
copying selected object files to avoid basename conflicts...
libtool: link: ln .libs/DebugProtoTest_types.o 
.libs/libtestgencpp.lax/lt1-DebugProtoTest_types.o || cp 
.libs/DebugProtoTest_types.o .libs/libtestgencpp.lax/lt1-DebugProtoTest_types.o
libtool: link: ar cru .libs/libtestgencpp.a .libs/DebugProtoTest_types.o 
.libs/OptionalRequiredTest_types.o 
.libs/libtestgencpp.lax/lt1-DebugProtoTest_types.o .libs/ThriftTest_types.o 
.libs/ThriftTest_extras.o .libs/DebugProtoTest_extras.o
libtool: link: ranlib .libs/libtestgencpp.a
libtool: link: rm -fr .libs/libtestgencpp.lax
libtool: link: ( cd ".libs" && rm -f "libtestgencpp.la" && ln -s 
"../libtestgencpp.la" "libtestgencpp.la" )
../../../compiler/cpp/thrift --gen cpp:templates,cob_style processor/proc.thrift
/bin/bash ../../../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. 
-I../../.. -I../../../lib/cpp/src -I/usr/include  -Wall -g -O2 -MT 
ChildService.lo -MD -MP -MF .deps/ChildService.Tpo -c -o ChildService.lo `test 
-f 'gen-cpp/ChildService.cpp' || echo './'`gen-cpp/ChildService.cpp
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../lib/cpp/src 
-I/usr/include -Wall -g -O2 -MT ChildService.lo -MD -MP -MF 
.deps/ChildService.Tpo -c gen-cpp/ChildService.cpp  -fPIC -DPIC -o 
.libs/ChildService.o
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../

Build failed in Jenkins: Thrift-Debian-Packages #295

2012-09-28 Thread Apache Jenkins Server
See 

Changes:

[jfarrell] THRIFT-1082: Thrift::FramedTransport sometimes calls close() on an 
undefined value
Client: perl
Patch: John Siracusa

Fixes Thrift::FramedTransport module sometimes ends up calling the close() 
method on an undefined value inside its own close()

--
[...truncated 1431 lines...]
copying src/transport/THttpClient.py -> 
build/lib.linux-x86_64-2.6-pydebug/thrift/transport
copying src/transport/TTwisted.py -> 
build/lib.linux-x86_64-2.6-pydebug/thrift/transport
creating build/lib.linux-x86_64-2.6-pydebug/thrift/server
copying src/server/TNonblockingServer.py -> 
build/lib.linux-x86_64-2.6-pydebug/thrift/server
copying src/server/TServer.py -> 
build/lib.linux-x86_64-2.6-pydebug/thrift/server
copying src/server/TProcessPoolServer.py -> 
build/lib.linux-x86_64-2.6-pydebug/thrift/server
copying src/server/__init__.py -> 
build/lib.linux-x86_64-2.6-pydebug/thrift/server
copying src/server/THttpServer.py -> 
build/lib.linux-x86_64-2.6-pydebug/thrift/server
running build_ext
building 'thrift.protocol.fastbinary' extension
creating build/temp.linux-x86_64-2.6-pydebug
creating build/temp.linux-x86_64-2.6-pydebug/src
creating build/temp.linux-x86_64-2.6-pydebug/src/protocol
gcc -pthread -fno-strict-aliasing -g -Wall -Wstrict-prototypes -g -O2 -fPIC 
-I/usr/include/python2.6_d -c src/protocol/fastbinary.c -o 
build/temp.linux-x86_64-2.6-pydebug/src/protocol/fastbinary.o
gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions 
-g -O2 build/temp.linux-x86_64-2.6-pydebug/src/protocol/fastbinary.o -o 
build/lib.linux-x86_64-2.6-pydebug/thrift/protocol/fastbinary_d.so
[33971 refs]
# PHP
cd 

 && \
phpize && \
./configure && make
Configuring for:
PHP Api Version: 20090626
Zend Module Api No:  20090626
Zend Extension Api No:   220090626
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for a sed that does not truncate output... /bin/sed
checking for cc... cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking how to run the C preprocessor... cc -E
checking for icc... no
checking for suncc... no
checking whether cc understands -c and -o together... yes
checking for system library directory... lib
checking if compiler supports -R... no
checking if compiler supports -Wl,-rpath,... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for PHP prefix... /usr
checking for PHP includes... -I/usr/include/php5 -I/usr/include/php5/main 
-I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext 
-I/usr/include/php5/ext/date/lib
checking for PHP extension directory... /usr/lib/php5/20090626
checking for PHP installed headers prefix... /usr/include/php5
checking if debug is enabled... no
checking if zts is enabled... no
checking for re2c... no
configure: WARNING: You will need re2c 0.13.4 or later if you want to 
regenerate PHP parsers.
checking for gawk... no
checking for nawk... nawk
checking if nawk is broken... no
checking whether to enable the thrift_protocol extension... yes, shared
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking how to run the C++ preprocessor... g++ -E
checking for a sed that does not truncate output... (cached) /bin/sed
checking for fgrep... /bin/grep -F
checking for ld used by cc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 3458764513820540925
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for ar... ar
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from cc object... ok
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checkin

[jira] [Assigned] (THRIFT-771) Publish JMX metrics from Thrift servers

2012-09-28 Thread Jake Farrell (JIRA)

 [ 
https://issues.apache.org/jira/browse/THRIFT-771?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jake Farrell reassigned THRIFT-771:
---

Assignee: Jake Farrell

> Publish JMX metrics from Thrift servers
> ---
>
> Key: THRIFT-771
> URL: https://issues.apache.org/jira/browse/THRIFT-771
> Project: Thrift
>  Issue Type: New Feature
>  Components: Java - Library
>Reporter: Bryan Duxbury
>Assignee: Jake Farrell
>
> It'd be great if we tracked metrics about the operation of our Thrift servers 
> and published them via JMX. This would allow standard monitoring tools to 
> track Thrift servers.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (THRIFT-1034) Add a multiplexing Java client

2012-09-28 Thread Jake Farrell (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1034?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13465556#comment-13465556
 ] 

Jake Farrell commented on THRIFT-1034:
--

If you could please add some unit tests to this I will commit it

> Add a multiplexing Java client
> --
>
> Key: THRIFT-1034
> URL: https://issues.apache.org/jira/browse/THRIFT-1034
> Project: Thrift
>  Issue Type: New Feature
>  Components: Java - Library
> Environment: Java v1.4 or higher 
>Reporter: Xing Jin
> Attachments: thrift-1034-patch.txt
>
>
> One of our recent projects requires to fetch responses from several hundred 
> servers. All servers have similar settings. The client needs to send same 
> request to all servers, and then fetch their responses.
> We would like to use non-blocking sockets to implement it, as it is much 
> faster than setting up hundreds of blocking sockets. So in this patch, we 
> create a client class, which sends a same request to multiple servers (using 
> java.nio.selector and non-blocking socket), then fetches response from all 
> these servers, and returns results as an array of ByteBuffer. We also pass a 
> timeout value to the client, so that when a pre-defined time duration passes, 
> the client would shutdown all sockets and return any available responses.
> It assumes all servers are non-blocking servers and all use TFramedTransport. 
> We have done many local tests. We could generate some unittest if necessary. 
> Appreciate any comments!

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Assigned] (THRIFT-1034) Add a multiplexing Java client

2012-09-28 Thread Jake Farrell (JIRA)

 [ 
https://issues.apache.org/jira/browse/THRIFT-1034?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jake Farrell reassigned THRIFT-1034:


Assignee: Jake Farrell

> Add a multiplexing Java client
> --
>
> Key: THRIFT-1034
> URL: https://issues.apache.org/jira/browse/THRIFT-1034
> Project: Thrift
>  Issue Type: New Feature
>  Components: Java - Library
> Environment: Java v1.4 or higher 
>Reporter: Xing Jin
>Assignee: Jake Farrell
> Attachments: thrift-1034-patch.txt
>
>
> One of our recent projects requires to fetch responses from several hundred 
> servers. All servers have similar settings. The client needs to send same 
> request to all servers, and then fetch their responses.
> We would like to use non-blocking sockets to implement it, as it is much 
> faster than setting up hundreds of blocking sockets. So in this patch, we 
> create a client class, which sends a same request to multiple servers (using 
> java.nio.selector and non-blocking socket), then fetches response from all 
> these servers, and returns results as an array of ByteBuffer. We also pass a 
> timeout value to the client, so that when a pre-defined time duration passes, 
> the client would shutdown all sockets and return any available responses.
> It assumes all servers are non-blocking servers and all use TFramedTransport. 
> We have done many local tests. We could generate some unittest if necessary. 
> Appreciate any comments!

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Closed] (THRIFT-1082) Thrift::FramedTransport sometimes calls close() on an undefined value

2012-09-28 Thread Jake Farrell (JIRA)

 [ 
https://issues.apache.org/jira/browse/THRIFT-1082?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jake Farrell closed THRIFT-1082.


   Resolution: Fixed
Fix Version/s: 0.9
 Assignee: John Siracusa

Committed a modified version of this

> Thrift::FramedTransport sometimes calls close() on an undefined value
> -
>
> Key: THRIFT-1082
> URL: https://issues.apache.org/jira/browse/THRIFT-1082
> Project: Thrift
>  Issue Type: Bug
>  Components: Perl - Library
> Environment: CentOS release 5.4 (x86_64), perl 5.8.8
>Reporter: John Siracusa
>Assignee: John Siracusa
> Fix For: 0.9
>
> Attachments: FramedTransport.patch
>
>
> The Thrift::FramedTransport module sometimes ends up calling the close() 
> method on an undefined value inside its own close() method during global 
> destruction.  Events during global destruction are unordered, so it's 
> difficult to reproduce this bug, but it does happen, producing error messages 
> like this:
> (in cleanup) Can't call method "close" on an undefined value at 
> /usr/lib/perl5/vendor_perl/5.8.8/Thrift/FramedTransport.pm line 71 during 
> global destruction.
> The attached patch is a simple workaround to the problem.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (THRIFT-1352) Thrift server

2012-09-28 Thread Jake Farrell (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13465544#comment-13465544
 ] 

Jake Farrell commented on THRIFT-1352:
--

Hans, thank you for the work on this issue. We currently do not accept pull 
requests and ask that you submit a patch attached to this ticket. Please see 
http://thrift.apache.org/docs/HowToContribute/ for information on this. Thanks

> Thrift server 
> --
>
> Key: THRIFT-1352
> URL: https://issues.apache.org/jira/browse/THRIFT-1352
> Project: Thrift
>  Issue Type: Improvement
>  Components: Node.js - Library
>Affects Versions: 0.7
>Reporter: Hans Duedal
>  Labels: node, nodejs
>
> If a thrift level protocol error occurs. For instance one makes a few changes 
> to the thrift IDL file and a client connects using the old API an unhandled 
> exception can be thrown from the TBinaryProtocol class. By adding a try-catch 
> to the process() call these errors can be caught, the connection closed, and 
> an error event emitted.
> Likewise if a client closes the socket, ie. due to a timeout condition, 
> another unhandled exception is thrown from stream.write().
> Patch/Pull-request: https://github.com/wadey/node-thrift/pull/16

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (THRIFT-1356) Memory leak and other issues in TSocketClient

2012-09-28 Thread Jake Farrell (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1356?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13465540#comment-13465540
 ] 

Jake Farrell commented on THRIFT-1356:
--

Matthew, Thank you for your work on this issue. Please see 
http://thrift.apache.org/docs/HowToContribute/ for contributing patches

> Memory leak and other issues in TSocketClient
> -
>
> Key: THRIFT-1356
> URL: https://issues.apache.org/jira/browse/THRIFT-1356
> Project: Thrift
>  Issue Type: Bug
>  Components: Cocoa - Library
>Affects Versions: 0.7
> Environment: iOS 4.3
>Reporter: Matthew Phillips
> Attachments: TSocketClient.m
>
>
> The socket setup code in TSocketClient seems to have been copied blindly from 
> Apple's docs. The two problems with that are:
>  (a) The example is for non-blocking event-based network IO, but Thrift uses 
> it in blocking mode and does not handle the delegate events it registers for. 
> This causes network operations to randomly hang.
>  (b) It retains the input and output streams, which already have a retain 
> count of 1, and which are then retained again by the superclass, causing a 
> memory leak.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (THRIFT-1591) Enable TCP_NODELAY for ruby gem

2012-09-28 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1591?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13465536#comment-13465536
 ] 

Hudson commented on THRIFT-1591:


Integrated in Thrift #538 (See [https://builds.apache.org/job/Thrift/538/])
THRIFT-1591: Enable TCP_NODELAY for ruby gem
Client: rb
Patch: Christos Trochalakis

Set TCP_NODELAY for client socket for ruby lib (Revision 1391399)

 Result = FAILURE
jfarrell : http://svn.apache.org/viewvc/?view=rev&rev=1391399
Files : 
* /thrift/trunk/lib/rb/lib/thrift/transport/socket.rb
* /thrift/trunk/lib/rb/spec/socket_spec.rb


> Enable TCP_NODELAY for ruby gem
> ---
>
> Key: THRIFT-1591
> URL: https://issues.apache.org/jira/browse/THRIFT-1591
> Project: Thrift
>  Issue Type: Bug
>Reporter: Christos Trochalakis
>Assignee: Christos Trochalakis
> Fix For: 0.9
>
> Attachments: 0001-add-tcp-nodelay.patch
>
>
> Ruby gem doesn't set NODELAY socket option like c++, c# or java.
> This patch enables TCP_NODELAY for client socket.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


Build failed in Jenkins: Thrift #538

2012-09-28 Thread Apache Jenkins Server
See 

Changes:

[jfarrell] THRIFT-1591: Enable TCP_NODELAY for ruby gem
Client: rb
Patch: Christos Trochalakis

Set TCP_NODELAY for client socket for ruby lib

--
[...truncated 1228 lines...]
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../lib/cpp/src 
-I/usr/include -Wall -g -O2 -MT OptionalRequiredTest_types.lo -MD -MP -MF 
.deps/OptionalRequiredTest_types.Tpo -c gen-cpp/OptionalRequiredTest_types.cpp 
-o OptionalRequiredTest_types.o >/dev/null 2>&1
mv -f .deps/OptionalRequiredTest_types.Tpo .deps/OptionalRequiredTest_types.Plo
../../../compiler/cpp/thrift --gen cpp:dense ../../../test/ThriftTest.thrift
/bin/bash ../../../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. 
-I../../.. -I../../../lib/cpp/src -I/usr/include  -Wall -g -O2 -MT 
ThriftTest_types.lo -MD -MP -MF .deps/ThriftTest_types.Tpo -c -o 
ThriftTest_types.lo `test -f 'gen-cpp/ThriftTest_types.cpp' || echo 
'./'`gen-cpp/ThriftTest_types.cpp
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../lib/cpp/src 
-I/usr/include -Wall -g -O2 -MT ThriftTest_types.lo -MD -MP -MF 
.deps/ThriftTest_types.Tpo -c gen-cpp/ThriftTest_types.cpp  -fPIC -DPIC -o 
.libs/ThriftTest_types.o
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../lib/cpp/src 
-I/usr/include -Wall -g -O2 -MT ThriftTest_types.lo -MD -MP -MF 
.deps/ThriftTest_types.Tpo -c gen-cpp/ThriftTest_types.cpp -o 
ThriftTest_types.o >/dev/null 2>&1
mv -f .deps/ThriftTest_types.Tpo .deps/ThriftTest_types.Plo
/bin/bash ../../../libtool --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. 
-I../../.. -I../../../lib/cpp/src -I/usr/include  -Wall -g -O2 -MT 
ThriftTest_extras.lo -MD -MP -MF .deps/ThriftTest_extras.Tpo -c -o 
ThriftTest_extras.lo ThriftTest_extras.cpp
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../lib/cpp/src 
-I/usr/include -Wall -g -O2 -MT ThriftTest_extras.lo -MD -MP -MF 
.deps/ThriftTest_extras.Tpo -c ThriftTest_extras.cpp  -fPIC -DPIC -o 
.libs/ThriftTest_extras.o
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../lib/cpp/src 
-I/usr/include -Wall -g -O2 -MT ThriftTest_extras.lo -MD -MP -MF 
.deps/ThriftTest_extras.Tpo -c ThriftTest_extras.cpp -o ThriftTest_extras.o 
>/dev/null 2>&1
mv -f .deps/ThriftTest_extras.Tpo .deps/ThriftTest_extras.Plo
/bin/bash ../../../libtool --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. 
-I../../.. -I../../../lib/cpp/src -I/usr/include  -Wall -g -O2 -MT 
DebugProtoTest_extras.lo -MD -MP -MF .deps/DebugProtoTest_extras.Tpo -c -o 
DebugProtoTest_extras.lo DebugProtoTest_extras.cpp
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../lib/cpp/src 
-I/usr/include -Wall -g -O2 -MT DebugProtoTest_extras.lo -MD -MP -MF 
.deps/DebugProtoTest_extras.Tpo -c DebugProtoTest_extras.cpp  -fPIC -DPIC -o 
.libs/DebugProtoTest_extras.o
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../lib/cpp/src 
-I/usr/include -Wall -g -O2 -MT DebugProtoTest_extras.lo -MD -MP -MF 
.deps/DebugProtoTest_extras.Tpo -c DebugProtoTest_extras.cpp -o 
DebugProtoTest_extras.o >/dev/null 2>&1
mv -f .deps/DebugProtoTest_extras.Tpo .deps/DebugProtoTest_extras.Plo
/bin/bash ../../../libtool --tag=CXX   --mode=link g++ -Wall -g -O2 -L/usr/lib  
-o libtestgencpp.la  DebugProtoTest_types.lo OptionalRequiredTest_types.lo 
DebugProtoTest_types.lo ThriftTest_types.lo ThriftTest_extras.lo 
DebugProtoTest_extras.lo ../../../lib/cpp/libthrift.la -lssl -lcrypto -lrt 
-lpthread 
copying selected object files to avoid basename conflicts...
libtool: link: ln .libs/DebugProtoTest_types.o 
.libs/libtestgencpp.lax/lt1-DebugProtoTest_types.o || cp 
.libs/DebugProtoTest_types.o .libs/libtestgencpp.lax/lt1-DebugProtoTest_types.o
libtool: link: ar cru .libs/libtestgencpp.a .libs/DebugProtoTest_types.o 
.libs/OptionalRequiredTest_types.o 
.libs/libtestgencpp.lax/lt1-DebugProtoTest_types.o .libs/ThriftTest_types.o 
.libs/ThriftTest_extras.o .libs/DebugProtoTest_extras.o
libtool: link: ranlib .libs/libtestgencpp.a
libtool: link: rm -fr .libs/libtestgencpp.lax
libtool: link: ( cd ".libs" && rm -f "libtestgencpp.la" && ln -s 
"../libtestgencpp.la" "libtestgencpp.la" )
../../../compiler/cpp/thrift --gen cpp:templates,cob_style processor/proc.thrift
/bin/bash ../../../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. 
-I../../.. -I../../../lib/cpp/src -I/usr/include  -Wall -g -O2 -MT 
ChildService.lo -MD -MP -MF .deps/ChildService.Tpo -c -o ChildService.lo `test 
-f 'gen-cpp/ChildService.cpp' || echo './'`gen-cpp/ChildService.cpp
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../lib/cpp/src 
-I/usr/include -Wall -g -O2 -MT ChildService.lo -MD -MP -MF 
.deps/ChildService.Tpo -c gen-cpp/ChildService.cpp  -fPIC -DPIC -o 
.libs/ChildService.o
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../lib/cpp/src 
-I/usr/include -Wall -g -O2 -MT ChildService.lo -MD -MP -MF 
.deps/ChildService.Tpo -

Build failed in Jenkins: Thrift-Debian-Packages #294

2012-09-28 Thread Apache Jenkins Server
See 

Changes:

[jfarrell] THRIFT-1591: Enable TCP_NODELAY for ruby gem
Client: rb
Patch: Christos Trochalakis

Set TCP_NODELAY for client socket for ruby lib

--
[...truncated 1263 lines...]
copying src/transport/TTwisted.py -> 
build/lib.linux-x86_64-2.6-pydebug/thrift/transport
copying src/transport/__init__.py -> 
build/lib.linux-x86_64-2.6-pydebug/thrift/transport
creating build/lib.linux-x86_64-2.6-pydebug/thrift/server
copying src/server/THttpServer.py -> 
build/lib.linux-x86_64-2.6-pydebug/thrift/server
copying src/server/TServer.py -> 
build/lib.linux-x86_64-2.6-pydebug/thrift/server
copying src/server/TNonblockingServer.py -> 
build/lib.linux-x86_64-2.6-pydebug/thrift/server
copying src/server/TProcessPoolServer.py -> 
build/lib.linux-x86_64-2.6-pydebug/thrift/server
copying src/server/__init__.py -> 
build/lib.linux-x86_64-2.6-pydebug/thrift/server
running build_ext
building 'thrift.protocol.fastbinary' extension
creating build/temp.linux-x86_64-2.6-pydebug
creating build/temp.linux-x86_64-2.6-pydebug/src
creating build/temp.linux-x86_64-2.6-pydebug/src/protocol
gcc -pthread -fno-strict-aliasing -g -Wall -Wstrict-prototypes -g -O2 -fPIC 
-I/usr/include/python2.6_d -c src/protocol/fastbinary.c -o 
build/temp.linux-x86_64-2.6-pydebug/src/protocol/fastbinary.o
gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions 
-g -O2 build/temp.linux-x86_64-2.6-pydebug/src/protocol/fastbinary.o -o 
build/lib.linux-x86_64-2.6-pydebug/thrift/protocol/fastbinary_d.so
[33964 refs]
# PHP
cd 
/x1/jenkins/jenkins-slave/workspace/Thrift-Debian-Packages/thrift/lib/php/src/ext/thrift_protocol
 && \
phpize && \
./configure && make
Configuring for:
PHP Api Version: 20090626
Zend Module Api No:  20090626
Zend Extension Api No:   220090626
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for a sed that does not truncate output... /bin/sed
checking for cc... cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking how to run the C preprocessor... cc -E
checking for icc... no
checking for suncc... no
checking whether cc understands -c and -o together... yes
checking for system library directory... lib
checking if compiler supports -R... no
checking if compiler supports -Wl,-rpath,... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for PHP prefix... /usr
checking for PHP includes... -I/usr/include/php5 -I/usr/include/php5/main 
-I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext 
-I/usr/include/php5/ext/date/lib
checking for PHP extension directory... /usr/lib/php5/20090626
checking for PHP installed headers prefix... /usr/include/php5
checking if debug is enabled... no
checking if zts is enabled... no
checking for re2c... no
configure: WARNING: You will need re2c 0.13.4 or later if you want to 
regenerate PHP parsers.
checking for gawk... no
checking for nawk... nawk
checking if nawk is broken... no
checking whether to enable the thrift_protocol extension... yes, shared
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking how to run the C++ preprocessor... g++ -E
checking for a sed that does not truncate output... (cached) /bin/sed
checking for fgrep... /bin/grep -F
checking for ld used by cc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 3458764513820540925
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for ar... ar
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from cc object... ok
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checkin

[jira] [Closed] (THRIFT-1571) Update Ruby HTTP transport for recent Ruby versions

2012-09-28 Thread Jake Farrell (JIRA)

 [ 
https://issues.apache.org/jira/browse/THRIFT-1571?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jake Farrell closed THRIFT-1571.


   Resolution: Not A Problem
Fix Version/s: 0.9
 Assignee: Jake Farrell

Current trunk all ready has a variant of this patch in it


  resp = http.post(@url.request_uri, @outbuf, @headers)
  data = resp.body
  @inbuf = StringIO.new data
  @outbuf = ""



> Update Ruby HTTP transport for recent Ruby versions
> ---
>
> Key: THRIFT-1571
> URL: https://issues.apache.org/jira/browse/THRIFT-1571
> Project: Thrift
>  Issue Type: Bug
>  Components: Ruby - Library
>Affects Versions: 0.8
>Reporter: Seth Hitchings
>Assignee: Jake Farrell
> Fix For: 0.9
>
> Attachments: thrift-1571.patch
>
>
> Net::HTTP.post no longer returns the HTTP response body string as a second 
> return value. From 
> http://ruby-doc.org/stdlib-1.8.7/libdoc/net/http/rdoc/Net/HTTP.html:
> "In version 1.1 (ruby 1.6), this method returns a pair of objects, a 
> Net::HTTPResponse object and an entity body string. In version 1.2 (ruby 
> 1.8), this method returns a Net::HTTPResponse object."
> The attached patch modifies http_client_transport.rb to get the response body 
> from the returned Net::HTTPResponse object instead.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Closed] (THRIFT-1591) Enable TCP_NODELAY for ruby gem

2012-09-28 Thread Jake Farrell (JIRA)

 [ 
https://issues.apache.org/jira/browse/THRIFT-1591?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jake Farrell closed THRIFT-1591.


   Resolution: Fixed
Fix Version/s: 0.9
 Assignee: Christos Trochalakis

Committed, thanks for the patch

> Enable TCP_NODELAY for ruby gem
> ---
>
> Key: THRIFT-1591
> URL: https://issues.apache.org/jira/browse/THRIFT-1591
> Project: Thrift
>  Issue Type: Bug
>Reporter: Christos Trochalakis
>Assignee: Christos Trochalakis
> Fix For: 0.9
>
> Attachments: 0001-add-tcp-nodelay.patch
>
>
> Ruby gem doesn't set NODELAY socket option like c++, c# or java.
> This patch enables TCP_NODELAY for client socket.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira