[ 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)