Skip to content

[pull] master from ray-project:master#3155

Merged
pull[bot] merged 10 commits intomiqdigital:masterfrom
ray-project:master
Jun 3, 2025
Merged

[pull] master from ray-project:master#3155
pull[bot] merged 10 commits intomiqdigital:masterfrom
ray-project:master

Conversation

@pull
Copy link
Copy Markdown

@pull pull bot commented Jun 3, 2025

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.1)

Can you help keep this open source service alive? 💖 Please sponsor : )

abrarsheikh and others added 10 commits June 2, 2025 14:50
Fixes: #53478

---------

Signed-off-by: abrar <abrar@anyscale.com>
Signed-off-by: fscnick <fscnick.dev@gmail.com>
Signed-off-by: Kai-Hsun Chen <kaihsun@apache.org>
Co-authored-by: Kai-Hsun Chen <kaihsun@apache.org>
Co-authored-by: Douglas Strodtman <douglas@anyscale.com>
- Make all tests in `test_runtime_env.py` use shared cluster fixture.
- Move other tests to `test_runtime_env_standalone.py`.
- Split the tests in `test_runtime_env_2.py` into one of these two
files.

Depends on: #53479

---------

Signed-off-by: Edward Oakes <ed.nmi.oakes@gmail.com>
…53434)

## Summary
This PR replaces the use of `requests` with `httpx` in our test client
logic to resolve an issue where sockets are not properly released after
making HTTP requests. This was causing interference in our test suite

### Background
We observed that even after a simple request is completed and the
process exits, the socket used by `requests` remains in `TIME_WAIT` or
`FIN_WAIT1` state:
```
sconn(fd=-1, family=AF_INET, type=SOCK_STREAM, laddr=127.0.0.1:8000, raddr=127.0.0.1:50520, status='FIN_WAIT1', pid=None)
```

This issue persists even when:

- Using `requests.Session()` in a with block.
- Explicitly calling `.close()` on the response object.

In contrast, using `httpx` immediately releases the socket, as confirmed
via `psutil` and `ss`.

**Why this matters**
In our test suite:

- Port reuse is disabled.
- Each replica is assigned a unique port.
- Both server and client run on the same machine.

As a result, if the client leaves sockets in a lingering state, those
ports appear as “in use” to the OS. This causes subsequent replicas to
fail to bind to their assigned ports, breaking the test.

Signed-off-by: abrar <abrar@anyscale.com>
Fix `iter_rows` involving `_get_max_chunk_size`

- Calling `_get_max_chunk_size` in `ArrowBlockAccessor` constructor has
overhead.
- So moving `_get_max_chunk_size` call into `iter_rows` conditionally
only for `public_row_format`.

---------

Signed-off-by: Srinath Krishnamachari <srinath.krishnamachari@anyscale.com>
Signed-off-by: Stephanie Wang <swang@cs.berkeley.edu>
Signed-off-by: Stephanie wang <smwang@cs.washington.edu>
Signed-off-by: Jiajun Yao <jeromeyjj@gmail.com>
Co-authored-by: angelinalg <122562471+angelinalg@users.noreply.github.com>
Co-authored-by: Jiajun Yao <jeromeyjj@gmail.com>
…ad (#53491)

If actors are force-killed with `ray.kill`, they can end up in the DEAD
state even if max_restarts is infinite. This can cause our assertion to
fail and lead to confusing errors.


Signed-off-by: Balaji Veeramani <bveeramani@berkeley.edu>
so that pytest is always installed

Signed-off-by: abrar <abrar@anyscale.com>
@pull pull bot added the ⤵️ pull label Jun 3, 2025
@pull pull bot merged commit 3ee4061 into miqdigital:master Jun 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants