Skip to content

Commit 194021c

Browse files
authored
Skip tests for MLDataset when ray>=2.0 (#3319)
Use latest ray Temporarily pin numpy
1 parent bfa1409 commit 194021c

File tree

5 files changed

+37
-5
lines changed

5 files changed

+37
-5
lines changed

.github/workflows/platform-ci.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,10 +103,12 @@ jobs:
103103
rm -fr /tmp/etcd-$ETCD_VER-linux-amd64.tar.gz /tmp/etcd-download-test
104104
fi
105105
if [ -n "$WITH_RAY" ] || [ -n "$WITH_RAY_DAG" ] || [ -n "$WITH_RAY_DEPLOY" ]; then
106-
pip install "xgboost_ray==0.1.5" "xgboost<1.6.0" "protobuf<4"
106+
pip install "xgboost_ray" "protobuf<4"
107+
# Future PR will Unpin numpy.
108+
pip install "numpy<1.24"
107109
# Use standard ray releases when ownership bug is fixed
108-
pip uninstall -y ray
109-
pip install https://s3-us-west-2.amazonaws.com/ray-wheels/master/c03d0432f3bb40f3c597b7fc450870ba5e34ad56/ray-3.0.0.dev0-cp38-cp38-manylinux2014_x86_64.whl
110+
# pip uninstall -y ray
111+
# pip install https://s3-us-west-2.amazonaws.com/ray-wheels/master/c03d0432f3bb40f3c597b7fc450870ba5e34ad56/ray-3.0.0.dev0-cp38-cp38-manylinux2014_x86_64.whl
110112
# Ray Datasets need pyarrow>=6.0.1
111113
pip install "pyarrow>=6.0.1"
112114
fi

mars/dataframe/contrib/raydataset/tests/test_mldataset.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
from .....deploy.oscar.session import new_session
2424
from .....tests.core import require_ray
2525
from .....utils import lazy_import
26+
from ....utils import ray_deprecate_ml_dataset
2627
from ....contrib import raydataset as mdd
2728

2829
ray = lazy_import("ray")
@@ -53,6 +54,10 @@ async def create_cluster(request):
5354

5455
@require_ray
5556
@pytest.mark.asyncio
57+
@pytest.mark.skipif(
58+
ray_deprecate_ml_dataset in (True, None),
59+
reason="Ray (>=2.0) has deprecated MLDataset.",
60+
)
5661
async def test_dataset_related_classes(ray_start_regular_shared):
5762
from ..mldataset import ChunkRefBatch
5863

@@ -74,6 +79,10 @@ async def test_dataset_related_classes(ray_start_regular_shared):
7479
@require_ray
7580
@pytest.mark.asyncio
7681
@pytest.mark.parametrize("chunk_size_and_num_shards", [[5, 5], [5, 4], [None, None]])
82+
@pytest.mark.skipif(
83+
ray_deprecate_ml_dataset in (True, None),
84+
reason="Ray (>=2.0) has deprecated MLDataset.",
85+
)
7786
async def test_convert_to_ray_mldataset(
7887
ray_start_regular_shared, create_cluster, chunk_size_and_num_shards
7988
):
@@ -92,6 +101,10 @@ async def test_convert_to_ray_mldataset(
92101
@require_ray
93102
@pytest.mark.asyncio
94103
@pytest.mark.skipif(xgboost_ray is None, reason="xgboost_ray not installed")
104+
@pytest.mark.skipif(
105+
ray_deprecate_ml_dataset in (True, None),
106+
reason="Ray (>=2.0) has deprecated MLDataset.",
107+
)
95108
async def test_mars_with_xgboost(ray_start_regular_shared, create_cluster):
96109
from xgboost_ray import RayDMatrix, RayParams, train, predict
97110
from sklearn.datasets import load_breast_cancer

mars/dataframe/datasource/tests/test_datasource.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
read_ray_mldataset,
4747
DataFrameReadMLDataset,
4848
)
49+
from ...utils import ray_deprecate_ml_dataset
4950
from ..series import from_pandas as from_pandas_series
5051

5152

@@ -587,6 +588,10 @@ def test_date_range():
587588

588589

589590
@require_ray
591+
@pytest.mark.skipif(
592+
ray_deprecate_ml_dataset in (True, None),
593+
reason="Ray (>=2.0) has deprecated MLDataset.",
594+
)
590595
def test_read_ray_mldataset(ray_start_regular):
591596
test_df1 = pd.DataFrame(
592597
{

mars/dataframe/datasource/tests/test_datasource_execution.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,13 @@
4343
from ....config import option_context
4444
from ....tests.core import require_cudf, require_ray
4545
from ....utils import arrow_array_to_objects, lazy_import, pd_release_version
46+
from ...utils import ray_deprecate_ml_dataset
4647
from ..dataframe import from_pandas as from_pandas_df
4748
from ..series import from_pandas as from_pandas_series
4849
from ..index import from_pandas as from_pandas_index, from_tileable
4950
from ..from_tensor import dataframe_from_tensor, dataframe_from_1d_tileables
5051
from ..from_records import from_records
5152

52-
5353
ray = lazy_import("ray")
5454
_date_range_use_inclusive = pd_release_version[:2] >= (1, 4)
5555

@@ -1214,7 +1214,10 @@ def test_read_raydataset(ray_start_regular, ray_create_mars_cluster):
12141214

12151215

12161216
@require_ray
1217-
@pytest.mark.skip_ray_dag # mldataset is not compatible with Ray DAG
1217+
@pytest.mark.skipif(
1218+
ray_deprecate_ml_dataset in (True, None),
1219+
reason="Ray (>=2.0) has deprecated MLDataset.",
1220+
)
12181221
def test_read_ray_mldataset(ray_start_regular, ray_create_mars_cluster):
12191222
test_dfs = [
12201223
pd.DataFrame(

mars/dataframe/utils.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
is_full_slice,
4545
parse_readable_size,
4646
is_on_ray,
47+
parse_version,
4748
)
4849

4950
try:
@@ -53,6 +54,14 @@
5354

5455
cudf = lazy_import("cudf", rename="cudf")
5556
vineyard = lazy_import("vineyard")
57+
try:
58+
import ray
59+
60+
ray_release_version = parse_version(ray.__version__).release
61+
ray_deprecate_ml_dataset = ray_release_version[:2] >= (2, 0)
62+
except ImportError:
63+
ray_release_version = None
64+
ray_deprecate_ml_dataset = None
5665
logger = logging.getLogger(__name__)
5766

5867

0 commit comments

Comments
 (0)