Source: dask Version: 2022.02.0+dfsg-2 Severity: serious Tags: sid bookworm User: [email protected] Usertags: needs-update User: [email protected] Usertags: python3.11 Control: affects -1 src:python3-defaults
Dear maintainer(s),We are in the transition of adding python3.11 as a supported Python version [0]. With a recent upload of python3-defaults the autopkgtest of dask fails on armhf and i386 in testing when that autopkgtest is run with the binary packages of python3-defaults from unstable. It passes when run with only packages from testing. In tabular form:
pass fail
python3-defaults from testing 3.10.6-3
dask from testing 2022.02.0+dfsg-2
all others from testing from testing
I copied some of the output at the bottom of this report.
Currently this regression is blocking the migration of python3-defaults
to testing [1]. https://docs.python.org/3/whatsnew/3.11.html lists
what's new in Python3.11, it may help to identify what needs to be updated.
More information about this bug and the reason for filing it can be found on https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation Paul [0] https://bugs.debian.org/1021984 [1] https://qa.debian.org/excuses.php?package=python3-defaults https://ci.debian.net/data/autopkgtest/testing/armhf/d/dask/28718535/log.gz=================================== FAILURES =================================== _____________________________ test_query_with_meta _____________________________
db = 'sqlite:////tmp/tmpyge_bwo2.'
def test_query_with_meta(db):
from sqlalchemy import sql
data = {
"name": pd.Series([], name="name", dtype="str"),
"age": pd.Series([], name="age", dtype="int"),
}
index = pd.Index([], name="number", dtype="int")
meta = pd.DataFrame(data, index=index)
s1 = sql.select(
[sql.column("number"), sql.column("name"), sql.column("age")]
).select_from(sql.table("test"))
out = read_sql_query(s1, db, npartitions=2, index_col="number",
meta=meta)
# Don't check dtype for windows
https://github.com/dask/dask/issues/8620
assert_eq(out, df[["name", "age"]], check_dtype=sys.int_info.sizeof_digit
!= 2)
/usr/lib/python3/dist-packages/dask/dataframe/io/tests/test_sql.py:443: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
a = name age
number 0 Alice 33
1 Bob 40
2 Chris 22
3 Dora 16
4 Edith 53
5 Francis 30
6 Garreth 20
b = name age
number 0 Alice 33
1 Bob 40
2 Chris 22
3 Dora 16
4 Edith 53
5 Francis 30
6 Garreth 20
check_names = True, check_dtype = True, check_divisions = True
check_index = True, scheduler = 'sync', kwargs = {}
def assert_eq(
a,
b,
check_names=True,
check_dtype=True,
check_divisions=True,
check_index=True,
scheduler="sync",
**kwargs,
):
if check_divisions:
assert_divisions(a, scheduler=scheduler)
assert_divisions(b, scheduler=scheduler)
if hasattr(a, "divisions") and hasattr(b, "divisions"):
at = type(np.asarray(a.divisions).tolist()[0]) # numpy
to python
bt = type(np.asarray(b.divisions).tolist()[0]) #
scalar conversion
assert at == bt, (at, bt)
assert_sane_keynames(a)
assert_sane_keynames(b)
a = _check_dask(
a, check_names=check_names, check_dtypes=check_dtype,
scheduler=scheduler
)
b = _check_dask(
b, check_names=check_names, check_dtypes=check_dtype,
scheduler=scheduler
)
if hasattr(a, "to_pandas"):
a = a.to_pandas()
if hasattr(b, "to_pandas"):
b = b.to_pandas()
if isinstance(a, (pd.DataFrame, pd.Series)):
a = _maybe_sort(a, check_index)
b = _maybe_sort(b, check_index)
if not check_index:
a = a.reset_index(drop=True)
b = b.reset_index(drop=True)
if isinstance(a, pd.DataFrame):
tm.assert_frame_equal(
a, b, check_names=check_names, check_dtype=check_dtype,
**kwargs
E AssertionError: Attributes of DataFrame.iloc[:, 1]
(column name="age") are different
E E Attribute "dtype" are different E [left]: int32 E [right]: int64 /usr/lib/python3/dist-packages/dask/dataframe/utils.py:562: AssertionError
OpenPGP_signature
Description: OpenPGP digital signature

