From fa4290090dfaef3b964bb340e219115e7f2a3f45 Mon Sep 17 00:00:00 2001 From: Eric Liang Date: Tue, 2 Feb 2021 00:19:08 -0800 Subject: [PATCH] Add Ray client protocol version (#13846) --- python/ray/tests/test_client_init.py | 1 + python/ray/util/client/server/dataservicer.py | 7 ++++++- python/ray/util/client/worker.py | 1 + src/ray/protobuf/ray_client.proto | 2 ++ 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/python/ray/tests/test_client_init.py b/python/ray/tests/test_client_init.py index 0c54f93ea..5e43ac631 100644 --- a/python/ray/tests/test_client_init.py +++ b/python/ray/tests/test_client_init.py @@ -36,6 +36,7 @@ def test_num_clients(): assert isinstance(info3["ray_version"], str), info3 assert isinstance(info3["ray_commit"], str), info3 assert isinstance(info3["python_version"], str), info3 + assert isinstance(info3["protocol_version"], str), info3 api3.disconnect() finally: ray_client_server.shutdown_with_server(server) diff --git a/python/ray/util/client/server/dataservicer.py b/python/ray/util/client/server/dataservicer.py index a01369e43..709147820 100644 --- a/python/ray/util/client/server/dataservicer.py +++ b/python/ray/util/client/server/dataservicer.py @@ -14,6 +14,10 @@ if TYPE_CHECKING: logger = logging.getLogger(__name__) +# This version string is incremented to indicate breaking changes in the +# protocol that require upgrading the client version. +CURRENT_PROTOCOL_VERSION = "2020-02-01" + class DataServicer(ray_client_pb2_grpc.RayletDataStreamerServicer): def __init__(self, basic_service: "RayletServicer"): @@ -73,4 +77,5 @@ class DataServicer(ray_client_pb2_grpc.RayletDataStreamerServicer): python_version="{}.{}.{}".format( sys.version_info[0], sys.version_info[1], sys.version_info[2]), ray_version=ray.__version__, - ray_commit=ray.__commit__) + ray_commit=ray.__commit__, + protocol_version=CURRENT_PROTOCOL_VERSION) diff --git a/python/ray/util/client/worker.py b/python/ray/util/client/worker.py index a97ccaca7..535ec5ab7 100644 --- a/python/ray/util/client/worker.py +++ b/python/ray/util/client/worker.py @@ -139,6 +139,7 @@ class Worker: "python_version": data.python_version, "ray_version": data.ray_version, "ray_commit": data.ray_commit, + "protocol_version": data.protocol_version, } def get(self, vals, *, timeout: Optional[float] = None) -> Any: diff --git a/src/ray/protobuf/ray_client.proto b/src/ray/protobuf/ray_client.proto index 1ba867501..6781f1935 100644 --- a/src/ray/protobuf/ray_client.proto +++ b/src/ray/protobuf/ray_client.proto @@ -266,6 +266,8 @@ message ConnectionInfoResponse { string ray_commit = 3; // The Python version (e.g., "3.7.2"). string python_version = 4; + // The protocol version of the server (e.g., "2020-02-01"). + string protocol_version = 5; } message DataRequest {