Fix crash for uploading parts which size is greater then INT_MAX to S3#47693
Fix crash for uploading parts which size is greater then INT_MAX to S3#47693rschu1ze merged 6 commits intoClickHouse:masterfrom
Conversation
9f5beae to
6d869e3
Compare
|
@azat a submodule is updated by mistake. |
|
stringstream, as well as iostreams - are not allowed in the ClickHouse source code. |
|
Parts should be uploaded in a streaming fashion without extra buffering or copying. |
It was done by intention, since submodule update contain a fix for the
I'm not the fan of them either, but aws-cpp-sdk accepts them.
By default they "do" (as you can see the test sets But recently I've played with R2 storage, and it does not work nicely with multi-part upload, I've tried to upload everything in one part and server crashed, and after some digging I found this bug in the libc++ implementation of Also default size of |
e7d69bc to
5c701b0
Compare
|
Changes to the LLVM submodule are merged, let's update and merge this PR. |
Signed-off-by: Azat Khuzhin <[email protected]>
Signed-off-by: Azat Khuzhin <[email protected]>
Seems that the IO is too slow [1]. [1]: https://s3.amazonaws.com/clickhouse-test-reports/47693/6d869e3b0d3e439260eb54c32e3fa99acecae063/stateless_tests_flaky_check__asan_.html Signed-off-by: Azat Khuzhin <[email protected]>
Seems that version of MinIO that is used on CI is too slow for this [1], I've tried the same locally with RELEASE.2023-02-10T18-48-39Z and everythings works OK, but I have NVME locally and more recent MinIO. [1]: https://s3.amazonaws.com/clickhouse-test-reports/47693/5c701b090c3ec10cb2a4a708b60d364eb02192fe/stateless_tests_flaky_check__asan_.html Signed-off-by: Azat Khuzhin <[email protected]>
Reverts: ClickHouse#48816 Signed-off-by: Azat Khuzhin <[email protected]>
b690664 to
fff6062
Compare
|
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
Fix crash for uploading parts which size is greater then INT_MAX to S3
The problem was that
std::stringstreamfrom libc++ crashes when you have > INT_MAX bytes there (after callinggcount()).Refs: ClickHouse/llvm-project#9
Refs: ClickHouse/llvm-project#16
Fixes: #47679
Reverts: #48816
Cc: @rschu1ze