[Serve] Remove register_custom_serializer (#10331)

This commit is contained in:
Simon Mo 2020-08-25 21:20:43 -07:00 committed by GitHub
parent cbd9632f3a
commit ed3fdd2c0b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 7 deletions

View file

@ -37,13 +37,16 @@ class Query:
self.shard_key = shard_key
self.is_shadow_query = is_shadow_query
def __reduce__(self):
return type(self).ray_deserialize, (self.ray_serialize(), )
def ray_serialize(self):
# NOTE: this method is needed because Query need to be serialized and
# sent to the replica worker. However, after we send the query to
# replica worker the async_future is still needed to retrieve the final
# result. Therefore we need a way to pass the information to replica
# worker without removing async_future.
clone = copy.copy(self).__dict__
clone = copy.copy(self.__dict__)
clone.pop("async_future")
return pickle.dumps(clone)

View file

@ -162,12 +162,6 @@ async def test_shard_key(serve_instance, task_runner_mock_actor):
async def test_router_use_max_concurrency(serve_instance):
# The VisibleRouter::get_queues method needs to pickle queries
# so we register serializer here. In regular code path, query
# serialization is done by Serve manually for performance.
ray.register_custom_serializer(Query, Query.ray_serialize,
Query.ray_deserialize)
signal = SignalActor.remote()
@ray.remote