Skip to content

Nightly Hypothesis tests failed #4280

Description

@github-actions

Workflow Run URL

Python 3.13 Test Summary
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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions