html_url,issue_url,id,node_id,user,created_at,updated_at,author_association,body,reactions,performed_via_github_app,issue
https://github.com/pydata/xarray/issues/4703#issuecomment-747596156,https://api.github.com/repos/pydata/xarray/issues/4703,747596156,MDEyOklzc3VlQ29tbWVudDc0NzU5NjE1Ng==,2448579,2020-12-17T17:49:15Z,2020-12-18T00:59:47Z,MEMBER,"All 4 test failures are from dask.
```
ind = ('all-aggregate-766249a946efdef1b82b2fbb43c52b35',), coll = {}
def nested_get(ind, coll):
""""""Get nested index from collection
Examples
--------
>>> nested_get(1, 'abc')
'b'
>>> nested_get([1, 0], 'abc')
('b', 'a')
>>> nested_get([[1, 0], [0, 1]], 'abc')
(('b', 'a'), ('a', 'b'))
""""""
if isinstance(ind, list):
return tuple([nested_get(i, coll) for i in ind])
else:
> return coll[ind]
E KeyError: ('all-aggregate-766249a946efdef1b82b2fbb43c52b35',)
```
and
```
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/blockwise.py:1456: in fuse_roots
and not any(dependencies[dep] for dep in deps) # no need to fuse if 0 or 1
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
.0 =
> and not any(dependencies[dep] for dep in deps) # no need to fuse if 0 or 1
and all(len(dependents[dep]) == 1 for dep in deps)
and all(layer.annotations == graph.layers[dep].annotations for dep in deps)
):
E KeyError: 'blockwise-create-zeros-83b321c493c9e89ba5406bf312d2ccc3'
```
Full error log:
```
=================================== FAILURES ===================================
_________________ test_argmin_max[x-True-min-True-False-str-1] _________________
dim_num = 1, dtype = , contains_nan = False, dask = True
func = 'min', skipna = True, aggdim = 'x'
@pytest.mark.parametrize(""dim_num"", [1, 2])
@pytest.mark.parametrize(""dtype"", [float, int, np.float32, np.bool_, str])
@pytest.mark.parametrize(""contains_nan"", [True, False])
@pytest.mark.parametrize(""dask"", [False, True])
@pytest.mark.parametrize(""func"", [""min"", ""max""])
@pytest.mark.parametrize(""skipna"", [False, True])
@pytest.mark.parametrize(""aggdim"", [""x"", ""y""])
def test_argmin_max(dim_num, dtype, contains_nan, dask, func, skipna, aggdim):
# pandas-dev/pandas#16830, we do not check consistency with pandas but
# just make sure da[da.argmin()] == da.min()
if aggdim == ""y"" and dim_num < 2:
pytest.skip(""dim not in this test"")
if dask and not has_dask:
pytest.skip(""requires dask"")
if contains_nan:
if not skipna:
pytest.skip(""numpy's argmin (not nanargmin) does not handle object-dtype"")
if skipna and np.dtype(dtype).kind in ""iufc"":
pytest.skip(""numpy's nanargmin raises ValueError for all nan axis"")
da = construct_dataarray(dim_num, dtype, contains_nan=contains_nan, dask=dask)
with warnings.catch_warnings():
warnings.filterwarnings(""ignore"", ""All-NaN slice"")
actual = da.isel(
**{aggdim: getattr(da, ""arg"" + func)(dim=aggdim, skipna=skipna).compute()}
)
expected = getattr(da, func)(dim=aggdim, skipna=skipna)
> assert_allclose(
actual.drop_vars(list(actual.coords)),
expected.drop_vars(list(expected.coords)),
)
/home/runner/work/xarray/xarray/xarray/tests/test_duck_array_ops.py:497:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/home/runner/work/xarray/xarray/xarray/testing.py:139: in compat_variable
return a.dims == b.dims and (a._data is b._data or equiv(a.data, b.data))
/home/runner/work/xarray/xarray/xarray/testing.py:36: in _data_allclose_or_equiv
return duck_array_ops.array_equiv(arr1, arr2)
/home/runner/work/xarray/xarray/xarray/core/duck_array_ops.py:249: in array_equiv
return bool(flag_array.all())
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/array/core.py:1555: in __bool__
return bool(self.compute())
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/base.py:279: in compute
(result,) = compute(self, traverse=False, **kwargs)
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/base.py:567: in compute
results = schedule(dsk, keys, **kwargs)
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/local.py:527: in get_sync
return get_async(apply_sync, 1, dsk, keys, **kwargs)
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/local.py:503: in get_async
return nested_get(result, state[""cache""])
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/local.py:299: in nested_get
return tuple([nested_get(i, coll) for i in ind])
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/local.py:299: in
return tuple([nested_get(i, coll) for i in ind])
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/local.py:299: in nested_get
return tuple([nested_get(i, coll) for i in ind])
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/local.py:299: in
return tuple([nested_get(i, coll) for i in ind])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
ind = ('all-aggregate-16e252575441a0847c7885d6f7da3342',), coll = {}
def nested_get(ind, coll):
""""""Get nested index from collection
Examples
--------
>>> nested_get(1, 'abc')
'b'
>>> nested_get([1, 0], 'abc')
('b', 'a')
>>> nested_get([[1, 0], [0, 1]], 'abc')
(('b', 'a'), ('a', 'b'))
""""""
if isinstance(ind, list):
return tuple([nested_get(i, coll) for i in ind])
else:
> return coll[ind]
E KeyError: ('all-aggregate-16e252575441a0847c7885d6f7da3342',)
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/local.py:301: KeyError
_________________ test_argmin_max[x-True-max-True-False-str-1] _________________
dim_num = 1, dtype = , contains_nan = False, dask = True
func = 'max', skipna = True, aggdim = 'x'
@pytest.mark.parametrize(""dim_num"", [1, 2])
@pytest.mark.parametrize(""dtype"", [float, int, np.float32, np.bool_, str])
@pytest.mark.parametrize(""contains_nan"", [True, False])
@pytest.mark.parametrize(""dask"", [False, True])
@pytest.mark.parametrize(""func"", [""min"", ""max""])
@pytest.mark.parametrize(""skipna"", [False, True])
@pytest.mark.parametrize(""aggdim"", [""x"", ""y""])
def test_argmin_max(dim_num, dtype, contains_nan, dask, func, skipna, aggdim):
# pandas-dev/pandas#16830, we do not check consistency with pandas but
# just make sure da[da.argmin()] == da.min()
if aggdim == ""y"" and dim_num < 2:
pytest.skip(""dim not in this test"")
if dask and not has_dask:
pytest.skip(""requires dask"")
if contains_nan:
if not skipna:
pytest.skip(""numpy's argmin (not nanargmin) does not handle object-dtype"")
if skipna and np.dtype(dtype).kind in ""iufc"":
pytest.skip(""numpy's nanargmin raises ValueError for all nan axis"")
da = construct_dataarray(dim_num, dtype, contains_nan=contains_nan, dask=dask)
with warnings.catch_warnings():
warnings.filterwarnings(""ignore"", ""All-NaN slice"")
actual = da.isel(
**{aggdim: getattr(da, ""arg"" + func)(dim=aggdim, skipna=skipna).compute()}
)
expected = getattr(da, func)(dim=aggdim, skipna=skipna)
> assert_allclose(
actual.drop_vars(list(actual.coords)),
expected.drop_vars(list(expected.coords)),
)
/home/runner/work/xarray/xarray/xarray/tests/test_duck_array_ops.py:497:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/home/runner/work/xarray/xarray/xarray/testing.py:139: in compat_variable
return a.dims == b.dims and (a._data is b._data or equiv(a.data, b.data))
/home/runner/work/xarray/xarray/xarray/testing.py:36: in _data_allclose_or_equiv
return duck_array_ops.array_equiv(arr1, arr2)
/home/runner/work/xarray/xarray/xarray/core/duck_array_ops.py:249: in array_equiv
return bool(flag_array.all())
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/array/core.py:1555: in __bool__
return bool(self.compute())
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/base.py:279: in compute
(result,) = compute(self, traverse=False, **kwargs)
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/base.py:567: in compute
results = schedule(dsk, keys, **kwargs)
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/local.py:527: in get_sync
return get_async(apply_sync, 1, dsk, keys, **kwargs)
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/local.py:503: in get_async
return nested_get(result, state[""cache""])
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/local.py:299: in nested_get
return tuple([nested_get(i, coll) for i in ind])
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/local.py:299: in
return tuple([nested_get(i, coll) for i in ind])
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/local.py:299: in nested_get
return tuple([nested_get(i, coll) for i in ind])
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/local.py:299: in
return tuple([nested_get(i, coll) for i in ind])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
ind = ('all-aggregate-766249a946efdef1b82b2fbb43c52b35',), coll = {}
def nested_get(ind, coll):
""""""Get nested index from collection
Examples
--------
>>> nested_get(1, 'abc')
'b'
>>> nested_get([1, 0], 'abc')
('b', 'a')
>>> nested_get([[1, 0], [0, 1]], 'abc')
(('b', 'a'), ('a', 'b'))
""""""
if isinstance(ind, list):
return tuple([nested_get(i, coll) for i in ind])
else:
> return coll[ind]
E KeyError: ('all-aggregate-766249a946efdef1b82b2fbb43c52b35',)
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/local.py:301: KeyError
_________________ TestVariableWithDask.test_getitem_with_mask __________________
self =
def test_getitem_with_mask(self):
v = self.cls([""x""], [0, 1, 2])
assert_identical(v._getitem_with_mask(-1), Variable((), np.nan))
assert_identical(
v._getitem_with_mask([0, -1, 1]), self.cls([""x""], [0, np.nan, 1])
)
> assert_identical(v._getitem_with_mask(slice(2)), self.cls([""x""], [0, 1]))
/home/runner/work/xarray/xarray/xarray/tests/test_variable.py:132:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/home/runner/work/xarray/xarray/xarray/core/variable.py:1799: in identical
return utils.dict_equiv(self.attrs, other.attrs) and self.equals(
/home/runner/work/xarray/xarray/xarray/core/variable.py:1778: in equals
self._data is other._data or equiv(self.data, other.data)
/home/runner/work/xarray/xarray/xarray/core/duck_array_ops.py:249: in array_equiv
return bool(flag_array.all())
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/array/core.py:1555: in __bool__
return bool(self.compute())
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/base.py:279: in compute
(result,) = compute(self, traverse=False, **kwargs)
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/base.py:567: in compute
results = schedule(dsk, keys, **kwargs)
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/local.py:527: in get_sync
return get_async(apply_sync, 1, dsk, keys, **kwargs)
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/local.py:503: in get_async
return nested_get(result, state[""cache""])
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/local.py:299: in nested_get
return tuple([nested_get(i, coll) for i in ind])
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/local.py:299: in
return tuple([nested_get(i, coll) for i in ind])
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/local.py:299: in nested_get
return tuple([nested_get(i, coll) for i in ind])
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/local.py:299: in
return tuple([nested_get(i, coll) for i in ind])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
ind = ('all-aggregate-513dc24870cea02fa21755f960f05d30',), coll = {}
def nested_get(ind, coll):
""""""Get nested index from collection
Examples
--------
>>> nested_get(1, 'abc')
'b'
>>> nested_get([1, 0], 'abc')
('b', 'a')
>>> nested_get([[1, 0], [0, 1]], 'abc')
(('b', 'a'), ('a', 'b'))
""""""
if isinstance(ind, list):
return tuple([nested_get(i, coll) for i in ind])
else:
> return coll[ind]
E KeyError: ('all-aggregate-513dc24870cea02fa21755f960f05d30',)
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/local.py:301: KeyError
___________________ TestVariableWithDask.test_real_and_imag ____________________
self =
def test_real_and_imag(self):
v = self.cls(""x"", np.arange(3) - 1j * np.arange(3), {""foo"": ""bar""})
expected_re = self.cls(""x"", np.arange(3), {""foo"": ""bar""})
> assert_identical(v.real, expected_re)
/home/runner/work/xarray/xarray/xarray/tests/test_variable.py:580:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/home/runner/work/xarray/xarray/xarray/core/variable.py:1799: in identical
return utils.dict_equiv(self.attrs, other.attrs) and self.equals(
/home/runner/work/xarray/xarray/xarray/core/variable.py:1778: in equals
self._data is other._data or equiv(self.data, other.data)
/home/runner/work/xarray/xarray/xarray/core/duck_array_ops.py:249: in array_equiv
return bool(flag_array.all())
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/array/core.py:1555: in __bool__
return bool(self.compute())
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/base.py:279: in compute
(result,) = compute(self, traverse=False, **kwargs)
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/base.py:561: in compute
dsk = collections_to_dsk(collections, optimize_graph, **kwargs)
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/base.py:332: in collections_to_dsk
_opt = opt(dsk, keys, **kwargs)
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/array/optimization.py:47: in optimize
dsk = fuse_roots(dsk, keys=keys)
/usr/share/miniconda/envs/xarray-tests/lib/python3.8/site-packages/dask/blockwise.py:1456: in fuse_roots
and not any(dependencies[dep] for dep in deps) # no need to fuse if 0 or 1
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
.0 =
> and not any(dependencies[dep] for dep in deps) # no need to fuse if 0 or 1
and all(len(dependents[dep]) == 1 for dep in deps)
and all(layer.annotations == graph.layers[dep].annotations for dep in deps)
):
E KeyError: 'blockwise-create-zeros-83b321c493c9e89ba5406bf312d2ccc3'
```
PS: Great work with this feature!","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,769382950