You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Flink Jira Bot (Jira)" <ji...@apache.org> on 2023/09/02 22:36:00 UTC
[jira] [Updated] (FLINK-31377) BinaryArrayData getArray/getMap should Handle null correctly AssertionError: valueArraySize (-6) should >= 0
[ https://issues.apache.org/jira/browse/FLINK-31377?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Flink Jira Bot updated FLINK-31377:
-----------------------------------
Labels: auto-deprioritized-major pull-request-available (was: pull-request-available stale-major)
Priority: Minor (was: Major)
This issue was labeled "stale-major" 7 days ago and has not received any updates so it is being deprioritized. If this ticket is actually Major, please raise the priority and ask a committer to assign you the issue or revive the public discussion.
> BinaryArrayData getArray/getMap should Handle null correctly AssertionError: valueArraySize (-6) should >= 0
> -------------------------------------------------------------------------------------------------------------
>
> Key: FLINK-31377
> URL: https://issues.apache.org/jira/browse/FLINK-31377
> Project: Flink
> Issue Type: Bug
> Affects Versions: 1.18.0
> Reporter: Jacky Lau
> Priority: Minor
> Labels: auto-deprioritized-major, pull-request-available
>
> you can reproduce this error below. and reason is in ARRAY_CONTAINS
> {code:java}
> if the needle is a Map NOT NULL,and the array has null element.
> this bellowing will cause getElementOrNull(ArrayData array, int pos) only can handle not null. so it throw exception
> /*elementGetter = ArrayData.createElementGetter(needleDataType.getLogicalType());*/,
> {code}
>
> {code:java}
> // code placeholder
> Stream<TestSetSpec> getTestSetSpecs() {
> return Stream.of(
> TestSetSpec.forFunction(BuiltInFunctionDefinitions.ARRAY_CONTAINS)
> .onFieldsWithData(
> new Map[] {
> null,
> CollectionUtil.map(entry(1, "a"), entry(2, "b")),
> CollectionUtil.map(entry(3, "c"), entry(4, "d")),
> },
> null)
> .andDataTypes(
> DataTypes.ARRAY(DataTypes.MAP(DataTypes.INT(), DataTypes.STRING())),
> DataTypes.STRING())
> .testResult(
> $("f0").arrayContains(
> CollectionUtil.map(entry(3, "c"), entry(4, "d"))),
> "ARRAY_CONTAINS(f0, MAP[3, 'c', 4, 'd'])",
> true,
> DataTypes.BOOLEAN()));
> }
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)