{"action":"created","issue":{"url":"https://api.github.com/repos/apache/beam/issues/6232","repository_url":"https://api.github.com/repos/apache/beam","labels_url":"https://api.github.com/repos/apache/beam/issues/6232/labels{/name}","comments_url":"https://api.github.com/repos/apache/beam/issues/6232/comments","events_url":"https://api.github.com/repos/apache/beam/issues/6232/events","html_url":"https://github.com/apache/beam/pull/6232","id":350949089,"node_id":"MDExOlB1bGxSZXF1ZXN0MjA4NjY3ODYx","number":6232,"title":"set S3 MD5 digest when uploading parts","user":{"login":"toelen","id":186491,"node_id":"MDQ6VXNlcjE4NjQ5MQ==","avatar_url":"https://avatars1.githubusercontent.com/u/186491?v=4","gravatar_id":"","url":"https://api.github.com/users/toelen","html_url":"https://github.com/toelen","followers_url":"https://api.github.com/users/toelen/followers","following_url":"https://api.github.com/users/toelen/following{/other_user}","gists_url":"https://api.github.com/users/toelen/gists{/gist_id}","starred_url":"https://api.github.com/users/toelen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/toelen/subscriptions","organizations_url":"https://api.github.com/users/toelen/orgs","repos_url":"https://api.github.com/users/toelen/repos","events_url":"https://api.github.com/users/toelen/events{/privacy}","received_events_url":"https://api.github.com/users/toelen/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2018-08-15T20:11:04Z","updated_at":"2018-08-21T13:52:20Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/apache/beam/pulls/6232","html_url":"https://github.com/apache/beam/pull/6232","diff_url":"https://github.com/apache/beam/pull/6232.diff","patch_url":"https://github.com/apache/beam/pull/6232.patch"},"body":"Calculates an MD5 digest on the fly, and sends it along when uploading S3 parts. The MD5 digest is validates on server side, and guarantees that nothing went wrong during transport.\r\n\r\nI have to admit that the current unit tests will not detect any problems with MD5 digests. In other projects S3Mock did a great job, but I didn't want to change the system of S3 unit tests in this commit.\r\n\r\n------------------------\r\n\r\nFollow this checklist to help us incorporate your contribution quickly and easily:\r\n\r\n - [ ] Format the pull request title like `[BEAM-XXX] Fixes bug in ApproximateQuantiles`, where you replace `BEAM-XXX` with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.\r\n - [ ] If this contribution is large, please file an Apache [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf).\r\n\r\nIt will help us expedite review of your Pull Request if you tag someone (e.g. `@username`) to look at it.\r\n\r\nPost-Commit Tests Status (on master branch)\r\n------------------------------------------------------------------------------------------------\r\n\r\nLang | SDK | Apex | Dataflow | Flink | Gearpump | Samza | Spark\r\n--- | --- | --- | --- | --- | --- | --- | ---\r\nGo | [![Build Status](https://builds.apache.org/job/beam_PostCommit_Go_GradleBuild/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Go_GradleBuild/lastCompletedBuild/) | --- | --- | --- | --- | --- | ---\r\nJava | [![Build Status](https://builds.apache.org/job/beam_PostCommit_Java_GradleBuild/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Java_GradleBuild/lastCompletedBuild/) | [![Build Status](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Apex_Gradle/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Apex_Gradle/lastCompletedBuild/) | [![Build Status](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Dataflow_Gradle/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Dataflow_Gradle/lastCompletedBuild/) | [![Build Status](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Flink_Gradle/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Flink_Gradle/lastCompletedBuild/) | [![Build Status](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Gearpump_Gradle/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Gearpump_Gradle/lastCompletedBuild/) | [![Build Status](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Samza_Gradle/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Samza_Gradle/lastCompletedBuild/) | [![Build Status](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Spark_Gradle/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Spark_Gradle/lastCompletedBuild/)\r\nPython | [![Build Status](https://builds.apache.org/job/beam_PostCommit_Python_Verify/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Python_Verify/lastCompletedBuild/) | --- | [![Build Status](https://builds.apache.org/job/beam_PostCommit_Py_VR_Dataflow/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Py_VR_Dataflow/lastCompletedBuild/) </br> [![Build Status](https://builds.apache.org/job/beam_PostCommit_Py_ValCont/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Py_ValCont/lastCompletedBuild/) | --- | --- | --- | ---\r\n\r\n\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/apache/beam/issues/comments/414681479","html_url":"https://github.com/apache/beam/pull/6232#issuecomment-414681479","issue_url":"https://api.github.com/repos/apache/beam/issues/6232","id":414681479,"node_id":"MDEyOklzc3VlQ29tbWVudDQxNDY4MTQ3OQ==","user":{"login":"toelen","id":186491,"node_id":"MDQ6VXNlcjE4NjQ5MQ==","avatar_url":"https://avatars1.githubusercontent.com/u/186491?v=4","gravatar_id":"","url":"https://api.github.com/users/toelen","html_url":"https://github.com/toelen","followers_url":"https://api.github.com/users/toelen/followers","following_url":"https://api.github.com/users/toelen/following{/other_user}","gists_url":"https://api.github.com/users/toelen/gists{/gist_id}","starred_url":"https://api.github.com/users/toelen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/toelen/subscriptions","organizations_url":"https://api.github.com/users/toelen/orgs","repos_url":"https://api.github.com/users/toelen/repos","events_url":"https://api.github.com/users/toelen/events{/privacy}","received_events_url":"https://api.github.com/users/toelen/received_events","type":"User","site_admin":false},"created_at":"2018-08-21T13:52:20Z","updated_at":"2018-08-21T13:52:20Z","author_association":"CONTRIBUTOR","body":"S3Mock is a 'real' embedded S3 server\r\n\r\nhttps://github.com/findify/s3mock"}}
{"actor":{"display_login":"toelen"}}