tests/test_store/test_stateful.py::test_zarr_hierarchy[local]: ValueError: shape mismatch: value array of shape (3,1) could not be broadcast to indexing result of shape (3,)
Failing test case:
state = ZarrHierarchyStateMachine()
state.init_store()
state.check_list_prefix_from_root()
Checking 1 expected keys vs 1 actual keys
Draw 1 (generated array): Array(_async_array=AsyncArray(metadata=ArrayV3Metadata(shape=(4,
4,
4,
5),
data_type=Bool(dtype_cls=numpy.dtypes.BoolDType,
_zarr_v3_name='bool',
_zarr_v2_name='|b1'),
chunk_grid=RegularChunkGridMetadata(chunk_shape=(2, 4, 1, 2)),
chunk_key_encoding=DefaultChunkKeyEncoding(name='default', separator='/'),
fill_value=np.False_,
codecs=(BytesCodec(endian=None), ZstdCodec(level=0, checksum=False)),
attributes={},
dimension_names=(None, None, 'VirF', 'vH_47dA-'),
storage_transformers=(),
extra_fields={}),
store_path=StorePath(MemoryStore, 'memory://140317617606784/1e100'),
config=ArrayConfig(order='C',
write_empty_chunks=False,
read_missing_chunks=True,
sharding_coalesce_max_gap_bytes=1048576,
sharding_coalesce_max_bytes=16777216)))
Adding array: path='1e100' shape=(4, 4, 4, 5) chunks=RegularChunkGridMetadata(chunk_shape=(2, 4, 1, 2))
state.add_array(data=data(...), name='1e100')
state.check_list_prefix_from_root()
Checking 26 expected keys vs 26 actual keys
Draw 2: '1e100'
Draw 3: (Ellipsis, -2, -3, slice(None, None, 4), slice(1, -3, None))
overwriting array with basic indexer: slicer=(Ellipsis, -2, -3, slice(None, None, 4), slice(1, -3, None))
Draw 4: array([[ True]])
state.overwrite_array_basic_indexing(data=data(...))
state.check_list_prefix_from_root()
Checking 26 expected keys vs 26 actual keys
Draw 5 (generated array): Array(_async_array=AsyncArray(metadata=ArrayV3Metadata(shape=(5,),
data_type=DateTime64(endianness='little',
dtype_cls=numpy.dtypes.DateTime64DType,
_zarr_v3_name='numpy.datetime64',
_numpy_name='datetime64',
scale_factor=1,
unit='Y',
_zarr_v2_names=('>M8', '<M8')),
chunk_grid=RegularChunkGridMetadata(chunk_shape=(5,)),
chunk_key_encoding=DefaultChunkKeyEncoding(name='default', separator='/'),
fill_value=np.datetime64('10157559'),
codecs=(BytesCodec(endian='little'), ZstdCodec(level=0, checksum=False)),
attributes={'{)M\U00075819\U000e3973¹#\x1d\U0010aea8\U000ed98eú\U0006e735j\x85ô': [None],
'Æ\xa0ÞJ\U000e33a7-\x8c¡Ä\x88': None,
'\x1b;\x91읗á}\x13³': None,
'JQ\n\x80slC\x90': None,
'\x08': [None, None],
'0': None,
'ÚÕ\x96Ï8\x17Ò|Í&': None,
'\U000de345¼\U0008ca57Û@.\U0009a4f5\U000b8bbe\U000caf33o\U000156bf𱰧Ê\x7fë': {'𫆈\U000ad6fes\x14"\x92\U000ef039u²\x1eUE\U0003e53b\U0009f2ff\x03+': None}},
dimension_names=None,
storage_transformers=(),
extra_fields={}),
store_path=StorePath(MemoryStore, 'memory://140317617606784/m'),
config=ArrayConfig(order='C',
write_empty_chunks=False,
read_missing_chunks=True,
sharding_coalesce_max_gap_bytes=1048576,
sharding_coalesce_max_bytes=16777216)))
Adding array: path='m' shape=(5,) chunks=RegularChunkGridMetadata(chunk_shape=(5,))
state.add_array(data=data(...), name='m')
state.check_list_prefix_from_root()
Checking 28 expected keys vs 28 actual keys
Draw 6: 'm'
Draw 7: ((slice(2, 2, None),), (array([], dtype=int64),))
overwriting array orthogonal indexer=(slice(2, 2, None),)
Draw 8: array([], dtype='datetime64[Y]')
state.overwrite_array_orthogonal_indexing(data=data(...))
state.check_list_prefix_from_root()
Checking 28 expected keys vs 28 actual keys
Draw 9: 'm'
Draw 10: ((array([-2]),), (array([-2]),))
overwriting array orthogonal indexer=(array([-2]),)
Draw 11: array(['-11855'], dtype='datetime64[Y]')
state.overwrite_array_orthogonal_indexing(data=data(...))
state.check_list_prefix_from_root()
Checking 28 expected keys vs 28 actual keys
Draw 12 (Array deletion target): 'm'
Deleting array 'm' (prefix='', array_name='m') using del
state.delete_array_using_del(data=data(...))
state.check_list_prefix_from_root()
Checking 26 expected keys vs 26 actual keys
Draw 13 (generated array): Array(_async_array=AsyncArray(metadata=ArrayV3Metadata(shape=(1,),
data_type=NullTerminatedBytes(length=3,
dtype_cls=numpy.dtypes.BytesDType,
_zarr_v3_name='null_terminated_bytes'),
chunk_grid=RegularChunkGridMetadata(chunk_shape=(1,)),
chunk_key_encoding=DefaultChunkKeyEncoding(name='default', separator='/'),
fill_value=np.bytes_(b''),
codecs=(BytesCodec(endian=None), ZstdCodec(level=0, checksum=False)),
attributes={'\n¸봁µséÊm\U0006c38cþ': [],
'\x151©Ù\x86i½\x8c': {'\U0007a7ce': '\x93Æc'},
'ø': [None]},
dimension_names=('PUa-',),
storage_transformers=(),
extra_fields={}),
store_path=StorePath(MemoryStore, 'memory://140317617606784/buf'),
config=ArrayConfig(order='C',
write_empty_chunks=False,
read_missing_chunks=True,
sharding_coalesce_max_gap_bytes=1048576,
sharding_coalesce_max_bytes=16777216)))
Adding array: path='buf' shape=(1,) chunks=RegularChunkGridMetadata(chunk_shape=(1,))
state.add_array(data=data(...), name='BuF')
state.check_list_prefix_from_root()
Checking 28 expected keys vs 28 actual keys
Draw 14 (generated array): Array(_async_array=AsyncArray(metadata=ArrayV3Metadata(shape=(4,
3),
data_type=Bool(dtype_cls=numpy.dtypes.BoolDType,
_zarr_v3_name='bool',
_zarr_v2_name='|b1'),
chunk_grid=RegularChunkGridMetadata(chunk_shape=(1, 2)),
chunk_key_encoding=DefaultChunkKeyEncoding(name='default', separator='/'),
fill_value=np.False_,
codecs=(BytesCodec(endian=None), ZstdCodec(level=0, checksum=False)),
attributes={'\U000dcb19×躾,¶G\U0003a09f$3': [],
'\U000ee2a0P&¿\U000d4f62\x98b£\x99ª\x95': [],
'k': None,
'\U00064db0\U000bb1e3\x11Ü\x8fb\U0001c67dµ\U000efd9f\U00105591è': [True],
'â®Mh': True},
dimension_names=(None, 'nCw'),
storage_transformers=(),
extra_fields={}),
store_path=StorePath(MemoryStore, 'memory://140317617606784/k'),
config=ArrayConfig(order='C',
write_empty_chunks=False,
read_missing_chunks=True,
sharding_coalesce_max_gap_bytes=1048576,
sharding_coalesce_max_bytes=16777216)))
Adding array: path='k' shape=(4, 3) chunks=RegularChunkGridMetadata(chunk_shape=(1, 2))
state.add_array(data=data(...), name='K')
state.check_list_prefix_from_root()
Checking 35 expected keys vs 35 actual keys
Draw 15 (generated array): Array(_async_array=AsyncArray(metadata=ArrayV3Metadata(shape=(2,
2,
3),
data_type=TimeDelta64(endianness='little',
dtype_cls=numpy.dtypes.TimeDelta64DType,
_zarr_v3_name='numpy.timedelta64',
_numpy_name='timedelta64',
scale_factor=1,
unit='m',
_zarr_v2_names=('>m8', '<m8')),
chunk_grid=RegularChunkGridMetadata(chunk_shape=(2, 1, 1)),
chunk_key_encoding=DefaultChunkKeyEncoding(name='default', separator='/'),
fill_value=np.timedelta64('NaT','m'),
codecs=(BytesCodec(endian='little'), ZstdCodec(level=0, checksum=False)),
attributes={'\U0008e00fº': {},
'\U00078bd8': '',
'ã\U00049b40\x07\U0005f4d7\x0fs\x98\U000de98c': {'\x8a\x8a¨Ê\x1aÙ}Z@}\U000c7f2cV逳𠦄ðÃs\U0010db18AVK\x92·]': '', 'è': False, '𡂇\x19b`\x8c\U000373dbYø': None}},
dimension_names=('', None, 'GC'),
storage_transformers=(),
extra_fields={}),
store_path=StorePath(MemoryStore, 'memory://140317617606784/eq8ii.tyk5'),
config=ArrayConfig(order='C',
write_empty_chunks=False,
read_missing_chunks=True,
sharding_coalesce_max_gap_bytes=1048576,
sharding_coalesce_max_bytes=16777216)))
Adding array: path='eq8ii.tyk5' shape=(2, 2, 3) chunks=RegularChunkGridMetadata(chunk_shape=(2, 1, 1))
state.add_array(data=data(...), name='Eq8ii.TYk5')
state.check_list_prefix_from_root()
Checking 39 expected keys vs 39 actual keys
Draw 16: 'k'
Draw 17: ((array([-2, -1, 3, 3]), array([-2, 1, -2])), (array([[-2, -2, -2],
[-1, -1, -1],
[ 3, 3, 3],
[ 3, 3, 3]]), array([[-2, 1, -2],
[-2, 1, -2],
[-2, 1, -2],
[-2, 1, -2]])))
overwriting array orthogonal indexer=(array([-2, -1, 3, 3]), array([-2, 1, -2]))
Draw 18: array([[ True, False, True],
[False, True, True],
[False, True, False],
[ True, False, True]])
state.overwrite_array_orthogonal_indexing(data=data(...))
state.check_list_prefix_from_root()
Checking 39 expected keys vs 39 actual keys
Draw 19: 'eq8ii.tyk5'
Draw 20: (slice(1, 2, None), slice(1, 2, None), slice(1, 1, None))
overwriting array with basic indexer: slicer=(slice(1, 2, None), slice(1, 2, None), slice(1, 1, None))
Draw 21: array([], shape=(1, 1, 0), dtype='timedelta64[m]')
state.overwrite_array_basic_indexing(data=data(...))
state.check_list_prefix_from_root()
Checking 39 expected keys vs 39 actual keys
Draw 22 (generated array): Array(_async_array=AsyncArray(metadata=ArrayV3Metadata(shape=(4,
4),
data_type=Int16(endianness='little',
dtype_cls=numpy.dtypes.Int16DType,
_zarr_v3_name='int16',
_zarr_v2_names=('>i2', '<i2')),
chunk_grid=RegularChunkGridMetadata(chunk_shape=(2, 1)),
chunk_key_encoding=DefaultChunkKeyEncoding(name='default', separator='/'),
fill_value=np.int16(0),
codecs=(BytesCodec(endian='little'), ZstdCodec(level=0, checksum=False)),
attributes={},
dimension_names=None,
storage_transformers=(),
extra_fields={}),
store_path=StorePath(MemoryStore, 'memory://140317617606784/fk1vqaehgbu.'),
config=ArrayConfig(order='C',
write_empty_chunks=False,
read_missing_chunks=True,
sharding_coalesce_max_gap_bytes=1048576,
sharding_coalesce_max_bytes=16777216)))
Adding array: path='fk1vqaehgbu.' shape=(4, 4) chunks=RegularChunkGridMetadata(chunk_shape=(2, 1))
state.add_array(data=data(...), name='Fk1VqaEHgbu.')
state.check_list_prefix_from_root()
Checking 48 expected keys vs 48 actual keys
Draw 23: 'k'
Draw 24: (slice(3, 3, None), slice(2, 3, None))
overwriting array with basic indexer: slicer=(slice(3, 3, None), slice(2, 3, None))
Draw 25: array([], shape=(0, 1), dtype=bool)
state.overwrite_array_basic_indexing(data=data(...))
state.check_list_prefix_from_root()
Checking 48 expected keys vs 48 actual keys
Draw 26 (generated array): Array(_async_array=AsyncArray(metadata=ArrayV3Metadata(shape=(4,
4),
data_type=Bool(dtype_cls=numpy.dtypes.BoolDType,
_zarr_v3_name='bool',
_zarr_v2_name='|b1'),
chunk_grid=RegularChunkGridMetadata(chunk_shape=(2, 4)),
chunk_key_encoding=DefaultChunkKeyEncoding(name='default', separator='/'),
fill_value=np.False_,
codecs=(ShardingCodec(chunk_shape=(2, 2),
codecs=(ShardingCodec(chunk_shape=(2, 2),
codecs=(BytesCodec(endian=None), ZstdCodec(level=0, checksum=False)),
index_codecs=(BytesCodec(endian='little'), Crc32cCodec()),
index_location='end',
subchunk_write_order='colexicographic'),),
index_codecs=(BytesCodec(endian='little'), Crc32cCodec()),
index_location='end',
subchunk_write_order='morton'),),
attributes={'ʇǝɯɐ ʇᴉs ɹolop ɯnsdᴉ ɯǝɹo˥': True,
'â': [' \x1b\x1bù𧾙', None, None],
'âx)': ['𪜺4', 'z£', '\U00064fab\U000aa786'],
'\U0009c260Í\U000be01bG\U0006ec1b': [None, '', 'utf-8'],
'Ñ>\r*¶\x93J3qo¹': True,
'i': [[], None],
'g\x95\U0007144c¼(sC;\x81': True,
'º\U000e7540ç\x8e\U0006fd9d': {'s': '\x07Ä', 'è': None}},
dimension_names=('f', '_ybxY'),
storage_transformers=(),
extra_fields={}),
store_path=StorePath(MemoryStore, 'memory://140317617606784/280q1tgeh-mne7mzxf2'),
config=ArrayConfig(order='C',
write_empty_chunks=False,
read_missing_chunks=True,
sharding_coalesce_max_gap_bytes=1048576,
sharding_coalesce_max_bytes=16777216)))
Adding array: path='280q1tgeh-mne7mzxf2' shape=(4, 4) chunks=RegularChunkGridMetadata(chunk_shape=(2, 4))
state.add_array(data=data(...), name='280Q1TGeH-MNe7mZXf2')
state.check_list_prefix_from_root()
Checking 51 expected keys vs 51 actual keys
Draw 27: 'buf'
Draw 28: (slice(0, 0, 1),)
overwriting array with basic indexer: slicer=(slice(0, 0, 1),)
Draw 29: array([], dtype='|S3')
state.overwrite_array_basic_indexing(data=data(...))
state.check_list_prefix_from_root()
Checking 51 expected keys vs 51 actual keys
Draw 30 (generated array): Array(_async_array=AsyncArray(metadata=ArrayV3Metadata(shape=(3,
5,
5,
3),
data_type=Int32(endianness='little',
dtype_cls=numpy.dtypes.Int32DType,
_zarr_v3_name='int32',
_zarr_v2_names=('>i4', '<i4')),
chunk_grid=RegularChunkGridMetadata(chunk_shape=(1, 1, 1, 1)),
chunk_key_encoding=DefaultChunkKeyEncoding(name='default', separator='/'),
fill_value=np.int32(0),
codecs=(BytesCodec(endian='little'), ZstdCodec(level=0, checksum=False)),
attributes={'\x98\U0009fad3ë4\x95': [None, '\x13', None]},
dimension_names=('m1bZVg4oW-', '9', '', 'Qa-N3'),
storage_transformers=(),
extra_fields={}),
store_path=StorePath(MemoryStore, 'memory://140317617606784/ot'),
config=ArrayConfig(order='C',
write_empty_chunks=False,
read_missing_chunks=True,
sharding_coalesce_max_gap_bytes=1048576,
sharding_coalesce_max_bytes=16777216)))
Adding array: path='ot' shape=(3, 5, 5, 3) chunks=RegularChunkGridMetadata(chunk_shape=(1, 1, 1, 1))
state.add_array(data=data(...), name='OT')
state.check_list_prefix_from_root()
Checking 277 expected keys vs 277 actual keys
Draw 31: 'k'
Draw 32: ((slice(2, 3, None), slice(2, 2, None)),
(array([], shape=(1, 0), dtype=int64), array([], shape=(1, 0), dtype=int64)))
overwriting array orthogonal indexer=(slice(2, 3, None), slice(2, 2, None))
Draw 33: array([], shape=(1, 0), dtype=bool)
state.overwrite_array_orthogonal_indexing(data=data(...))
state.check_list_prefix_from_root()
Checking 277 expected keys vs 277 actual keys
Draw 34: 'fk1vqaehgbu.'
Draw 35: (3, -2)
overwriting array with basic indexer: slicer=(3, -2)
Draw 36: array(500, dtype=int16)
state.overwrite_array_basic_indexing(data=data(...))
state.check_list_prefix_from_root()
Checking 277 expected keys vs 277 actual keys
Draw 37: '1e100'
Draw 38: (slice(3, 3, None),
slice(2, 3, None),
slice(2, 3, None),
slice(4, 5, None))
overwriting array with basic indexer: slicer=(slice(3, 3, None), slice(2, 3, None), slice(2, 3, None), slice(4, 5, None))
Draw 39: array([], shape=(0, 1, 1, 1), dtype=bool)
state.overwrite_array_basic_indexing(data=data(...))
state.check_list_prefix_from_root()
Checking 277 expected keys vs 277 actual keys
Draw 40 (generated array): Array(_async_array=AsyncArray(metadata=ArrayV3Metadata(shape=(5,
3),
data_type=FixedLengthUTF32(length=15,
endianness='little',
dtype_cls=numpy.dtypes.StrDType,
_zarr_v3_name='fixed_length_utf32',
code_point_bytes=4),
chunk_grid=RegularChunkGridMetadata(chunk_shape=(1, 3)),
chunk_key_encoding=DefaultChunkKeyEncoding(name='default', separator='/'),
fill_value=np.str_('\x8c\U0008d4dbCI·±_\U0009d2f7⇷'),
codecs=(BytesCodec(endian='little'), ZstdCodec(level=0, checksum=False)),
attributes={},
dimension_names=('NaLQ_zt', None),
storage_transformers=(),
extra_fields={}),
store_path=StorePath(MemoryStore, 'memory://140317617606784/mje'),
config=ArrayConfig(order='C',
write_empty_chunks=False,
read_missing_chunks=True,
sharding_coalesce_max_gap_bytes=1048576,
sharding_coalesce_max_bytes=16777216)))
Adding array: path='mje' shape=(5, 3) chunks=RegularChunkGridMetadata(chunk_shape=(1, 3))
state.add_array(data=data(...), name='Mje')
state.check_list_prefix_from_root()
Checking 283 expected keys vs 283 actual keys
Draw 41: 'fk1vqaehgbu.'
Draw 42: ((array([-1, -1]), slice(2, 3, None)), (array([[-1],
[-1]]), array([[2],
[2]])))
overwriting array orthogonal indexer=(array([-1, -1]), slice(2, 3, None))
Draw 43: array([[3328],
[-346]], dtype=int16)
state.overwrite_array_orthogonal_indexing(data=data(...))
state.check_list_prefix_from_root()
Checking 283 expected keys vs 283 actual keys
Draw 44 (Array deletion target): 'mje'
Deleting array 'mje' (prefix='', array_name='mje') using del
state.delete_array_using_del(data=data(...))
state.check_list_prefix_from_root()
Checking 277 expected keys vs 277 actual keys
Draw 45: '1e100'
Draw 46: ((slice(3, 4, None),
array([-2]),
array([-2, -4, 0]),
array([-4, -4, 2])),
(array([[[[3, 3, 3],
[3, 3, 3],
[3, 3, 3]]]]), array([[[[-2, -2, -2],
[-2, -2, -2],
[-2, -2, -2]]]]), array([[[[-2, -2, -2],
[-4, -4, -4],
[ 0, 0, 0]]]]), array([[[[-4, -4, 2],
[-4, -4, 2],
[-4, -4, 2]]]])))
overwriting array orthogonal indexer=(slice(3, 4, None), array([-2]), array([-2, -4, 0]), array([-4, -4, 2]))
Draw 47: array([[[[False, False, False],
[False, False, False],
[False, False, False]]]])
state.overwrite_array_orthogonal_indexing(data=data(...))
state.check_list_prefix_from_root()
Checking 277 expected keys vs 277 actual keys
Draw 48 (Array deletion target): 'fk1vqaehgbu.'
Deleting array 'fk1vqaehgbu.' (prefix='', array_name='fk1vqaehgbu.') using del
state.delete_array_using_del(data=data(...))
state.check_list_prefix_from_root()
Checking 268 expected keys vs 268 actual keys
Draw 49: '1e100'
Draw 50: (-4, -4, -3, 1)
overwriting array with basic indexer: slicer=(-4, -4, -3, 1)
Draw 51: array(False)
state.overwrite_array_basic_indexing(data=data(...))
state.check_list_prefix_from_root()
Checking 268 expected keys vs 268 actual keys
Draw 52 (generated array): Array(_async_array=AsyncArray(metadata=ArrayV3Metadata(shape=(0,
3,
2,
0),
data_type=UInt64(endianness='little',
dtype_cls=numpy.dtypes.UInt64DType,
_zarr_v3_name='uint64',
_zarr_v2_names=('>u8', '<u8')),
chunk_grid=RegularChunkGridMetadata(chunk_shape=(1, 1, 1, 1)),
chunk_key_encoding=DefaultChunkKeyEncoding(name='default', separator='/'),
fill_value=np.uint64(0),
codecs=(BytesCodec(endian='little'), ZstdCodec(level=0, checksum=False)),
attributes={'\x80': []},
dimension_names=(None, None, None, 'nil'),
storage_transformers=(),
extra_fields={}),
store_path=StorePath(MemoryStore, 'memory://140317617606784/fqok1ise'),
config=ArrayConfig(order='C',
write_empty_chunks=False,
read_missing_chunks=True,
sharding_coalesce_max_gap_bytes=1048576,
sharding_coalesce_max_bytes=16777216)))
Adding array: path='fqok1ise' shape=(0, 3, 2, 0) chunks=RegularChunkGridMetadata(chunk_shape=(1, 1, 1, 1))
state.add_array(data=data(...), name='fqoK1Ise')
state.check_list_prefix_from_root()
Checking 269 expected keys vs 269 actual keys
Draw 53 (Array deletion target): 'eq8ii.tyk5'
Deleting array 'eq8ii.tyk5' (prefix='', array_name='eq8ii.tyk5') using del
state.delete_array_using_del(data=data(...))
state.check_list_prefix_from_root()
Checking 265 expected keys vs 265 actual keys
Draw 54 (generated array): Array(_async_array=AsyncArray(metadata=ArrayV3Metadata(shape=(4,),
data_type=Bool(dtype_cls=numpy.dtypes.BoolDType,
_zarr_v3_name='bool',
_zarr_v2_name='|b1'),
chunk_grid=RegularChunkGridMetadata(chunk_shape=(2,)),
chunk_key_encoding=DefaultChunkKeyEncoding(name='default', separator='/'),
fill_value=np.False_,
codecs=(BytesCodec(endian=None), ZstdCodec(level=0, checksum=False)),
attributes={'ä': {},
'\x03\U0008f436G\x02\U0003b24b': {'`\U0006f04cQ': [None, 'É¥eZ', '8銰\U0006138cgÊ']},
'6\x9aÔ\x9f\x88': [],
'Y¬L': ['Ú^~\x86\x7f']},
dimension_names=(None,),
storage_transformers=(),
extra_fields={}),
store_path=StorePath(MemoryStore, 'memory://140317617606784/ek-n_cnatkba1'),
config=ArrayConfig(order='C',
write_empty_chunks=False,
read_missing_chunks=True,
sharding_coalesce_max_gap_bytes=1048576,
sharding_coalesce_max_bytes=16777216)))
Adding array: path='ek-n_cnatkba1' shape=(4,) chunks=RegularChunkGridMetadata(chunk_shape=(2,))
state.add_array(data=data(...), name='Ek-N_CNATkBa1')
state.check_list_prefix_from_root()
Checking 266 expected keys vs 266 actual keys
Draw 55 (Array deletion target): 'k'
Deleting array 'k' (prefix='', array_name='k') using del
state.delete_array_using_del(data=data(...))
state.check_list_prefix_from_root()
Checking 259 expected keys vs 259 actual keys
Draw 56 (Array deletion target): 'ek-n_cnatkba1'
Deleting array 'ek-n_cnatkba1' (prefix='', array_name='ek-n_cnatkba1') using del
state.delete_array_using_del(data=data(...))
state.check_list_prefix_from_root()
Checking 258 expected keys vs 258 actual keys
Draw 57: 'ot'
Draw 58: ((array([-2, -3]),
slice(None, None, 5),
array([-2, -2, -2, -2, 4]),
slice(-1, 0, 1)),
(array([], shape=(2, 1, 5, 0), dtype=int64),
array([], shape=(2, 1, 5, 0), dtype=int64),
array([], shape=(2, 1, 5, 0), dtype=int64),
array([], shape=(2, 1, 5, 0), dtype=int64)))
overwriting array orthogonal indexer=(array([-2, -3]), slice(None, None, 5), array([-2, -2, -2, -2, 4]), slice(-1, 0, 1))
Draw 59: array([], shape=(2, 1, 5, 0), dtype=int32)
state.overwrite_array_orthogonal_indexing(data=data(...))
state.check_list_prefix_from_root()
Checking 258 expected keys vs 258 actual keys
Draw 60 (generated array): Array(_async_array=AsyncArray(metadata=ArrayV3Metadata(shape=(5,
4,
4,
5),
data_type=UInt64(endianness='little',
dtype_cls=numpy.dtypes.UInt64DType,
_zarr_v3_name='uint64',
_zarr_v2_names=('>u8', '<u8')),
chunk_grid=RectilinearChunkGridMetadata(chunk_shapes=((3, 1, 1),
(4,),
(2, 1, 1),
(5,))),
chunk_key_encoding=DefaultChunkKeyEncoding(name='default', separator='/'),
fill_value=np.uint64(683191),
codecs=(BytesCodec(endian='little'), ZstdCodec(level=0, checksum=False)),
attributes={},
dimension_names=(None, 'ysioXP', '59eQPGgQKrs5DF8', ''),
storage_transformers=(),
extra_fields={}),
store_path=StorePath(MemoryStore, 'memory://140317617606784/b0o'),
config=ArrayConfig(order='C',
write_empty_chunks=False,
read_missing_chunks=True,
sharding_coalesce_max_gap_bytes=1048576,
sharding_coalesce_max_bytes=16777216)))
Adding array: path='b0o' shape=(5, 4, 4, 5) chunks=RectilinearChunkGridMetadata(chunk_shapes=((3, 1, 1), (4,), (2, 1, 1), (5,)))
state.add_array(data=data(...), name='b0O')
state.check_list_prefix_from_root()
Checking 268 expected keys vs 268 actual keys
Draw 61 (generated array): Array(_async_array=AsyncArray(metadata=ArrayV3Metadata(shape=(3,),
data_type=UInt8(dtype_cls=numpy.dtypes.UInt8DType,
_zarr_v3_name='uint8',
_zarr_v2_names=('|u1',)),
chunk_grid=RegularChunkGridMetadata(chunk_shape=(1,)),
chunk_key_encoding=DefaultChunkKeyEncoding(name='default', separator='/'),
fill_value=np.uint8(0),
codecs=(BytesCodec(endian=None), ZstdCodec(level=0, checksum=False)),
attributes={},
dimension_names=None,
storage_transformers=(),
extra_fields={}),
store_path=StorePath(MemoryStore, 'memory://140317617606784/f'),
config=ArrayConfig(order='C',
write_empty_chunks=False,
read_missing_chunks=True,
sharding_coalesce_max_gap_bytes=1048576,
sharding_coalesce_max_bytes=16777216)))
Adding array: path='f' shape=(3,) chunks=RegularChunkGridMetadata(chunk_shape=(1,))
state.add_array(data=data(...), name='F')
state.check_list_prefix_from_root()
Checking 272 expected keys vs 272 actual keys
Draw 62 (generated array): Array(_async_array=AsyncArray(metadata=ArrayV3Metadata(shape=(2,),
data_type=Bool(dtype_cls=numpy.dtypes.BoolDType,
_zarr_v3_name='bool',
_zarr_v2_name='|b1'),
chunk_grid=RegularChunkGridMetadata(chunk_shape=(2,)),
chunk_key_encoding=DefaultChunkKeyEncoding(name='default', separator='/'),
fill_value=np.False_,
codecs=(BytesCodec(endian=None), ZstdCodec(level=0, checksum=False)),
attributes={},
dimension_names=None,
storage_transformers=(),
extra_fields={}),
store_path=StorePath(MemoryStore, 'memory://140317617606784/05hj.33enldypd'),
config=ArrayConfig(order='C',
write_empty_chunks=False,
read_missing_chunks=True,
sharding_coalesce_max_gap_bytes=1048576,
sharding_coalesce_max_bytes=16777216)))
Adding array: path='05hj.33enldypd' shape=(2,) chunks=RegularChunkGridMetadata(chunk_shape=(2,))
state.add_array(data=data(...), name='05hJ.33ENLdYpd')
state.check_list_prefix_from_root()
Checking 274 expected keys vs 274 actual keys
Draw 63 (Array deletion target): '1e100'
Deleting array '1e100' (prefix='', array_name='1e100') using del
state.delete_array_using_del(data=data(...))
state.check_list_prefix_from_root()
Checking 249 expected keys vs 249 actual keys
Draw 64: '05hj.33enldypd'
Draw 65: (slice(-2, None, None), Ellipsis)
overwriting array with basic indexer: slicer=(slice(-2, None, None), Ellipsis)
Draw 66: array([ True, True])
state.overwrite_array_basic_indexing(data=data(...))
state.check_list_prefix_from_root()
Checking 249 expected keys vs 249 actual keys
Draw 67 (generated array): Array(_async_array=AsyncArray(metadata=ArrayV3Metadata(shape=(3,
4,
3,
4),
data_type=Bool(dtype_cls=numpy.dtypes.BoolDType,
_zarr_v3_name='bool',
_zarr_v2_name='|b1'),
chunk_grid=RegularChunkGridMetadata(chunk_shape=(3, 1, 3, 1)),
chunk_key_encoding=DefaultChunkKeyEncoding(name='default', separator='/'),
fill_value=np.False_,
codecs=(BytesCodec(endian=None), ZstdCodec(level=0, checksum=False)),
attributes={'\x1f\U0010e2cd': ['\U000a2d87'], '\U000b9298°': {}},
dimension_names=(None, 'w2-e', 'bVJZJUT3o', None),
storage_transformers=(),
extra_fields={}),
store_path=StorePath(MemoryStore, 'memory://140317617606784/4q7'),
config=ArrayConfig(order='C',
write_empty_chunks=False,
read_missing_chunks=True,
sharding_coalesce_max_gap_bytes=1048576,
sharding_coalesce_max_bytes=16777216)))
Adding array: path='4q7' shape=(3, 4, 3, 4) chunks=RegularChunkGridMetadata(chunk_shape=(3, 1, 3, 1))
state.add_array(data=data(...), name='4Q7')
state.check_list_prefix_from_root()
Checking 252 expected keys vs 252 actual keys
Draw 68: 'ot'
Draw 69: (slice(None, None, None), 1, 2, -3)
overwriting array with basic indexer: slicer=(slice(None, None, None), 1, 2, -3)
Draw 70: array([ -6247, 337, -720840], dtype=int32)
state.overwrite_array_basic_indexing(data=data(...))
state.check_list_prefix_from_root()
Checking 252 expected keys vs 252 actual keys
Draw 71 (generated array): Array(_async_array=AsyncArray(metadata=ArrayV3Metadata(shape=(3,),
data_type=TimeDelta64(endianness='little',
dtype_cls=numpy.dtypes.TimeDelta64DType,
_zarr_v3_name='numpy.timedelta64',
_numpy_name='timedelta64',
scale_factor=1,
unit='ns',
_zarr_v2_names=('>m8', '<m8')),
chunk_grid=RegularChunkGridMetadata(chunk_shape=(1,)),
chunk_key_encoding=DefaultChunkKeyEncoding(name='default', separator='/'),
fill_value=np.timedelta64('NaT','ns'),
codecs=(BytesCodec(endian='little'), ZstdCodec(level=0, checksum=False)),
attributes={'t\n伿%': [], '\U000af1f9\x12¤r\x18': {}},
dimension_names=None,
storage_transformers=(),
extra_fields={}),
store_path=StorePath(MemoryStore, 'memory://140317617606784/afxh_.yf7bleyisyuhybs'),
config=ArrayConfig(order='C',
write_empty_chunks=False,
read_missing_chunks=True,
sharding_coalesce_max_gap_bytes=1048576,
sharding_coalesce_max_bytes=16777216)))
Adding array: path='afxh_.yf7bleyisyuhybs' shape=(3,) chunks=RegularChunkGridMetadata(chunk_shape=(1,))
state.add_array(data=data(...), name='afXH_.yf7BlEyiSYuHYBS')
state.check_list_prefix_from_root()
Checking 253 expected keys vs 253 actual keys
Draw 72 (Array deletion target): '4q7'
Deleting array '4q7' (prefix='', array_name='4q7') using del
state.delete_array_using_del(data=data(...))
state.check_list_prefix_from_root()
Checking 250 expected keys vs 250 actual keys
Draw 73: 'fqok1ise'
Draw 74: (Ellipsis, -2, slice(None, -1, 1), slice(None, None, None))
overwriting array with basic indexer: slicer=(Ellipsis, -2, slice(None, -1, 1), slice(None, None, None))
Draw 75: array([], shape=(0, 1, 0), dtype=uint64)
state.overwrite_array_basic_indexing(data=data(...))
state.check_list_prefix_from_root()
Checking 250 expected keys vs 250 actual keys
Draw 76: '280q1tgeh-mne7mzxf2'
Draw 77: ((array([-2, -2, -2]), array([0])), (array([[-2],
[-2],
[-2]]), array([[0],
[0],
[0]])))
overwriting array orthogonal indexer=(array([-2, -2, -2]), array([0]))
Draw 78: array([[ True],
[ True],
[False]])
state.overwrite_array_orthogonal_indexing(data=data(...))
state.teardown()
Explanation:
These lines were always and only run by failing test cases:
/home/runner/work/zarr-python/zarr-python/src/zarr/abc/store.py:462
/home/runner/work/zarr-python/zarr-python/src/zarr/codecs/sharding.py:393
/home/runner/work/zarr-python/zarr-python/src/zarr/codecs/sharding.py:1057
/home/runner/work/zarr-python/zarr-python/src/zarr/codecs/sharding.py:1086
/home/runner/work/zarr-python/zarr-python/src/zarr/codecs/sharding.py:1373
(and 36 more with settings.verbosity >= verbose)
You can reproduce this test case by temporarily adding @reproduce_failure('6.165.5', b'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') as a decorator on your test function
Workflow Run URL
Python 3.13 Test Summary