mirror of
https://github.com/wassname/ray.git
synced 2026-06-28 13:37:39 +08:00
[xray] Put GCS data into the redis data shard (#2298)
This commit is contained in:
committed by
Robert Nishihara
parent
d75b39f6df
commit
762bdf646e
@@ -214,9 +214,9 @@ class GlobalState(object):
|
||||
|
||||
else:
|
||||
# Use the raylet code path.
|
||||
message = self.redis_client.execute_command(
|
||||
"RAY.TABLE_LOOKUP", ray.gcs_utils.TablePrefix.OBJECT, "",
|
||||
object_id.id())
|
||||
message = self._execute_command(object_id, "RAY.TABLE_LOOKUP",
|
||||
ray.gcs_utils.TablePrefix.OBJECT,
|
||||
"", object_id.id())
|
||||
result = []
|
||||
gcs_entry = ray.gcs_utils.GcsTableEntry.GetRootAsGcsTableEntry(
|
||||
message, 0)
|
||||
@@ -263,7 +263,7 @@ class GlobalState(object):
|
||||
for key in object_location_keys
|
||||
])
|
||||
else:
|
||||
object_keys = self.redis_client.keys(
|
||||
object_keys = self._keys(
|
||||
ray.gcs_utils.TablePrefix_OBJECT_string + "*")
|
||||
object_ids_binary = {
|
||||
key[len(ray.gcs_utils.TablePrefix_OBJECT_string):]
|
||||
@@ -346,9 +346,9 @@ class GlobalState(object):
|
||||
|
||||
else:
|
||||
# Use the raylet code path.
|
||||
message = self.redis_client.execute_command(
|
||||
"RAY.TABLE_LOOKUP", ray.gcs_utils.TablePrefix.RAYLET_TASK, "",
|
||||
task_id.id())
|
||||
message = self._execute_command(
|
||||
task_id, "RAY.TABLE_LOOKUP",
|
||||
ray.gcs_utils.TablePrefix.RAYLET_TASK, "", task_id.id())
|
||||
gcs_entries = ray.gcs_utils.GcsTableEntry.GetRootAsGcsTableEntry(
|
||||
message, 0)
|
||||
|
||||
@@ -416,7 +416,7 @@ class GlobalState(object):
|
||||
for key in task_table_keys
|
||||
]
|
||||
else:
|
||||
task_table_keys = self.redis_client.keys(
|
||||
task_table_keys = self._keys(
|
||||
ray.gcs_utils.TablePrefix_RAYLET_TASK_string + "*")
|
||||
task_ids_binary = [
|
||||
key[len(ray.gcs_utils.TablePrefix_RAYLET_TASK_string):]
|
||||
|
||||
+6
-14
@@ -470,10 +470,7 @@ def start_redis(node_ip_address,
|
||||
# It is important to load the credis module BEFORE the ray module,
|
||||
# as the latter contains an extern declaration that the former
|
||||
# supplies.
|
||||
# NOTE: once data entries are all put under the redis shard(s)
|
||||
# instead of the primary server when RAY_USE_NEW_GCS is set, we
|
||||
# should load CREDIS_MASTER_MODULE here.
|
||||
modules=[CREDIS_MEMBER_MODULE, REDIS_MODULE])
|
||||
modules=[CREDIS_MASTER_MODULE, REDIS_MODULE])
|
||||
if port is not None:
|
||||
assert assigned_port == port
|
||||
port = assigned_port
|
||||
@@ -526,10 +523,7 @@ def start_redis(node_ip_address,
|
||||
# It is important to load the credis module BEFORE the ray
|
||||
# module, as the latter contains an extern declaration that the
|
||||
# former supplies.
|
||||
# NOTE: once data entries are all put under the redis shard(s)
|
||||
# instead of the primary server when RAY_USE_NEW_GCS is set, we
|
||||
# should load CREDIS_MEMBER_MODULE here.
|
||||
modules=[CREDIS_MASTER_MODULE, REDIS_MODULE])
|
||||
modules=[CREDIS_MEMBER_MODULE, REDIS_MODULE])
|
||||
|
||||
if redis_shard_ports[i] is not None:
|
||||
assert redis_shard_port == redis_shard_ports[i]
|
||||
@@ -542,12 +536,10 @@ def start_redis(node_ip_address,
|
||||
shard_client = redis.StrictRedis(
|
||||
host=node_ip_address, port=redis_shard_port)
|
||||
# Configure the chain state.
|
||||
# NOTE: once data entries are all put under the redis shard(s) instead
|
||||
# of the primary server when RAY_USE_NEW_GCS is set, we should swap the
|
||||
# callers here.
|
||||
shard_client.execute_command("MASTER.ADD", node_ip_address, port)
|
||||
primary_redis_client.execute_command("MEMBER.CONNECT_TO_MASTER",
|
||||
node_ip_address, redis_shard_port)
|
||||
primary_redis_client.execute_command("MASTER.ADD", node_ip_address,
|
||||
redis_shard_port)
|
||||
shard_client.execute_command("MEMBER.CONNECT_TO_MASTER",
|
||||
node_ip_address, port)
|
||||
|
||||
return redis_address, redis_shards
|
||||
|
||||
|
||||
@@ -2288,10 +2288,9 @@ def connect(info,
|
||||
driver_task.execution_dependencies_string(), 0,
|
||||
ray.local_scheduler.task_to_string(driver_task))
|
||||
else:
|
||||
# TODO(rkn): When we shard the GCS in xray, we will need to change
|
||||
# this to use _execute_command.
|
||||
global_state.redis_client.execute_command(
|
||||
"RAY.TABLE_ADD", ray.gcs_utils.TablePrefix.RAYLET_TASK,
|
||||
global_state._execute_command(
|
||||
driver_task.task_id(), "RAY.TABLE_ADD",
|
||||
ray.gcs_utils.TablePrefix.RAYLET_TASK,
|
||||
ray.gcs_utils.TablePubsub.RAYLET_TASK,
|
||||
driver_task.task_id().id(),
|
||||
driver_task._serialized_raylet_task())
|
||||
|
||||
Reference in New Issue
Block a user