[
https://issues.apache.org/jira/browse/HAMA-789?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13724788#comment-13724788
]
Suraj Menon edited comment on HAMA-789 at 7/31/13 2:46 AM:
-----------------------------------------------------------
I remember wondering about this long time back. I am pretty confident today
that Groomserver does not need peers port information. Please review the patch.
Summary of patch:
- Removed the port handling responsibility from GroomServer.
- MessageManager has the responsibility to hold and return the actual server
address and port. A MessageManager still can initialize (or try initialize on
the port specified by configuration)
- BSPNetUtils#getAddress is changed to pick port from last token delimited by
':'. Let me know if this is wrong!
- The patch is verified only with unit test cases, but not on a cluster.
- The changes for LocalBSPRunner is done as is. I am a little stifled at how
different BSP Peers are getting different ports in local BSP Runner.
was (Author: surajsmenon):
I remember wondering about this long time back. I am pretty confident today
that Groomserver does not need peers port information. Please review the patch.
Summary of patch:
- Removed the port handling responsibility from GroomServer.
- MessageManager has the responsibility to hold and return the actual server
address and port. A MessageManager still can initialize (or try initialize on
the port specified by configuration)
- BSPNetUtils#getAddress is changed to pick port from last token delimited by
':'. Let me know if this is wrong!
- The patch is verified only with unit test cases, but not on a cluster.
> BspPeer launched fail because port is bound by others
> -----------------------------------------------------
>
> Key: HAMA-789
> URL: https://issues.apache.org/jira/browse/HAMA-789
> Project: Hama
> Issue Type: Bug
> Components: bsp core
> Affects Versions: 0.6.2
> Reporter: MaoYuan Xian
> Assignee: Suraj Menon
> Fix For: 0.6.3
>
> Attachments: HAMA-789.patch
>
>
> In GroomServer, we call BSPNetUtils.getNextAvailable to assigning the bsppeer
> listening port. After figures out an available port, the GroomServer release
> the port and launches the BspPeer(Child), then the child listens to this port.
> However, during the GroomServer release the port and peer listens the port,
> if other process in the operation system binds to the same port occasionally,
> the bsppeer will fail to start up because of "Address already in use"
> exception.
--
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