[ https://issues.apache.org/jira/browse/THRIFT-966?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12924926#action_12924926 ]
Ivan Murashko commented on THRIFT-966: -------------------------------------- Some comments about how it can be used: - TServerSocket is got 0 as port number during the server initialization - The real assigned port number can be got via TServerEventHandler::preServe and stored somewhere (at a DB for example). Thus a client can always know is the server started and on which port. The feature is really necessary if we have a lot of services defined at a .thrift file. It's very hard to guarantee that the manually assigned ports are not used by any other application. In the case of 0 port we will get the guarantee. The feature is requested time to time. For example there are several requests on ICE by ZeroC about the same feature: http://www.zeroc.com/forums/help-center/2600-how-know-port-adapter-using.html BTW: About the solution cost: I don't think that one additional method and ~10 lines of code is a huge price for the feature > Bind to zero port > ----------------- > > Key: THRIFT-966 > URL: https://issues.apache.org/jira/browse/THRIFT-966 > Project: Thrift > Issue Type: Improvement > Components: C++ - Library > Reporter: Ivan Murashko > Fix For: 0.6 > > Attachments: bindinfo_retrieval.diff > > Original Estimate: 1h > Remaining Estimate: 1h > > apache::thrift::transport::TServerSocket class has a possibility to set 0 as > port number. In this case bind will assign a free port number. Unfortunately > there is no possibility to retrieve the assigned port number from the > TServerSocket class. Thus clients will not be able to connect the server. > The suggested patch introduces > apache::thrift::transport::TServerSocket::getBindPort() method that return > the assigned port number or -1 in the case of any failure or when the port > has not been assigned yet. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.