[
https://issues.apache.org/jira/browse/FLINK-13073?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Louis Xu updated FLINK-13073:
-----------------------------
Description:
BinaryRow which in blink runtime module has static constant named
FIRST_BYTE_ZERO, it's purpose is to filter first byte。
Use 0xFFF0 as a exsample:
its binary sequence is: 1111111111110000。It has 2 problems:
# It can only skip 4 bits of header. If the header is big than 15, then any
return long value from pos 0 intersect with FIRST_BYTE_ZERO will not equal to
0. Then will always return true.
# It only can check 8 bit(0-7) of null fields, which left 8-55 bit of null
field unchecked.
was:BinaryRow which in blink runtime module has static constant named
FIRST_BYTE_ZERO, it's purpose is filter first byte。It should be 8 bytes with
0xFFFFFFF0 in little endian or 0x0FFFFFFF in big endian, actually it only has 4
bytes. It result in that 24-55 bit of null field can not be check。
> BinaryRow in Blink runtime has wrong FIRST_BYTE_ZERO mask
> ---------------------------------------------------------
>
> Key: FLINK-13073
> URL: https://issues.apache.org/jira/browse/FLINK-13073
> Project: Flink
> Issue Type: Bug
> Components: Table SQL / Runtime
> Affects Versions: 1.9.0
> Reporter: Louis Xu
> Assignee: Louis Xu
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.9.0
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> BinaryRow which in blink runtime module has static constant named
> FIRST_BYTE_ZERO, it's purpose is to filter first byte。
> Use 0xFFF0 as a exsample:
> its binary sequence is: 1111111111110000。It has 2 problems:
> # It can only skip 4 bits of header. If the header is big than 15, then any
> return long value from pos 0 intersect with FIRST_BYTE_ZERO will not equal to
> 0. Then will always return true.
> # It only can check 8 bit(0-7) of null fields, which left 8-55 bit of null
> field unchecked.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)