[
https://issues.apache.org/jira/browse/ARROW-17904?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17614467#comment-17614467
]
Xuwei Fu commented on ARROW-17904:
----------------------------------
kudu/rocksdb/leveldb uses `crc32c` rather than standard `crc32`, maybe because
`crc32c` is faster. ClickHouse even uses other checksum functions.
MySQL uses zlib's crc32 implementions (
[https://github.com/mysql/mysql-server/blob/8.0/storage/innobase/ut/crc32.cc]
), introducing it might need some code updates about arrow's cpuinfo.
Ganvida already includes `boost/crc32`, using it is quiet convinient.
Arrow includes `crc32c` in google, which is pasted from leveldb's crc32. But
it's crc32c, which breaks the parquet standard.
I'm not familiar with other crc32 implementions, maybe there are some faster
implementions.
> [C++] Parquet support read page with crc32 checking
> ---------------------------------------------------
>
> Key: ARROW-17904
> URL: https://issues.apache.org/jira/browse/ARROW-17904
> Project: Apache Arrow
> Issue Type: Improvement
> Components: Parquet
> Affects Versions: 9.0.0
> Reporter: Xuwei Fu
> Assignee: Xuwei Fu
> Priority: Major
> Labels: pull-request-available
> Fix For: 11.0.0
>
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> Currently, C++'s Parquet support write page with checksum, but `ReadPage`
> doesn't have check any checksum. And I would like to fix it
> I'd like to split this patch to different parts:
> # Implement the crc in DataPageV1, which requires a write crc config,
> counting crc in read mode, crc verification, migrate testing from parquet mr
> # Implement crc in DataPageV2 and Dict
--
This message was sent by Atlassian Jira
(v8.20.10#820010)