From 62055cc01c19047ca3cdc7be46512d43a4a19942 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 26 Feb 2019 16:19:12 +0800 Subject: [PATCH] Cleanup depulicated code of Cython ID types (#4162) --- python/ray/_raylet.pyx | 12 +- python/ray/includes/task.pxi | 18 +-- python/ray/includes/unique_ids.pxi | 206 ++--------------------------- 3 files changed, 28 insertions(+), 208 deletions(-) diff --git a/python/ray/_raylet.pyx b/python/ray/_raylet.pyx index a5a6981d7..ca20eee99 100644 --- a/python/ray/_raylet.pyx +++ b/python/ray/_raylet.pyx @@ -79,7 +79,7 @@ cdef c_vector[CObjectID] ObjectIDsToVector(object_ids): cdef VectorToObjectIDs(c_vector[CObjectID] object_ids): result = [] for i in range(object_ids.size()): - result.append(ObjectID.from_native(object_ids[i])) + result.append(ObjectID(object_ids[i].binary())) return result @@ -87,11 +87,11 @@ def compute_put_id(TaskID task_id, int64_t put_index): if put_index < 1 or put_index > kMaxTaskPuts: raise ValueError("The range of 'put_index' should be [1, %d]" % kMaxTaskPuts) - return ObjectID.from_native(ComputePutId(task_id.data, put_index)) + return ObjectID(ComputePutId(task_id.data, put_index).binary()) def compute_task_id(ObjectID object_id): - return TaskID.from_native(ComputeTaskId(object_id.data)) + return TaskID(ComputeTaskId(object_id.data).binary()) cdef c_bool is_simple_value(value, int *num_elements_contained): @@ -354,7 +354,7 @@ cdef class RayletClient: cdef CActorCheckpointID checkpoint_id check_status(self.client.get().PrepareActorCheckpoint( actor_id.data, checkpoint_id)) - return ActorCheckpointID.from_native(checkpoint_id) + return ActorCheckpointID(checkpoint_id.binary()) def notify_actor_resumed_from_checkpoint(self, ActorID actor_id, ActorCheckpointID checkpoint_id): @@ -367,11 +367,11 @@ cdef class RayletClient: @property def client_id(self): - return ClientID.from_native(self.client.get().GetClientID()) + return ClientID(self.client.get().GetClientID().binary()) @property def driver_id(self): - return DriverID.from_native(self.client.get().GetDriverID()) + return DriverID(self.client.get().GetDriverID().binary()) @property def is_worker(self): diff --git a/python/ray/includes/task.pxi b/python/ray/includes/task.pxi index 9ba33908d..a7cfc684b 100644 --- a/python/ray/includes/task.pxi +++ b/python/ray/includes/task.pxi @@ -128,15 +128,15 @@ cdef class Task: def driver_id(self): """Return the driver ID for this task.""" - return DriverID.from_native(self.task_spec.get().DriverId()) + return DriverID(self.task_spec.get().DriverId().binary()) def task_id(self): """Return the task ID for this task.""" - return TaskID.from_native(self.task_spec.get().TaskId()) + return TaskID(self.task_spec.get().TaskId().binary()) def parent_task_id(self): """Return the task ID of the parent task.""" - return TaskID.from_native(self.task_spec.get().ParentTaskId()) + return TaskID(self.task_spec.get().ParentTaskId().binary()) def parent_counter(self): """Return the parent counter of this task.""" @@ -166,7 +166,7 @@ cdef class Task: if count > 0: assert count == 1 arg_list.append( - ObjectID.from_native(task_spec.ArgId(i, 0))) + ObjectID(task_spec.ArgId(i, 0).binary())) else: serialized_str = ( task_spec.ArgVal(i)[:task_spec.ArgValLength(i)]) @@ -182,7 +182,7 @@ cdef class Task: cdef CTaskSpecification *task_spec = self.task_spec.get() return_id_list = [] for i in range(task_spec.NumReturns()): - return_id_list.append(ObjectID.from_native(task_spec.ReturnId(i))) + return_id_list.append(ObjectID(task_spec.ReturnId(i).binary())) return return_id_list def required_resources(self): @@ -211,16 +211,16 @@ cdef class Task: def actor_creation_id(self): """Return the actor creation ID for the task.""" - return ActorID.from_native(self.task_spec.get().ActorCreationId()) + return ActorID(self.task_spec.get().ActorCreationId().binary()) def actor_creation_dummy_object_id(self): """Return the actor creation dummy object ID for the task.""" - return ObjectID.from_native( - self.task_spec.get().ActorCreationDummyObjectId()) + return ObjectID( + self.task_spec.get().ActorCreationDummyObjectId().binary()) def actor_id(self): """Return the actor ID for this task.""" - return ActorID.from_native(self.task_spec.get().ActorId()) + return ActorID(self.task_spec.get().ActorId().binary()) def actor_counter(self): """Return the actor counter for this task.""" diff --git a/python/ray/includes/unique_ids.pxi b/python/ray/includes/unique_ids.pxi index 9774c285b..670579737 100644 --- a/python/ray/includes/unique_ids.pxi +++ b/python/ray/includes/unique_ids.pxi @@ -51,21 +51,15 @@ cdef class UniqueID: check_id(id) self.data = CUniqueID.from_binary(id) - @staticmethod - cdef from_native(const CUniqueID& cpp_id): - cdef UniqueID self = UniqueID.__new__(UniqueID) - self.data = cpp_id - return self - @classmethod def from_binary(cls, id_bytes): if not isinstance(id_bytes, bytes): raise TypeError("Expect bytes, got " + str(type(id_bytes))) return cls(id_bytes) - @staticmethod - def nil(): - return UniqueID.from_native(CUniqueID.nil()) + @classmethod + def nil(cls): + return cls(b"") def __hash__(self): return self.data.hash() @@ -82,9 +76,6 @@ cdef class UniqueID: def size(self): return self.data.size() - def __len__(self): - return self.size() - def binary(self): return self.data.binary() @@ -98,7 +89,7 @@ cdef class UniqueID: return self.hex() def __repr__(self): - return "UniqueID(" + self.hex() + ")" + return self.__class__.__name__ + "(" + self.hex() + ")" def __str__(self): return self.__repr__() @@ -115,210 +106,39 @@ cdef class UniqueID: cdef class ObjectID(UniqueID): - - def __init__(self, id): - if not id: - self.data = CUniqueID() - else: - check_id(id) - self.data = CUniqueID.from_binary(id) - - @staticmethod - cdef from_native(const CObjectID& cpp_id): - cdef ObjectID self = ObjectID.__new__(ObjectID) - self.data = cpp_id - return self - - @staticmethod - def nil(): - return ObjectID.from_native(CObjectID.nil()) - - def __repr__(self): - return "ObjectID(" + self.hex() + ")" + pass cdef class TaskID(UniqueID): - - def __init__(self, id): - if not id: - self.data = CUniqueID() - else: - check_id(id) - self.data = CUniqueID.from_binary(id) - - @staticmethod - cdef from_native(const CTaskID& cpp_id): - cdef TaskID self = TaskID.__new__(TaskID) - self.data = cpp_id - return self - - @staticmethod - def nil(): - return TaskID.from_native(CTaskID.nil()) - - def __repr__(self): - return "TaskID(" + self.hex() + ")" + pass cdef class ClientID(UniqueID): - - def __init__(self, id): - if not id: - self.data = CUniqueID() - else: - check_id(id) - self.data = CUniqueID.from_binary(id) - - @staticmethod - cdef from_native(const CClientID& cpp_id): - cdef ClientID self = ClientID.__new__(ClientID) - self.data = cpp_id - return self - - @staticmethod - def nil(): - return ClientID.from_native(CClientID.nil()) - - def __repr__(self): - return "ClientID(" + self.hex() + ")" + pass cdef class DriverID(UniqueID): - - def __init__(self, id): - if not id: - self.data = CUniqueID() - else: - check_id(id) - self.data = CUniqueID.from_binary(id) - - @staticmethod - cdef from_native(const CDriverID& cpp_id): - cdef DriverID self = DriverID.__new__(DriverID) - self.data = cpp_id - return self - - @staticmethod - def nil(): - return DriverID.from_native(CDriverID.nil()) - - def __repr__(self): - return "DriverID(" + self.hex() + ")" + pass cdef class ActorID(UniqueID): - - def __init__(self, id): - if not id: - self.data = CUniqueID() - else: - check_id(id) - self.data = CUniqueID.from_binary(id) - - @staticmethod - cdef from_native(const CActorID& cpp_id): - cdef ActorID self = ActorID.__new__(ActorID) - self.data = cpp_id - return self - - @staticmethod - def nil(): - return ActorID.from_native(CActorID.nil()) - - def __repr__(self): - return "ActorID(" + self.hex() + ")" + pass cdef class ActorHandleID(UniqueID): - - def __init__(self, id): - if not id: - self.data = CUniqueID() - else: - check_id(id) - self.data = CUniqueID.from_binary(id) - - @staticmethod - cdef from_native(const CActorHandleID& cpp_id): - cdef ActorHandleID self = ActorHandleID.__new__(ActorHandleID) - self.data = cpp_id - return self - - @staticmethod - def nil(): - return ActorHandleID.from_native(CActorHandleID.nil()) - - def __repr__(self): - return "ActorHandleID(" + self.hex() + ")" + pass cdef class ActorCheckpointID(UniqueID): - - def __init__(self, id): - if not id: - self.data = CUniqueID() - else: - check_id(id) - self.data = CUniqueID.from_binary(id) - - @staticmethod - cdef from_native(const CActorCheckpointID& cpp_id): - cdef ActorCheckpointID self = ActorCheckpointID.__new__(ActorCheckpointID) - self.data = cpp_id - return self - - @staticmethod - def nil(): - return ActorCheckpointID.from_native(CActorCheckpointID.nil()) - - def __repr__(self): - return "ActorCheckpointID(" + self.hex() + ")" + pass cdef class FunctionID(UniqueID): - - def __init__(self, id): - if not id: - self.data = CUniqueID() - else: - check_id(id) - self.data = CUniqueID.from_binary(id) - - @staticmethod - cdef from_native(const CFunctionID& cpp_id): - cdef FunctionID self = FunctionID.__new__(FunctionID) - self.data = cpp_id - return self - - @staticmethod - def nil(): - return FunctionID.from_native(CFunctionID.nil()) - - def __repr__(self): - return "FunctionID(" + self.hex() + ")" + pass cdef class ActorClassID(UniqueID): - - def __init__(self, id): - if not id: - self.data = CUniqueID() - else: - check_id(id) - self.data = CUniqueID.from_binary(id) - - @staticmethod - cdef from_native(const CActorClassID& cpp_id): - cdef ActorClassID self = ActorClassID.__new__(ActorClassID) - self.data = cpp_id - return self - - @staticmethod - def nil(): - return ActorClassID.from_native(CActorClassID.nil()) - - def __repr__(self): - return "ActorClassID(" + self.hex() + ")" + pass _ID_TYPES = [