Skip to content

Commit ce4e3a2

Browse files
hobostayclaude
authored andcommitted
fix: address resource leaks and code quality issues
- Fix socket resource leak in get_node_ip() by properly closing socket - Replace list comprehension with proper loop in destroy_placement_group() for better error handling Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent c70c473 commit ce4e3a2

2 files changed

Lines changed: 7 additions & 3 deletions

File tree

roll/distributed/scheduler/resource_manager.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,8 @@ def nodes_placement_group(self, node_rank) -> PlacementGroup:
8989
return self.node2pg[node_rank]
9090

9191
def destroy_placement_group(self):
92-
[ray.util.remove_placement_group(pg) for pg in self.placement_groups]
92+
for pg in self.placement_groups:
93+
ray.util.remove_placement_group(pg)
9394

9495
def allocate_placement_group(self, world_size, device_mapping: List[int] = None) -> List[List[Dict]]:
9596
"""

roll/utils/network_utils.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,11 @@
33

44
def get_node_ip():
55
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
6-
s.connect(("8.8.8.8", 80))
7-
return s.getsockname()[0]
6+
try:
7+
s.connect(("8.8.8.8", 80))
8+
return s.getsockname()[0]
9+
finally:
10+
s.close()
811

912

1013
def collect_free_port():

0 commit comments

Comments
 (0)