You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by Roger Meier <ro...@bufferoverflow.ch> on 2012/05/01 23:04:06 UTC

AW: Discussion on thrift Exceptions

Thanks Nathaniel,

Most servers just echo the request. I think the test/ThriftTest.thrift
should contain information (e.g. as comment) on the default behavior and
return values, etc.

Umbrella JIRA issue for this is:
https://issues.apache.org/jira/browse/THRIFT-847 - Test Framework
harmonization across all languages

;-r

I fixed and committed configure.ac (boost 1.41.0). => THRIFT-1589

> -----Ursprüngliche Nachricht-----
> Von: Nathaniel Cook [mailto:nvcook42@gmail.com]
> Gesendet: Dienstag, 1. Mai 2012 22:04
> An: user@thrift.apache.org
> Betreff: Re: Discussion on thrift Exceptions
> 
> Roger,
> 
> Thank you for the help.  I got it working. I have also noticed that
several test
> clients are just printing results to stdout and always exiting with return
code
> 0. The script test.sh is deciding failure or success of the test by the
return
> code. Is there something else I am missing or will these tests always say
they
> are succeeding even if they are not? Also is there an umbrella issue in
JIRA to
> track the state of these tests? I am willing to help out here where ever
is
> best.
> 
> Nathaniel Cook
> 
> FYI: Apparently the cpp code that uses boost unit test framework needs at
> least boost 1.41. Currently the configure.ac is checking for boost
> >= 1.33.1
> 
> On Mon, Apr 30, 2012 at 1:38 PM, Roger Meier <ro...@bufferoverflow.ch>
> wrote:
> > Hi Nathaniel
> >
> > Just execute  this:
> > ./configure
> > make
> > make check (builds cpp/TestServer, cpp/TestClient and others) cd test
> > sh test.sh
> >
> > test.sh uses timeout to stop a server after a defined time.
> > cpp/TestServer does not implement stop, that's why we do not run these
> > tests with the *make
> > check* target
> >
> > ;-r
> >
> >
> >
> >> -----Ursprüngliche Nachricht-----
> >> Von: Nathaniel Cook [mailto:nvcook42@gmail.com]
> >> Gesendet: Montag, 30. April 2012 19:04
> >> An: user@thrift.apache.org
> >> Betreff: Re: Discussion on thrift Exceptions
> >>
> >> I have been looking into the cross language tests and have a few
> >> questions. I have svn trunk checked out and compiled and I am trying
> >> to run test.sh. I get several errors because cpp/TestClient and
> >> cpp/TestServer do not exist. I dug around the make file for a while
> >> to see if i needed to build specific target to compile those binaries
> >> and all I found was this:
> >>
> >>
> >> # we currently do not run the testsuite, stop c++ server issue #
> >> TESTS = \ #   $(check_PROGRAMS)
> >>
> >>
> >> where check_PROGRAMS is a list of binaries needed to run the tests.
> >> What is the reason these are commented out? Can I get around it for
> >> now? Thanks.
> >>
> >> Nathaniel
> >>
> >> On Mon, Apr 30, 2012 at 9:46 AM, Nathaniel Cook <nv...@gmail.com>
> >> wrote:
> >> > Great thanks, I created an bug and will submit a patch soon.
> >> > THRIFT-1588. I'll also look into writing a cross language test to
> >> > help catch this in all languages
> >> >
> >> > Nathaniel Cook
> >> >
> >> > On Sat, Apr 28, 2012 at 2:09 PM, Roger Meier
> >> > <ro...@bufferoverflow.ch>
> >> wrote:
> >> >> Yes, this might be a bug.
> >> >>
> >> >> The TException.java does nearly nothing, this is probably the
> >> >> reason
> > why
> >> the
> >> >> generated classes inherit Exception.
> >> >> However, java should also inherit from TException to align cross
> > language
> >> >> behavior.
> >> >> Please, create an issue and submit a patch if possible.
> >> >>
> >> >> Another thing to improve cross language interoperability are cross
> >> language
> >> >> tests:
> >> >> https://builds.apache.org/view/S-
> >> Z/view/Thrift/job/Thrift/lastSuccessfulBuil
> >> >> d/artifact/thrift/test/test.log
> >> >> any patch to improve these tests or patches to fix issues is
welcome!
> >> >>
> >> >> ;-r
> >> >>
> >> >>> -----Ursprüngliche Nachricht-----
> >> >>> Von: Nathaniel Cook [mailto:nvcook42@gmail.com]
> >> >>> Gesendet: Dienstag, 24. April 2012 19:41
> >> >>> An: user@thrift.apache.org
> >> >>> Betreff: Discussion on thrift Exceptions
> >> >>>
> >> >>> I have some questions about how exceptions are handled in thrift
> >> because
> >> >> it
> >> >>> seems to be inconsistent across different languages.
> >> >>>
> >> >>> The way I see it there are two kinds of exceptions that should be
> > thrown
> >> >>> when a client makes a call:
> >> >>>
> >> >>> 1. The service itself throws an exception that was generated for
> >> >>> that
> >> >> service
> >> >>> 2. The thrift application had an error and throws an exception
> >> >>>
> >> >>> It seems that the TApplicationException was designed to handle
> >> >>> the
> >> second
> >> >>> case. Also all exceptions thrown should inherit one common
> >> >>> exception
> >> so
> >> >>> that they can easily be caught in the client application.
> >> >>>
> >> >>> Currently java is different from many of the other languages. The
> >> >> generated
> >> >>> exceptions from java inherit from the base Exception class while
> >> >>> in
> >> >>> C++,Python,PHP, JS and possible others extend TException. Is
> >> >>> C++there a
> >> >>> specific reason that the Java exceptions are different?
> >> >>>
> >> >>> If this is a bug I will gladly add it to JIRA and submit a patch.
> >> >>>
> >> >>> Nathaniel Cook
> >> >>>
> >> >>
> >> >>
> >>
> >
> >
>