# Ray Tune - ray.tune.RunConfig storage\_path doesn't work after upgrading to 2.43.0

**URL:** <https://discuss.ray.io/t/ray-tune-ray-tune-runconfig-storage-path-doesnt-work-after-upgrading-to-2-43-0/22066>\
**Category:** Ray Tune\
**Created:** [March 17, 2025, 8:37pm UTC](https://discuss.ray.io/t/ray-tune-ray-tune-runconfig-storage-path-doesnt-work-after-upgrading-to-2-43-0/22066 "2025-03-17T20:37:06Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![sluo](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ray.io/sluo/32/5748_2.png) [@sluo](https://discuss.ray.io/u/sluo)\
**Post date:** [March 17, 2025, 8:37pm UTC](https://discuss.ray.io/t/ray-tune-ray-tune-runconfig-storage-path-doesnt-work-after-upgrading-to-2-43-0/22066/1 "2025-03-17T20:37:06Z")

</div>

**1. Severity of the issue: (select one)**

High: Completely blocks me.

**2. Environment:**

- Ray version: 2.43.0
- Python version: 3.11.11
- OS: Linux-5.14.0-427.42.1.el9\_4.x86\_64-x86\_64-with-glibc2.34
- Cloud/Infrastructure: N/A
- Other libs/tools (if relevant): Pandas==2.2.3

**3. What happened vs. what you expected:**

- Expected: Intermediate result saved in specified storage path
- Actual: result is saved in artifact directory that’s in tmp directory

My Tuning task required me saving temporary predictions (pd.DataFrame) that doesn’t make sense to store in scores, so I was able to do it by specifying storage path in ray.tune.RunConfig as args in tune.Tuner. It was working fine and I was on version 2.9.1. I upgraded ray from 2.9.1 to 2.43.0 (I know I was bit outdated but that’s why I upgraded…), and instead of saving to the storage path I specified, the predictions is saved in artifact directory under the corresponding session directory that’s in the ray\_tmp/ (as I specified in ray.init).

code to reproduce -

```auto
from ray import train, tune
import ray
import json
import pandas as pd
def objective(x, a, b): # Define an objective function.
    return a * (x**0.5) + b

def trainable(config): # Pass a "config" dictionary into your trainable.

    for x in range(20): # "Train" for 20 iterations and compute intermediate scores.
        score = objective(x, config["a"], config["b"])
        df = pd.DataFrame(data={'col1': [1, 2], 'col2': [3, 4]})
        df.to_parquet('pred.parquet')
        tune.report({"score": score}) # Send the score to Tune.

if __name__ == ' __main__':
    ray.init(
        _temp_dir="/home/ray_tmps",
        _system_config={
        "automatic_object_spilling_enabled": True,
        "object_spilling_config": json.dumps(
            {"type": "filesystem", "params": {"directory_path": "home/ray_tmps"}},)}
    )
    tuner = tune.Tuner(trainable, param_space={"a": tune.grid_search([1,2]), "b": 4}, run_config=tune.RunConfig(storage_path="~/tune_results", name="just_a_test"))
    tuner.fit()

```

---

<div class="post-metadata">

**Author:** ![matthewdeng](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ray.io/matthewdeng/32/1446_2.png) [@matthewdeng](https://discuss.ray.io/u/matthewdeng)\
**Post date:** [March 19, 2025, 10:14pm UTC](https://discuss.ray.io/t/ray-tune-ray-tune-runconfig-storage-path-doesnt-work-after-upgrading-to-2-43-0/22066/2 "2025-03-19T22:14:21Z")

</div>

This behavior has been made more explicit through the `SyncConfig(sync_artifacts=True)` configuration.

Could you try that and see if it works as expected?

> **[Logging and Outputs in Tune — Ray 2.43.0](https://docs.ray.io/en/releases-2.43.0/tune/tutorials/tune-output.html#how-do-you-log-arbitrary-files-from-a-tune-trainable)**
