Skip to content

Commit 49ce0c1

Browse files
authored
Skip details of shuffled chunks in meta (#2600)
1 parent 606e632 commit 49ce0c1

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

mars/services/meta/api/oscar.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ def _extract_chunk_meta(
103103
memory_size: int = None,
104104
store_size: int = None,
105105
bands: List[BandType] = None,
106+
fields: List[str] = None,
106107
**extra
107108
):
108109
if isinstance(chunk.op, Fuse):
@@ -123,6 +124,11 @@ def _extract_chunk_meta(
123124
params.pop("dtypes", None)
124125
params.pop("key_dtypes", None)
125126
params.update(extra)
127+
128+
if fields is not None:
129+
fields = set(fields)
130+
params = {k: v for k, v in params.items() if k in fields}
131+
126132
return get_meta_type(type(chunk))(
127133
object_id=chunk_key,
128134
**params,
@@ -138,10 +144,16 @@ async def set_chunk_meta(
138144
memory_size: int = None,
139145
store_size: int = None,
140146
bands: List[BandType] = None,
147+
fields: List[str] = None,
141148
**extra
142149
):
143150
meta = self._extract_chunk_meta(
144-
chunk, memory_size=memory_size, store_size=store_size, bands=bands, **extra
151+
chunk,
152+
memory_size=memory_size,
153+
store_size=store_size,
154+
bands=bands,
155+
fields=fields,
156+
**extra
145157
)
146158
return await self._meta_store.set_meta(meta.object_id, meta)
147159

mars/services/subtask/worker/processor.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -355,8 +355,19 @@ async def _store_meta(
355355
set_chunk_metas = []
356356
result_data_size = 0
357357
for chunk_key in stored_keys:
358+
fields = None
358359
if isinstance(chunk_key, tuple):
359360
result_chunk = key_to_result_chunk[chunk_key[0]]
361+
fields = [
362+
"object_id",
363+
"name",
364+
"memory_size",
365+
"store_size",
366+
"index",
367+
"bands",
368+
"object_ref",
369+
"shape",
370+
]
360371
else:
361372
result_chunk = key_to_result_chunk[chunk_key]
362373
store_size = data_key_to_store_size[chunk_key]
@@ -370,6 +381,7 @@ async def _store_meta(
370381
store_size=store_size,
371382
bands=[self._band],
372383
chunk_key=chunk_key,
384+
fields=fields,
373385
object_ref=object_ref,
374386
)
375387
)

0 commit comments

Comments
 (0)