[Serve] Refactor RequestMetadata and Query objects (#10483)

This commit is contained in:
Simon Mo
2020-09-01 18:15:31 -07:00
committed by GitHub
parent 3b10b67a15
commit 65f17f2e14
11 changed files with 67 additions and 136 deletions
+3 -3
View File
@@ -77,10 +77,10 @@ class RandomEndpointPolicy(EndpointPolicy):
assigned_backends = set()
while len(endpoint_queue) > 0:
query = endpoint_queue.pop()
if query.shard_key is None:
if query.metadata.shard_key is None:
rstate = np.random
else:
sha256_seed = sha256(query.shard_key.encode("utf-8"))
sha256_seed = sha256(query.metadata.shard_key.encode("utf-8"))
seed = np.frombuffer(sha256_seed.digest(), dtype=np.uint32)
# Note(simon): This constructor takes 100+us, maybe cache this?
rstate = np.random.RandomState(seed)
@@ -93,7 +93,7 @@ class RandomEndpointPolicy(EndpointPolicy):
if len(shadow_backends) > 0:
shadow_query = copy.copy(query)
shadow_query.async_future = None
shadow_query.is_shadow_query = True
shadow_query.metadata.is_shadow_query = True
for shadow_backend in shadow_backends:
assigned_backends.add(shadow_backend)
backend_queues[shadow_backend].appendleft(shadow_query)