Commit Graph

2911 Commits

Author SHA1 Message Date
Vitaly Baranov
6d45d0c374
Use fingerprints instead of key IDs in encrypted disks (#49882)
* Use fingerprints instead of key IDs to find keys in encrypted disks.
Always use little endian in the headers of encryption files.

* Add tests.

* Fix copying binary files to test containers.

* Fix ownership for copied files in test containers.

* Add comments after review.

---------

Co-authored-by: Nikita Mikhaylov <mikhaylovnikitka@gmail.com>
2023-05-31 13:11:10 +02:00
Sema Checherinda
ab027ca1ce
Merge pull request #50275 from CheSema/d-tor-free
buffers d-tor finalize free
2023-05-31 12:26:19 +02:00
Alexey Gerasimchuk
44ba35d2c1
Merge branch 'master' into ADQM-830 2023-05-31 15:07:37 +10:00
Sema Checherinda
91a3c88126 less logs in WriteBufferFromS3 2023-05-30 15:49:47 +02:00
Sema Checherinda
0a128cec61 remove tricky debug trap 2023-05-30 12:28:58 +02:00
Sema Checherinda
0b4ea3e2e1 remove reminder comments 2023-05-30 12:26:20 +02:00
Sema Checherinda
b13990efcc fix build 2023-05-30 12:26:20 +02:00
Sema Checherinda
13dcb62ffb fix logs engins 2023-05-30 12:26:20 +02:00
Sema Checherinda
a5dcd8dabb do not call finalize in d-tor MergedBlockOutputStream::Finalizer 2023-05-30 12:26:20 +02:00
Sema Checherinda
d95e5b51af mark all finalize calls in buffers d-tors with issue id 2023-05-30 12:26:20 +02:00
Sema Checherinda
fe3939287b add test, fix .gin_sid files 2023-05-30 12:26:20 +02:00
Sema Checherinda
0e019c8e83 turn off some d-tor finalize 2023-05-30 12:26:20 +02:00
Sema Checherinda
100b4d0969 cope with finalize in d-tors 2023-05-30 12:26:20 +02:00
Andrey Zvonov
87fc780c14
Merge branch 'master' into zvonand-implicit-tz 2023-05-30 13:13:46 +03:00
Antonio Andelic
67746bfff2 Merge branch 'master' into keeper-with-disks 2023-05-30 09:50:12 +00:00
nikitakeba
f604fb82b2
Merge branch 'master' into add-reading-from-archives-support 2023-05-29 23:34:19 +03:00
Nikita Keba
04450a2042 add CheckFileInfo Unit Tests 2023-05-29 20:28:15 +00:00
Nikita Keba
c18bff58b3 fix style 2023-05-29 20:08:18 +00:00
Nikita Keba
8cf79cdb6c add SevenZipArchiveReader unit tests 2023-05-29 19:55:46 +00:00
Nikita Keba
636d50caa0 fix cmake + add unit tests for TarArchiveReader 2023-05-29 19:35:24 +00:00
Nikita Keba
19a0fbeccc add SevenZipArchiveReader/TarArchiveReader 2023-05-29 17:15:33 +00:00
alesapin
6b7e2a0041
Merge pull request #49961 from CheSema/mem-consumption-s3-write
Introduce a limitation of async calls inside s3 write buffer, make a test that memory is bounded even when s3 is slow
2023-05-29 13:29:01 +02:00
Alexey Milovidov
ef7e9e28b7
Merge pull request #50231 from ClickHouse/inverse-io-scheduler-priority-3
Unify priorities: rework IO scheduling subsystem
2023-05-29 04:34:23 +03:00
Vitaly Baranov
0e2156c776
Fix checksum calculation for backup entries (#50264)
* Fix possible deadlock in calculating backup entries' checksums.

* Fix data type used to store checksums.

* Allow ReadBufferFromMemory::seek() to go to the end of the buffer
(seek(0, SEEK_SET) must be allowed for an empty buffer)

* Add tests.

---------

Co-authored-by: Nikita Mikhaylov <mikhaylovnikitka@gmail.com>
2023-05-27 14:35:37 +02:00
Sema Checherinda
86f85d7b3b cope with finalize in d-tors 2023-05-27 01:18:01 +02:00
avogar
ef9bae50b9 Fix bugs in Poco, use true non-blocking IO 2023-05-26 23:11:57 +00:00
Alexey Gerasimchuk
12105c3dfa
Merge branch 'master' into ADQM-830 2023-05-27 07:35:05 +10:00
Sema Checherinda
1588219ffd comments 2023-05-26 19:03:59 +02:00
Sema Checherinda
8523cd54a0 working with review comments 2023-05-26 19:00:22 +02:00
Sema Checherinda
7c9d2ab6d0 working with review comments 2023-05-26 19:00:13 +02:00
Sema Checherinda
b0eff95388 update doc, add profile event WriteBufferFromS3WaitInflightLimitMicroseconds 2023-05-26 18:59:21 +02:00
Sema Checherinda
0b781bd4f1 fix test_merge_canceled_by_s3_errors 2023-05-26 18:59:21 +02:00
Sema Checherinda
206efee9b7 add test with merge tree table 2023-05-26 18:59:21 +02:00
Sema Checherinda
4249bda449 s3_max_inflight_parts_for_one_file with tests 2023-05-26 18:59:11 +02:00
Sergei Trifonov
0d1f2e297b
Unify priorities: lower value means higher priority (#50205) 2023-05-26 15:55:30 +02:00
Antonio Andelic
8a2a63a7bd Merge branch 'master' into keeper-with-disks 2023-05-26 10:48:41 +00:00
Kruglov Pavel
67c8c5c561
Add missing include 2023-05-26 12:44:43 +02:00
Kruglov Pavel
03652efe58
Add missing include 2023-05-26 12:44:28 +02:00
Aleksei Filatov
2a2c35e4c1 Fix changed IP for https session 2023-05-26 09:08:34 +03:00
Kruglov Pavel
18be731e30
Merge branch 'master' into fix-secure-async-read-write 2023-05-26 00:46:33 +02:00
Kruglov Pavel
f03ca41b08
Fix build 2023-05-26 00:21:46 +02:00
Kruglov Pavel
67b78829fc
Fix build 2023-05-26 00:21:14 +02:00
Kruglov Pavel
a9082b24b4
Fix build 2023-05-26 00:20:20 +02:00
Alexey Gerasimchuk
8d7cb7fc3b
Merge branch 'master' into ADQM-830 2023-05-26 07:49:51 +10:00
Kruglov Pavel
1964d1bb7e
Fix comment 2023-05-25 22:30:16 +02:00
avogar
42e1e3ae20 Fix working with secure socket after async connection 2023-05-25 20:24:03 +00:00
serxa
0ca526c603 Unify priorities: rework IO scheduling subsystem 2023-05-25 13:25:41 +00:00
serxa
3ef6cb7bdc git-apply #50205 2023-05-25 13:24:45 +00:00
Kseniia Sumarokova
f1a3c9cfd5
Merge pull request #50109 from kssenii/abstract-async-prefetched-buffer
Make async prefetched buffer work with arbitrary impl
2023-05-25 15:06:44 +02:00
Alexey Gerasimchuck
75791d7a63 Added input_format_csv_trim_whitespaces parameter 2023-05-25 07:51:32 +00:00
Antonio Andelic
fa3fb49d33 Merge branch 'master' into keeper-with-disks 2023-05-24 09:04:47 +00:00
Antonio Andelic
161afea266 Add support for changelog 2023-05-24 07:43:57 +00:00
avogar
3c1aeaaa79 Change default value of handshake_timeout to 10 sec, fix possible use-after-free 2023-05-23 11:39:40 +00:00
Antonio Andelic
3e6314675c
Merge pull request #49930 from AVMusorin/write-buffer-from-s3
Fix metrics `WriteBufferFromS3Bytes`, `WriteBufferFromS3Microseconds` and `WriteBufferFromS3RequestsErrors`
2023-05-23 12:26:05 +02:00
Kruglov Pavel
136c3caf03
Merge branch 'master' into handshake-timeout 2023-05-23 11:53:54 +02:00
Kruglov Pavel
66e111a6aa
Fix tests 2023-05-23 11:52:44 +02:00
Kruglov Pavel
cee6c3914f
Fix build 2023-05-22 21:36:55 +02:00
kssenii
295fe3b228 Merge remote-tracking branch 'upstream/master' into abstract-async-prefetched-buffer 2023-05-22 20:01:38 +02:00
kssenii
c4d862a16f Make async reader work with any impl 2023-05-22 19:54:04 +02:00
alesapin
cc3897a84a
Merge pull request #50033 from kssenii/disk-object-storage-minor-changes
Get rid of indirect write buffer in object storages
2023-05-22 14:08:17 +02:00
Antonio Andelic
dc31396035 Merge branch 'master' into keeper-with-disks 2023-05-22 08:10:24 +00:00
Antonio Andelic
3a46fe1803
Merge branch 'master' into write-buffer-from-s3 2023-05-22 09:28:14 +02:00
zvonand
8c816a5c4a update 2023-05-22 01:00:40 +02:00
kssenii
8924c17575 Fix build 2023-05-20 13:31:27 +02:00
Alexey Milovidov
2323542e47
Merge pull request #50022 from ClickHouse/geo-types-production-ready
Geo types are production ready
2023-05-20 02:02:23 +03:00
Alexey Milovidov
54f7b8e6ab
Merge pull request #50030 from kssenii/aws-client-save-provider
Add method getCredentials() to S3::Client
2023-05-20 01:59:58 +03:00
zvonand
7dccb51bc0 fix conflict and update 2023-05-19 23:40:51 +02:00
alekar
de710209a7
Merge branch 'master' into fix-osx-setsockopt-errors 2023-05-19 11:15:01 -07:00
kssenii
3e42ee7f2b Get rid of finalize callback in object storages 2023-05-19 17:29:37 +02:00
kssenii
b29edc4737 Add method 2023-05-19 16:38:14 +02:00
Antonio Andelic
7f60af11cb
Merge branch 'master' into write-buffer-from-s3 2023-05-19 15:17:05 +02:00
Alexey Milovidov
f5506210d6 Geo types are production ready 2023-05-19 12:43:55 +02:00
Sergei Trifonov
f98c337d2f
Fix stack-use-after-scope in resource manager test (#49908)
* Fix stack-use-after-scope in resource manager test

* fix
2023-05-18 14:53:46 +02:00
AVMusorin
7df4820af7
Fix metrics WriteBufferFromS3Bytes, WriteBufferFromS3Microseconds and WriteBufferFromS3RequestsErrors
Ref: https://github.com/ClickHouse/ClickHouse/pull/45188
2023-05-17 14:50:38 +02:00
avogar
846804fed0 Add separate handshake_timeout for receiving Hello packet from replica 2023-05-17 11:39:04 +00:00
Antonio Andelic
4bc5a76fa7
Add Compose request for GCS (#49693)
* Add compose request

* Check if outcome is successful

---------

Co-authored-by: Nikita Mikhaylov <mikhaylovnikitka@gmail.com>
2023-05-16 17:20:06 +02:00
Kruglov Pavel
8436a093e7
Fix build 2023-05-16 13:36:12 +02:00
Sema Checherinda
03c51208d1
Merge pull request #44869 from CheSema/multi_part_upload
rework WriteBufferFromS3, add tests, add abortion
2023-05-16 10:52:01 +02:00
Antonio Andelic
465123fa1b Merge branch 'master' into keeper-with-disks 2023-05-16 08:07:06 +00:00
Sergei Trifonov
cbc15bf35a
Add DynamicResourceManager and FairPolicy into scheduling subsystem (#49671)
* Add `DynamicResourceManager` and `FairPolicy` into scheduling subsystem

* fix test

* fix tidy build
2023-05-15 23:13:17 +02:00
Sema Checherinda
dccdb3e678 work with comments on PR 2023-05-15 14:41:51 +02:00
alekar
2631d3db20
Merge branch 'master' into fix-osx-setsockopt-errors 2023-05-13 23:03:17 -07:00
Manas Alekar
c87b33a24d Fix error on OS X regarding resetting timeouts.
This happens when remote disconnects due to inactivity. It seems
to work on Linux, likely due to difference in SO_LINGER, maybe a
different default timeout on Darwin.

Verified manually using clickhouse cloud using following process:

1. Connect to instance.
2. Run `show tables`.
3. Wait 6 minutes.
4. Run `show tables`.

With this fix, the EINVAL is not reported, and client will simply
reconnect.
2023-05-13 22:55:27 -07:00
Alexey Milovidov
5a44dc26e7 Fixes for clang-17 2023-05-13 02:57:31 +02:00
Robert Schulze
b9c185af44
Merge pull request #49678 from azat/build/llvm-16
Switch to LLVM/clang 16 (16.0.3)
2023-05-12 13:47:36 +02:00
Sema Checherinda
22f7aa8d89 make special build pass 2023-05-12 12:00:15 +02:00
Nikita Mikhaylov
66badcd59c
Merge pull request #49725 from vitlibar/incremental-backup-append-table-def
Fix writing appended files to incremental backups
2023-05-12 11:37:49 +02:00
zvonand
c3af36915f fixed docs 2 2023-05-12 01:29:34 +02:00
Vitaly Baranov
478140f8b4 Fix LimitSeekableReadBuffer. 2023-05-11 22:58:05 +02:00
Kruglov Pavel
20007504a7
Handle exception in finalize inside WriteBufferFromPocoSocket destructor 2023-05-11 14:16:48 +02:00
Sema Checherinda
8bc9a32d19 fix special build 2023-05-10 18:45:59 +00:00
Sema Checherinda
60bf45f863 Update WriteBufferFromS3BufferAllocationPolicy.cpp 2023-05-10 18:31:58 +00:00
Sema Checherinda
cd449cca38 WriteBufferFromS3BufferAllocationPolicy for FixedSize and Exp policy 2023-05-10 18:31:58 +00:00
Sema Checherinda
7fbf87be17 rework WriteBufferFromS3, squashed 2023-05-10 18:31:47 +00:00
Azat Khuzhin
a0cc5b7e47 Merge remote-tracking branch 'u/master' into build/llvm-16 2023-05-10 16:28:36 +02:00
Andrey Zvonov
289ea8a662
Merge branch 'master' into zvonand-implicit-tz 2023-05-10 13:42:36 +02:00
Alexey Milovidov
56ea17c922 Fix typo 2023-05-10 03:21:36 +02:00
Andrey Zvonov
9237b904be
Merge branch 'master' into zvonand-implicit-tz 2023-05-10 01:25:33 +02:00
Azat Khuzhin
9b3bcd0870 Fix stack-use-after-scope in gtest_resource_manager_static
Reordering of the static variables should be enough to fix this:

    [ RUN      ] IOResourceStaticResourceManager.Prioritization
    =================================================================
    ==13==ERROR: AddressSanitizer: stack-use-after-scope on address 0x7f7d8d621970 at pc 0x5636b80dcbb2 bp 0x7f7c48e47dd0 sp 0x7f7c48e47dc8
    READ of size 8 at 0x7f7d8d621970 thread T3975 (ThreadPool)
        #0 0x5636b80dcbb1 in IOResourceStaticResourceManager_Prioritization_Test::TestBody()::$_1::operator()(long) const build_docker/./src/IO/Resource/tests/gtest_resource_manager_static.cpp:78:13
        #1 0x5636b80dcbb1 in IOResourceStaticResourceManager_Prioritization_Test::TestBody()::$_0::operator()() const build_docker/./src/IO/Resource/tests/gtest_resource_manager_static.cpp:95:21
        #2 0x5636b80dcbb1 in decltype(std::declval<IOResourceStaticResourceManager_Prioritization_Test::TestBody()::$_0&>()()) std::__1::__invoke[abi:v15000]<IOResourceStaticResourceManager_Prioritization_Test::TestBody()::$_0&>(IOResourceStaticResourceManager_Prioritization_Test::TestBody()::$_0&) build_docker/./contrib/llvm-project/libcxx/include/__functional/invoke.h:394:23
        #3 0x5636b80dcbb1 in decltype(auto) std::__1::__apply_tuple_impl[abi:v15000]<IOResourceStaticResourceManager_Prioritization_Test::TestBody()::$_0&, std::__1::tuple<>&>(IOResourceStaticResourceManager_Prioritization_Test::TestBody()::$_0&, std::__1::tuple<>&, std::__1::__tuple_indices<>) build_docker/./contrib/llvm-project/libcxx/include/tuple:1789:1
        #4 0x5636b80dcbb1 in decltype(auto) std::__1::apply[abi:v15000]<IOResourceStaticResourceManager_Prioritization_Test::TestBody()::$_0&, std::__1::tuple<>&>(IOResourceStaticResourceManager_Prioritization_Test::TestBody()::$_0&, std::__1::tuple<>&) build_docker/./contrib/llvm-project/libcxx/include/tuple:1798:1
        #5 0x5636b80dcbb1 in ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<IOResourceStaticResourceManager_Prioritization_Test::TestBody()::$_0>(IOResourceStaticResourceManager_Prioritization_Test::TestBody()::$_0&&)::'lambda'()::operator()() build_docker/./src/Common/ThreadPool.h:228:13
        #6 0x5636b80dcbb1 in decltype(std::declval<IOResourceStaticResourceManager_Prioritization_Test::TestBody()::$_0>()()) std::__1::__invoke[abi:v15000]<ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<IOResourceStaticResourceManager_Prioritization_Test::TestBody()::$_0>(IOResourceStaticResourceManager_Prioritization_Test::TestBody()::$_0&&)::'lambda'()&>(IOResourceStaticResourceManager_Prioritization_Test::TestBody()::$_0&&) build_docker/./contrib/llvm-project/libcxx/include/__functional/invoke.h:394:23
        #7 0x5636b80dcbb1 in void std::__1::__invoke_void_return_wrapper<void, true>::__call<ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<IOResourceStaticResourceManager_Prioritization_Test::TestBody()::$_0>(IOResourceStaticResourceManager_Prioritization_Test::TestBody()::$_0&&)::'lambda'()&>(ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<IOResourceStaticResourceManager_Prioritization_Test::TestBody()::$_0>(IOResourceStaticResourceManager_Prioritization_Test::TestBody()::$_0&&)::'lambda'()&) build_docker/./contrib/llvm-project/libcxx/include/__functional/invoke.h:479:9
        #8 0x5636b80dcbb1 in std::__1::__function::__default_alloc_func<ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<IOResourceStaticResourceManager_Prioritization_Test::TestBody()::$_0>(IOResourceStaticResourceManager_Prioritization_Test::TestBody()::$_0&&)::'lambda'(), void ()>::operator()[abi:v15000]() build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:235:12
        #9 0x5636b80dcbb1 in void std::__1::__function::__policy_invoker<void ()>::__call_impl<std::__1::__function::__default_alloc_func<ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<IOResourceStaticResourceManager_Prioritization_Test::TestBody()::$_0>(IOResourceStaticResourceManager_Prioritization_Test::TestBody()::$_0&&)::'lambda'(), void ()>>(std::__1::__function::__policy_storage const*) build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:716:16
        #10 0x5636ea219310 in std::__1::__function::__policy_func<void ()>::operator()[abi:v15000]() const build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:848:16
        #11 0x5636ea219310 in std::__1::function<void ()>::operator()() const build_docker/./contrib/llvm-project/libcxx/include/__functional/function.h:1187:12
        #12 0x5636ea219310 in ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) build_docker/./src/Common/ThreadPool.cpp:416:13
        #13 0x5636ea2258ac in void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::'lambda0'()::operator()() const build_docker/./src/Common/ThreadPool.cpp:180:73
        #14 0x5636ea2258ac in decltype(std::declval<void>()()) std::__1::__invoke[abi:v15000]<void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::'lambda0'()>(void&&) build_docker/./contrib/llvm-project/libcxx/include/__functional/invoke.h:394:23
        #15 0x5636ea2258ac in void std::__1::__thread_execute[abi:v15000]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::'lambda0'()>(std::__1::tuple<void, void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::'lambda0'()>&, std::__1::__tuple_indices<>) build_docker/./contrib/llvm-project/libcxx/include/thread:284:5
        #16 0x5636ea2258ac in void* std::__1::__thread_proxy[abi:v15000]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::'lambda0'()>>(void*) build_docker/./contrib/llvm-project/libcxx/include/thread:295:5
        #17 0x7f7d8fcf1608 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8608) (BuildId: 7b4536f41cdaa5888408e82d0836e33dcf436466)
        #18 0x7f7d8fc16132 in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x11f132) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee)

    Address 0x7f7d8d621970 is located in stack of thread T0 at offset 368 in frame
        #0 0x5636b80d9bef in IOResourceStaticResourceManager_Prioritization_Test::TestBody() build_docker/./src/IO/Resource/tests/gtest_resource_manager_static.cpp:46

      This frame has 10 object(s):
        [32, 36) 'requests_per_thead' (line 48)
        [48, 208) 't' (line 49)
        [272, 296) 'ref.tmp' (line 51)
        [336, 352) 'last_priority' (line 74)
        [368, 376) 'check' (line 75) <== Memory access at offset 368 is inside this variable
        [400, 424) 'name' (line 83)
        [464, 512) 'ref.tmp13' (line 87)
        [544, 560) 'c' (line 101)
        [576, 600) 'ref.tmp32' (line 101)
        [640, 664) 'ref.tmp41' (line 102)

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-05-09 21:32:13 +02:00
zvonand
1751ccc7ac fix stateless 2023-05-09 14:18:04 +02:00
zvonand
3fedd683ef speedup vol. II 2023-05-08 22:28:31 +02:00
Antonio Andelic
212c57c034
Merge pull request #49390 from ClickHouse/fix-gcs-headers
Properly fix GCS when HMAC is used
2023-05-08 08:17:43 +02:00
Michael Kolupaev
fd9c9bb25b Split ReadWriteBufferFromHTTP.h into .h and .cpp file 2023-05-06 21:11:06 -07:00
Robert Schulze
a1c98303a7
Merge pull request #49558 from ClickHouse/rs/writeAnyEscapedString
Fix writeAnyEscapedString if quote_character is a meta character
2023-05-06 15:29:32 +02:00
Antonio Andelic
edf658010c
Add comments for enums 2023-05-05 19:09:32 +02:00
zvonand
8338d54c34 Merge branch 'master' of github.com:ClickHouse/ClickHouse into zvonand-implicit-tz 2023-05-05 15:50:26 +02:00
zvonand
2b08801ae9 add timezone param 2023-05-05 15:50:19 +02:00
Robert Schulze
d35ff02b8b
Fix writeAnyEscapedString if quote_character is a meta character
Function writeAnyEscapedString() escapes
- quote_character with itself or with a backslash, depending on template
  parameter escape_quote_with_quote
- some metacharacters with backslash.

If quote_character is a metacharacter, the code previously always quoted
with backslash, independently of escape_quote_with_quote. I didn't find
places which do this but better be on the safe side.
2023-05-05 12:40:48 +00:00
zvonand
a218f010e8 First portion of speedup
Do not generate DateLUT for each serialized and deserialized
date
2023-05-05 14:12:14 +02:00
Kseniia Sumarokova
221796e053
Merge branch 'master' into allow-to-get-current-az 2023-05-05 13:55:14 +02:00
Antonio Andelic
9825531cb1 Better 2023-05-04 13:38:28 +00:00
Antonio Andelic
e8e99065c2 Merge branch 'master' into fix-gcs-headers 2023-05-04 13:09:00 +00:00
Antonio Andelic
a68a023ca7
Merge pull request #48724 from johanngan/sse-kms
Support SSE-KMS configuration with S3 client
2023-05-04 13:20:54 +02:00
kssenii
9ddd4aa7f7 Merge remote-tracking branch 'origin/allow-to-get-current-az' into allow-to-get-current-az 2023-05-04 13:10:32 +02:00
kssenii
08772e1da7 Review fixes 2023-05-04 13:09:03 +02:00
alesapin
412b161104
Merge pull request #48791 from kssenii/better-local-object-storage
Make local object storage work consistently with s3 object storage, fix problem with append, make it configurable as independent storage
2023-05-04 11:47:43 +02:00
johanngan
731823b873 Add support for SSE-KMS configuration with S3
https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html

Similar to the server_side_encryption_customer_key_base64 option for
configuring SSE-C with S3, add the following settings to configure
SSE-KMS on a per-endpoint/disk basis:
  - server_side_encryption_kms_key_id
  - server_side_encryption_kms_encryption_context
  - server_side_encryption_kms_bucket_key_enabled
2023-05-03 21:35:38 -05:00
johanngan
1bc52977a7 Support "header" setting in S3 disk config
The S3 table engine supports specifying extra HTTP headers in S3
requests to certain endpoints, via the "headers" setting. This commit
adds the same setting to S3 disk config.
2023-05-03 21:32:58 -05:00
Kseniia Sumarokova
48fab80dd7
Update Credentials.cpp 2023-05-03 19:39:43 +02:00
Nikita Mikhaylov
954e3b724c
Speedup outdated parts loading (#49317) 2023-05-03 18:56:45 +02:00
kssenii
0a18a87ad3 Fix style check 2023-05-03 18:28:33 +02:00
kssenii
cb6e5fedc5 Throw on error 2023-05-03 18:02:04 +02:00
kssenii
64bc03fefd Allow to get availability zone 2023-05-03 17:40:39 +02:00
Alexander Tokmakov
1ec3040d0c
Merge pull request #49420 from ClickHouse/fix_00002
Fix some bad error messages
2023-05-03 13:33:53 +03:00
Alexander Tokmakov
495325f664 fix some bad error messages, suppress others 2023-05-02 17:55:42 +02:00
Nikolay Degterinsky
f6704205ff
Update WithFileName.cpp 2023-05-02 16:05:18 +02:00
Antonio Andelic
468ed32b23 Fix whitespace 2023-05-02 11:08:26 +00:00
Antonio Andelic
8c91dbdfc6 Properly fix GCS with keys 2023-05-02 10:49:31 +00:00
Alexey Milovidov
6f2ccd88b3
Merge pull request #49241 from evillique/decompress-filename
Add file name to exception raised during decompression
2023-05-02 02:16:49 +03:00
Nikita Taranov
266c9d403a review fixes 2023-05-01 13:09:55 +00:00
Nikolay Degterinsky
1be9371fb5 Better 2023-05-01 13:01:23 +00:00
Nikita Taranov
0be9c0751e
Merge branch 'master' into rand_exp 2023-04-29 15:22:08 +02:00
Nikita Taranov
af558e282c impl 2023-04-28 20:48:37 +00:00
Alexey Milovidov
5bd4fc9e90
Merge pull request #48492 from azat/s3-multipart-strict-size
Add ability to use strict parts size for S3 (compatibility with R2)
2023-04-28 23:34:45 +03:00
kssenii
298ed454ce Merge remote-tracking branch 'upstream/master' into better-local-object-storage 2023-04-28 13:26:55 +02:00
Azat Khuzhin
c8ec152f57 Add ability to use strict parts size for S3 (compatibility with R2)
The are some implementations that does not allow to use parts of
different size for multi-part upload:

- CouldFlare R2 [1] and also got help on discord
- AWS S3 Glacier [2]
- and I also know of one bug in Google Cloud Storage (GCS), but it
  should be fixed in a couple of months.

  [1]: https://developers.cloudflare.com/r2/reference/changelog/#2022-10-28
       > Multipart upload part sizes are always expected to be of the
       > same size, but this enforcement is now done when you complete
       > an upload instead of being done very time you upload a part

  [2]: https://docs.aws.amazon.com/amazonglacier/latest/dev/api-multipart-initiate-upload.html

On top of this I'm going to add auto detection of this issue for disks,
but not for S3 function, since those checks are quite costly, and they
need to write at least 5MB*3, which may be questionable.

v2: mark test as long [1]
    [1]: https://s3.amazonaws.com/clickhouse-test-reports/48492/d4a90880e947ab3a17b3eddeea274afed8ebceb4/stateless_tests_flaky_check__asan_.html
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-04-28 11:01:56 +02:00
Kseniia Sumarokova
45e2d296f9
Merge branch 'master' into better-local-object-storage 2023-04-27 14:54:04 +02:00
kssenii
641b64c4e8 Merge remote-tracking branch 'upstream/master' into cache-better-locks 2023-04-27 13:31:41 +02:00
Raúl Marín
0a192d1160
Fix GCS s3 compat disks (#49194) 2023-04-27 13:24:20 +02:00
Nikolay Degterinsky
111fb4b8a9 Add file name to exception raised during decompression 2023-04-27 02:52:23 +00:00
kssenii
cbf0b98102 Merge remote-tracking branch 'upstream/master' into cache-better-locks 2023-04-25 15:15:22 +02:00
Alexey Milovidov
dee0b78303
Merge pull request #48745 from Algunenano/arenita
Don't count unused arena bytes as read_bytes in AggregateFunction types
2023-04-25 00:53:11 +03:00
Antonio Andelic
c7d0ee2218
Fix GCS native copy (#48981)
* Fix GCS copy support

* add include
2023-04-24 14:09:19 +02:00
Vladimir C
6090648fc8
Merge pull request #43606 from arthurpassos/parsey_key_value_function 2023-04-24 11:03:28 +02:00
Raúl Marín
f0e045bb3d Merge remote-tracking branch 'blessed/master' into arenita 2023-04-24 10:42:56 +02:00
Alexey Milovidov
dd6e8a67fb Fix error 2023-04-23 15:59:46 +02:00
Alexey Milovidov
6b39c876dc Fix error 2023-04-23 15:40:39 +02:00
Alexey Milovidov
3621a4d7ac Merge branch 'master' into fix-ibm 2023-04-23 14:26:15 +02:00
kssenii
d8023806a9 Merge remote-tracking branch 'upstream/master' into better-local-object-storage 2023-04-23 12:39:34 +02:00
Kseniia Sumarokova
be0cb808de
Merge pull request #48973 from kssenii/randomize-fs-read-settings
Randomize prefetch settings in ci
2023-04-23 12:04:30 +02:00
Alexey Milovidov
28e03f5781 Merge branch 'master' into fix-ibm 2023-04-23 06:01:41 +02:00
Alexey Milovidov
c96569e4e7 Minor changes 2023-04-23 05:49:39 +02:00
kssenii
1fbaaf0445 Merge remote-tracking branch 'upstream/master' into cache-better-locks 2023-04-22 17:14:50 +02:00
Alexey Milovidov
7489af53d6 Fix error 2023-04-22 16:36:07 +02:00
Alexey Milovidov
3c6e3aa9ce Fix error 2023-04-22 16:35:47 +02:00
Alexey Milovidov
5fd42a2220 Add ProfileEvents for log messages 2023-04-22 14:55:25 +02:00
Arthur Passos
6b7b1367c0 docs 2023-04-21 14:51:49 -03:00
Arthur Passos
9c1d61ba0b address comments and update docs 2023-04-21 11:31:59 -03:00
kssenii
e58c16318f Merge remote-tracking branch 'upstream/master' into better-local-object-storage 2023-04-21 12:49:40 +02:00
Alexey Milovidov
252c755323 Merge branch 'master' of github.com:ClickHouse/ClickHouse into fix-ibm 2023-04-21 12:39:13 +02:00
Alexey Milovidov
530b764953 Fix IBM 2023-04-21 12:38:45 +02:00
Alexey Milovidov
9d6c3d7a4c
Merge pull request #48920 from awfeequdng/bugfix/maskLowBits
A non significant change (does not affect anything): add support for signed integers in the maskBits function
2023-04-21 13:22:44 +03:00
Kruglov Pavel
9749448eb0
Merge pull request #47229 from Avogar/non-blocking-connect
Improve async reading from socket
2023-04-21 10:38:50 +02:00
kssenii
0a34f3bcea Merge remote-tracking branch 'upstream/master' into randomize-fs-read-settings 2023-04-20 19:04:01 +02:00
kssenii
6552ec6afc Small improvement 2023-04-20 18:15:09 +02:00
pengxiangcai
c7d6b8b643 add maskLowBits test 2023-04-20 21:33:41 +08:00
Arthur Passos
43841a6ee6 Merge branch 'master' into parsey_key_value_function 2023-04-20 10:05:34 -03:00
kssenii
fef179a9ea Remove redundant code 2023-04-19 19:23:50 +02:00
vdimir
92d0d9d4ff Http temporary buffer integration with fs cache 2023-04-19 16:44:21 +02:00
Kruglov Pavel
2ad161d2b7
Merge branch 'master' into non-blocking-connect 2023-04-19 13:39:40 +02:00
kssenii
67d695580a Merge remote-tracking branch 'upstream/master' into cache-better-locks 2023-04-18 12:42:25 +02:00
Robert Schulze
d658305554
Merge pull request #47693 from azat/stringstream-INT_MAX
Fix crash for uploading parts which size is greater then INT_MAX to S3
2023-04-17 23:08:56 +02:00
kssenii
cd25d61795 Merge remote-tracking branch 'upstream/master' into cache-better-locks 2023-04-17 19:47:43 +02:00
robot-clickhouse-ci-2
45f4a5f74c
Merge pull request #47964 from ClickHouse/fast-parquet
Read Parquet files faster
2023-04-17 19:27:38 +02:00
kssenii
1322ad53b8 Merge remote-tracking branch 'upstream/master' into cache-better-locks 2023-04-17 18:22:21 +02:00
Azat Khuzhin
9ea4a55ddf Add a test for stringstream with INT_MAX
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-04-17 10:46:39 +02:00
Raúl Marín
39f8c43a60 Merge remote-tracking branch 'blessed/master' into arenita 2023-04-17 10:33:38 +02:00
Michael Kolupaev
bd426a7d6d Unbreak reading from web servers that don't support HEAD requests 2023-04-17 04:58:32 +00:00
Michael Kolupaev
473f212c82 Hopefully fix assertion failure in CachedOnDiskReadBufferFromFile 2023-04-17 04:58:32 +00:00
Michael Kolupaev
87be78e6de Better 2023-04-17 04:58:32 +00:00
Michael Kolupaev
e133633359 Parallel decoding with one row group per thread 2023-04-17 04:58:32 +00:00
Michael Kolupaev
683077890f Highly questionable refactoring (getInputMultistream() nonsense) 2023-04-17 04:58:32 +00:00
Michael Kolupaev
2d4fe85513 Something 2023-04-17 04:58:32 +00:00
Michael Kolupaev
dc6e34075e Read less unnecessary data from Parquet files 2023-04-17 04:58:32 +00:00
Alexey Milovidov
8a28064ad4 Remove excessive logging 2023-04-17 01:46:58 +02:00
Alexey Milovidov
75887c30f5
Merge pull request #48740 from ClickHouse/rs/varint-sanity
VarInt coding: Always perform sanity check
2023-04-16 00:18:25 +03:00
JaySon
186e3c4251
Merge branch 'master' into fix_duplicated_code 2023-04-15 02:42:46 +08:00
JaySon-Huang
3795ec2a4c Remove duplicate code 2023-04-15 02:40:21 +08:00
Robert Schulze
ce5efa0a32
Merge branch 'master' into rs/varint-sanity 2023-04-14 18:28:39 +02:00
Raúl Marín
2c20850cde Style 2023-04-14 10:35:33 +02:00
Dmitry Novik
5cc9b46f78 Merge remote-tracking branch 'origin/master' into optimize-compilation 2023-04-13 16:04:09 +02:00
Arthur Passos
88f1c969cc
Merge branch 'master' into parsey_key_value_function 2023-04-13 10:38:44 -03:00
kssenii
188b41cdb2 Merge remote-tracking branch 'upstream/master' into cache-better-locks 2023-04-13 13:33:30 +02:00
kssenii
09c23287aa Merge remote-tracking branch 'upstream/master' into cache-better-locks 2023-04-13 13:25:45 +02:00
Robert Schulze
3e3344d627
VarInt coding: Always perform sanity check
This is follow-up for the discussion in #48628. The sanity check against
VAR_UINT_MAX is now unconditional (independent of the build type). Let's
see how that affects performance ... I'll probably add "Unchecked"
overloads later on (to avoid clutter they are avoided for now)
2023-04-13 09:44:35 +00:00
Raúl Marín
da9a539cf7 Reduce the usage of Arena.h 2023-04-13 10:31:32 +02:00
Robert Schulze
22c3b10e41
Merge pull request #48628 from ClickHouse/rs/var_uint_max
Better handling of values too large for VarInt encoding
2023-04-13 10:17:55 +02:00
Robert Schulze
3f7ce60e03
Merge branch 'master' into rs/gcc-removal 2023-04-12 22:17:04 +02:00
Robert Schulze
05606a8835
Clean up GCC warning pragmas 2023-04-11 18:21:08 +00:00
Kruglov Pavel
c3482a104f
Merge pull request #48472 from ClickHouse/Avogar-patch-2
Avoid operation on uninitialised data in readDateTimeTextImpl
2023-04-11 14:30:26 +02:00
Robert Schulze
ba67626992
Add comment about used exception code 2023-04-11 11:59:04 +00:00
Robert Schulze
bbbb55cd50
Better handling of values too large for VarInt encoding
PR #48154 introduced a sanity check in the form of a debug assertion
that the input values for VarInt encoding are not too big. Such values
should be exceptionally rare in practice but the AST fuzzer managed to
trigger the assertion regardless. The strategy to deal with such values
until now was to bypass the check by limiting the value to the maximum
allowed value (see #48412). Because a new AST Fuzzer failure appeared
(#48497) and there may be more failures in future, this PR changes the
sanity check from an assert to an exception.

Fixes: #48497
2023-04-11 07:47:33 +00:00
Azat Khuzhin
79b83c4fd2 Remove superfluous includes of logger_userful.h from headers
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-04-10 17:59:30 +02:00
Arthur Passos
b062ab5b4f
Merge branch 'master' into parsey_key_value_function 2023-04-10 10:32:01 -03:00
Alexey Milovidov
09ea79aaf7 Add support for {server_uuid} macro 2023-04-09 03:04:26 +02:00
Alexey Milovidov
83dd5e0294
Merge pull request #48552 from ClickHouse/better-exception-message-zstd
Better exception message for ZSTD
2023-04-08 22:15:14 +03:00
Alexey Milovidov
ec60a10694 Better exception message for ZSTD 2023-04-08 00:54:05 +02:00
Azat Khuzhin
011480924a Use forward declaration of ThreadPool
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-04-07 11:25:35 +02:00
Kruglov Pavel
1ec9f5e42c
Avoid operation on uninitialised data in readDateTimeTextImpl 2023-04-06 13:20:11 +02:00
robot-clickhouse
3d2c279859
Merge pull request #48242 from azat/better-throttling
Per-query/per-server throttling for remote IO/local IO/BACKUPs
2023-04-05 19:32:37 +02:00
kssenii
a405d06e8a Merge remote-tracking branch 'upstream/master' into cache-better-locks 2023-04-05 18:46:52 +02:00
Robert Schulze
598b050628
AST Fuzzer: Fix assertion in TopK serialization
Problem:
  https://s3.amazonaws.com/clickhouse-test-reports/0/fa5b2bd4a5b02336bca8837c473a7124f8ecedf2/fuzzer_astfuzzerasan/report.html

The new assertion in the Varint code was introduced with (*). It rejects
values whose serialization cannot be deserialized (and this behavior
cannot be changed due to historical reasons). Such values should be
exceptionally rare in practice but AST fuzzer managers to trigger them.

The fix is similar to (**): Bypass the check by limiting the value to
the maximum allowed value.

(if AST fuzzer triggers finds more violations of the assertion, we might
consider throwing an exception instead)

(*) https://github.com/ClickHouse/ClickHouse/pull/48154
(**) https://github.com/ClickHouse/ClickHouse/pull/48154/files#diff-653c0a18dfdaa86262c78dc6b25550add0487f165b4ad053e86f530388f6203a
2023-04-05 08:07:37 +00:00
Azat Khuzhin
a25dd1d348 Add ability to throttle local IO on per-query/server basis
Server settings:
- max_local_read_bandwidth_for_server
- max_local_write_bandwidth_for_server

Query settings:
- max_local_read_bandwidth
- max_local_write_bandwidth

This is the preparation for adding ability to throttle BACKUPs

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-04-05 09:39:15 +02:00
Alexey Milovidov
3e182bb16b
Merge pull request #48288 from Algunenano/buffer_is_exhausted_error
Don't throw CURRENT_WRITE_BUFFER_IS_EXHAUSTED for normal behaviour
2023-04-04 01:55:59 +03:00
Raúl Marín
b4ea2268ca Adapt unit tests to the new exception 2023-04-03 10:54:47 +02:00
Alexander Tokmakov
230adac9f6 fixes 2023-04-01 18:23:59 +02:00
Raúl Marín
aa8e5a1077 Don't use CURRENT_WRITE_BUFFER_IS_EXHAUSTED for expected behaviour 2023-03-31 14:09:21 +02:00
Robert Schulze
eb93ec35f5
Merge pull request #48154 from azat/varuint-v2
Add sanity checks for writing number in variable length format (resubmit)
2023-03-31 10:59:21 +02:00
Robert Schulze
4938681f87
Fix macos build 2023-03-30 17:46:11 +00:00
Antonio Andelic
80cb121d2a
Merge pull request #48092 from ClickHouse/nosign-keyword-for-s3
Add support for `NOSIGN` keyword and `no_sign_request` config for S3
2023-03-30 18:10:56 +02:00
kssenii
e2cbccfbc4 Merge remote-tracking branch 'upstream/master' into cache-better-locks 2023-03-30 17:33:46 +02:00
kssenii
d94d08c18d Fix tests 2023-03-30 15:58:12 +02:00
Robert Schulze
d24d1b48df
Merge branch 'master' into varuint-v2 2023-03-30 10:24:58 +02:00
Alexey Milovidov
e982fb9f1c
Merge pull request #47880 from azat/threadpool-introspection
ThreadPool metrics introspection
2023-03-30 01:27:31 +03:00
Antonio Andelic
80f0251ff2 better 2023-03-29 12:54:57 +00:00
Antonio Andelic
7b1ad221b2 Address PR comments 2023-03-29 11:08:44 +00:00
Azat Khuzhin
d7d9f0cb6b Fix overflow of VarUInt format in Progress packets
Otherwise query like this, can trigger sanity check:

    WITH x AS (SELECT [], number AS a FROM numbers(9223372036854775807)), y AS (SELECT arrayLastOrNull(x -> (x >= -inf), []), arrayLastOrNull(x -> (x >= NULL), [1]), number AS a FROM numbers(1.)) SELECT [1023], * FROM x WHERE a IN (SELECT a FROM y) ORDER BY arrayLastOrNull(x -> (x >= 1025), [1048577, 1048576]) DESC NULLS LAST, '0.0000000002' ASC NULLS LAST, a DESC NULLS FIRST

CI: https://s3.amazonaws.com/clickhouse-test-reports/0/a9bcd022d5f4a5be530595dbfae3ed177b5c1972/fuzzer_astfuzzermsan/report.html
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-03-29 12:42:45 +02:00
Azat Khuzhin
36f6408ada Add sanity checks for writing number in variable length format
And just to double check:

    # var_uint 9223372036854775807
    ffffffffffffffff7f
    ffffffffffffffff7f
    ffffffffffffffff7f
    x: 9223372036854775807, y: 9223372036854775807
    # var_uint 9223372036854775808
    808080808080808080
    808080808080808080
    808080808080808080
    x: 9223372036854775808, y: 0

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-03-29 11:02:33 +02:00
Azat Khuzhin
f38a7aeabe ThreadPool metrics introspection
There are lots of thread pools and simple local-vs-global is not enough
already, it is good to know which one in particular uses threads.

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-03-29 10:46:59 +02:00
Antonio Andelic
6f1e50598a fix test 2023-03-28 09:32:23 +00:00
Antonio Andelic
160aa186bb Add support for NOSIGN keyword and no_sign_request config 2023-03-28 07:05:35 +00:00
zvonand
dbd0ccdb64 Merge branch 'master' of github.com:ClickHouse/ClickHouse into zvonand-formatdecimal 2023-03-27 20:21:09 +02:00
zvonand
b7bb09d362 upload 2023-03-27 20:19:52 +02:00
Kruglov Pavel
f3f93dd06c
Merge branch 'master' into non-blocking-connect 2023-03-24 15:59:40 +01:00
Anton Popov
fd567e03a5
Merge pull request #47796 from CurtizJ/fix-zlib-mmap
Fix reading from storage `File` compressed files with `zlib` and `gzip` compression
2023-03-24 15:36:21 +01:00
Antonio Andelic
52541e5e23
Merge pull request #47885 from ClickHouse/more-s3-events
Add more S3 write profile events
2023-03-24 09:48:34 +01:00
Dmitry Novik
3488a4d84b Improve file includes 2023-03-24 03:44:52 +01:00
Kruglov Pavel
3ee12e21fb
Merge branch 'master' into non-blocking-connect 2023-03-23 20:53:44 +01:00
Antonio Andelic
3ae09c6ce8
Merge branch 'master' into more-s3-events 2023-03-23 18:23:53 +01:00
Alexander Tokmakov
9bf4f0108e set content-length for empty POST requests 2023-03-23 18:02:31 +01:00
Anton Popov
49079ee85c fix build 2023-03-23 15:31:36 +00:00
Antonio Andelic
b57e82ded6 Add S3 write profile events 2023-03-23 09:05:41 +00:00
zvonand
b9bbda3a6f add test + fix 2023-03-23 01:42:00 +01:00
Sema Checherinda
e514723256 throw exception when all retries exhausted 2023-03-22 19:11:47 +01:00
zvonand
83ee185fce upd 2023-03-21 16:33:19 +01:00
Arthur Passos
5952ed030c use standard parseComplexEscapedSequence instead of custom implementation. Drops support for 1 digit hex and octal digits 2023-03-21 12:21:09 -03:00
Robert Schulze
4eeab9fd25
Revert "Add sanity checks for writing number in variable length format" 2023-03-21 14:24:53 +01:00
zvonand
1bd6eef9c2 readded new funcs + basic tests, big decimals WiP 2023-03-21 13:38:39 +01:00
robot-ch-test-poll3
01df1008bb
Merge pull request #47608 from azat/varuint
Add sanity checks for writing number in variable length format
2023-03-21 11:14:41 +01:00
Anton Popov
633b1809a5 fix reading from storage File compressed files with zlib and gzip compression 2023-03-20 20:56:43 +00:00