You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Jesse Fang (JIRA)" <ji...@apache.org> on 2015/07/27 06:51:04 UTC

[jira] [Updated] (THRIFT-3270) reusing TNonblockingServer::TConnection cause dirty TSocket

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

Jesse Fang updated THRIFT-3270:
-------------------------------
    Description: 
TNonblockingServer reuse TNonblockingServer::TConnection when possible, and init TSocket object by
  tSocket_->setSocketFD(socket);
  tSocket_->setCachedAddress(addr, addrLen);
But TSocket::setCachedAddress() don't clear variable peerHost_ and peerAddress_,cause getPeerAddress() and getPeerHost() return dirty data.

Solution, clear variable peerHost_ and peerAddress_ in TSocket::setCachedAddress()


  was:
TNonblockingServer reuse TNonblockingServer::TConnection when possible, and init TSocket object by
  tSocket_->setSocketFD(socket);
  tSocket_->setCachedAddress(addr, addrLen);
But TSocket::setCachedAddress() don't clear variable peerHost_ and peerAddress_,cause getPeerAddress() and getPeerHost() return dirty data.

Solution, clear clear variable peerHost_ and peerAddress_ in TSocket::setCachedAddress()



> reusing TNonblockingServer::TConnection cause dirty TSocket
> -----------------------------------------------------------
>
>                 Key: THRIFT-3270
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3270
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Library
>    Affects Versions: 0.9, 0.9.1, 0.9.2
>            Reporter: Jesse Fang
>            Priority: Minor
>
> TNonblockingServer reuse TNonblockingServer::TConnection when possible, and init TSocket object by
>   tSocket_->setSocketFD(socket);
>   tSocket_->setCachedAddress(addr, addrLen);
> But TSocket::setCachedAddress() don't clear variable peerHost_ and peerAddress_,cause getPeerAddress() and getPeerHost() return dirty data.
> Solution, clear variable peerHost_ and peerAddress_ in TSocket::setCachedAddress()



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)