I haven't isolated which test(s) caused the crash, but it's reproducible
by running the tests with MariaDB < 10.2.16. Since this is an upstream
issue, I think we can just bump the version requirement to 10.2.16 or add
a warning that some things may not work with MariaDB < 10.2.16.
--
Ticket URL: <https://code.djangoproject.com/ticket/31779>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
* owner: nobody => sage
* status: new => assigned
--
Ticket URL: <https://code.djangoproject.com/ticket/31779#comment:1>
Old description:
> We explicitly say that JSONField is supported on MariaDB >= 10.2.7.
> However, it seems that there is an upstream bug that causes complex
> JSONField queries to crash: https://jira.mariadb.org/browse/MDEV-16209
>
> I haven't isolated which test(s) caused the crash, but it's reproducible
> by running the tests with MariaDB < 10.2.16. Since this is an upstream
> issue, I think we can just bump the version requirement to 10.2.16 or add
> a warning that some things may not work with MariaDB < 10.2.16.
New description:
We explicitly say that JSONField is supported on MariaDB >= 10.2.7.
However, it seems that there is an upstream bug that causes complex
JSONField queries to crash: https://jira.mariadb.org/browse/MDEV-16209
~~I haven't isolated which test(s) caused the crash~~, but it's
reproducible by running the tests with MariaDB < 10.2.16. Since this is an
upstream issue, I think we can just bump the version requirement to
10.2.16 or add a warning that some things may not work with MariaDB <
10.2.16.
The following tests crash the database server:
{{{
model_fields.test_jsonfield.TestSaveLoad.test_json_null_different_from_sql_null
model_fields.test_jsonfield.TestQuerying.test_exact
model_fields.test_jsonfield.TestQuerying.test_exact_complex
model_fields.test_jsonfield.TestQuerying.test_key_transform_raw_expression
model_fields.test_jsonfield.TestQuerying.test_nested_key_transform_raw_expression
model_fields.test_jsonfield.TestQuerying.test_isnull_key_or_none
model_fields.test_jsonfield.TestQuerying.test_none_key
model_fields.test_jsonfield.TestQuerying.test_none_key_exclude
model_fields.test_jsonfield.TestQuerying.test_shallow_list_lookup
model_fields.test_jsonfield.TestQuerying.test_shallow_obj_lookup
model_fields.test_jsonfield.TestQuerying.test_obj_subquery_lookup
model_fields.test_jsonfield.TestQuerying.test_deep_lookup_objs
model_fields.test_jsonfield.TestQuerying.test_shallow_lookup_obj_target
model_fields.test_jsonfield.TestQuerying.test_deep_lookup_array
model_fields.test_jsonfield.TestQuerying.test_deep_lookup_mixed
model_fields.test_jsonfield.TestQuerying.test_usage_in_subquery
model_fields.test_jsonfield.TestQuerying.test_key_escape
model_fields.test_jsonfield.TestQuerying.test_none_key_and_exact_lookup
}}}
--
--
Ticket URL: <https://code.djangoproject.com/ticket/31779#comment:2>
* cc: Carlton Gibson (added)
* status: assigned => closed
* resolution: => invalid
Comment:
Thanks for this report, however support for the `JSON` data type was
officially added in MariaDB 10.2.7 so IMO we should leave as it is because
this feature is not totally broken, even if they fixed some bugs in
`JSON_EXTRACT()` in MariaDB 10.2.16 (it's also broken in MariaDB 10.3.0 to
10.3.7). Django always supports the latest micro release and we cannot
bump feature flags for each issue. It should be enough to keep this ticket
for reference. Thanks!
`JSON_EXTRACT()` has some major bugs even in the latest release, see
[https://jira.mariadb.org/browse/MDEV-21530 MDEV-21530].
--
Ticket URL: <https://code.djangoproject.com/ticket/31779#comment:3>