apache / apache/parquet-java

AvroParquetWriter write to s3 bucket throws data intergrity exception

オープン
#2,684 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
Component: Parquet Priority: Major Type: bug
主要言語
Java
スター
3.1k
フォーク
1.6k
平均マージ
3日 12時間
マージ済み PR(30日)
33

説明

 

Hi, we are trying to use [org.apache.parquet.avro](https://www.tabnine.com/code/java/packages/org.apache.parquet.avro).AvroParquetWriter

to write parquet file to s3 bucket. The file is successfully written to s3 bucket but 

get an exception

com.amazonaws.SdkClientException: Unable to verify integrity of data upload.

The purpose is to resolve this exceptions while  The s3 bucket is encrypted with SSE-KMS not SSE-S3. 

 

It appears that the exceptions are thrown because of code blocks in the link below

From amazon doc, the etag is not same as MD5 when s3 bucket is encrypted with SSE-KMS

 

**The possible way is to pass MD5 in request header or set system.property to disable validation in  skipMd5CheckStrategy.skipClientSideValidationPerPutResponse as indicated in link**

 The issue is that I do not find a proper way to inject such configurations into AvroParquetWriter. Is this possible? If yes, can you help to show how to do it? 

 

Thanks

 

Sean

 

**Reporter**: [sean](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=ks666)

**Note**: *This issue was originally created as [PARQUET-2146](https://issues.apache.org/jira/browse/PARQUET-2146). Please see the [migration documentation](https://issues.apache.org/jira/browse/PARQUET-2502) for further details.*

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

AvroParquetWriter から始めて、その S3 アップロード設定が AmazonS3Client に到達するまでを追跡します。特に、レポートでリンクされている検証パスを確認してください。SkipMd5CheckStrategy と SSE-KMS ETags に関する AWS ドキュメントを読みます。SSE-KMS のアップロードで整合性例外が発生しなくなるか、設定方法が文書化されれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
aws, java
領域
cloud
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。