You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Hudson (JIRA)" <ji...@apache.org> on 2012/07/18 08:28:34 UTC

[jira] [Commented] (THRIFT-1064) TClientInfoServerHandler::processContext() is not called for TNonblockingServer server event handler

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

Hudson commented on THRIFT-1064:
--------------------------------

Integrated in Thrift #510 (See [https://builds.apache.org/job/Thrift/510/])
    THRIFT-1064 TClientInfoServerHandler::processContext() is not called for TNonblockingServer server event handler 
Patch: Pavlin Radoslavov (Revision 1362773)

     Result = FAILURE
roger : http://svn.apache.org/viewvc/?view=rev&rev=1362773
Files : 
* /thrift/trunk/lib/cpp/src/thrift/server/TNonblockingServer.cpp

                
> TClientInfoServerHandler::processContext() is not called for TNonblockingServer server event handler
> ----------------------------------------------------------------------------------------------------
>
>                 Key: THRIFT-1064
>                 URL: https://issues.apache.org/jira/browse/THRIFT-1064
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Library
>         Environment: FreeBSD-8.0 on x86
>            Reporter: Pavlin Radoslavov
>            Assignee: Pavlin Radoslavov
>         Attachments: thrift_1064.patch, thrift_process_context.patch
>
>   Original Estimate: 0.5h
>  Remaining Estimate: 0.5h
>
> If the server event handler for TNonblockingServer is set,
> method TClientInfoServerHandler::processContext() should be called
> right before invoking the processor for the RPC.
> However, in certain cases (e.g., isThreadPoolProcessing() for the
> server is false), the processContext() method is not called.
> The attached patch illustrates the omission.
> For cross-reference, see the existing call to processContext()
> inside the following code from method TConnection::Task::run()
> in file TNonblockingServer.cpp :
> class TConnection::Task: public Runnable {
> ...
>   void run() {
>     try {
>       for (;;) {
>         if (serverEventHandler_ != NULL) {
>           serverEventHandler_->processContext(connectionContext_, connection_->getTSocket());
>         }
>         if (!processor_->process(input_, output_, connectionContext_) ||
>             !input_->getTransport()->peek()) {
>           break;
>         }
>       }
>     } catch (TTransportException& ttx) {
> ...

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira