Commit Graph

1725 Commits

Author SHA1 Message Date
kssenii
f37519aa3b Remove noisy logging 2023-02-11 11:39:11 +01:00
kssenii
3067c1d723 Merge remote-tracking branch 'upstream/master' into resubmit-prefetches 2023-02-11 11:36:23 +01:00
Sergei Trifonov
2931c3bbe1
Merge pull request #45711 from ClickHouse/io-scheduler-integration
Integrate IO scheduler with buffers for remote reads and writes
2023-02-11 10:26:58 +01:00
Kseniia Sumarokova
3be36c7979
Merge pull request #41976 from kssenii/allow-single-disk-instead-of-storage-policy
Allow configuring storage as `SETTINGS disk='<disk_name>'` (instead of `storage_policy`) and explicit disk creation `SETTINGS disk=disk(<disk_configuration>)`
2023-02-10 21:38:50 +01:00
serxa
8c3f85e58d more review fixes 2023-02-10 17:39:28 +00:00
kssenii
571aabdb69 Fix clang-tidy 2023-02-10 12:39:05 +01:00
kssenii
8458c7821b Review comments fix 2023-02-10 12:06:24 +01:00
Robert Schulze
566fb5b9da
Merge pull request #46006 from ClickHouse/rs/fix-fragile-linking
Fix terribly broken, fragile and potentially cyclic linking
2023-02-09 18:19:44 +01:00
Vitaly Baranov
39bacfb9dc
Merge branch 'master' into allow-single-disk-instead-of-storage-policy 2023-02-09 13:16:55 +01:00
serxa
4fada6f992 fix typo 2023-02-09 11:50:28 +00:00
Robert Schulze
e490ec91d9
Merge branch 'master' into rs/fix-fragile-linking 2023-02-09 11:33:59 +01:00
kssenii
b0b865c32e Resubmit prefetches 2023-02-08 21:26:24 +01:00
serxa
cfb8291029 Cleanup disk unittest 2023-02-08 18:14:05 +00:00
Sergei Trifonov
b0fc551c27
Merge branch 'master' into io-scheduler-integration 2023-02-08 18:16:00 +01:00
Robert Schulze
6ff232d782
Merge branch 'master' into rs/fix-fragile-linking 2023-02-08 12:51:12 +01:00
Kseniia Sumarokova
f6ebe11350
Merge pull request #46108 from azat/azure-fix
Fix test_merge_tree_azure_blob_storage::test_zero_copy_replication test
2023-02-08 12:04:46 +01:00
Alexey Milovidov
924f19e94a
Update AzureBlobStorageAuth.cpp 2023-02-08 04:12:00 +03:00
Robert Schulze
10af0b3e49
Reduce redundancies 2023-02-07 12:27:23 +00:00
Azat Khuzhin
fe832c4418 Fix TOCTOU while checking for container existence in azure_blob_storage
This is a simple time-of-check vs time-of-use, since between checking
does such container exist and creating one, there is a time window.

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-02-07 12:51:06 +01:00
Robert Schulze
08c1f8346e
Merge remote-tracking branch 'origin/master' into rs/fix-fragile-linking 2023-02-07 11:22:00 +00:00
Robert Schulze
8840aa9242
Fix build with -DENABLE_LIBURING=0 (or -DENABLE_LIBRARIES=0)
Follow-up to #38456

The problem was that code which uses liburing was conditionally build
depending on define OS_LINUX and not based on whether liburing was
enabled/disabled at build time.
2023-02-06 16:57:42 +00:00
Anton Popov
3850a1969d
Merge branch 'master' into fix-memory-leak-azure 2023-02-06 16:21:56 +01:00
Robert Schulze
84b9ff450f
Fix terribly broken, fragile and potentially cyclic linking
Sorry for the clickbaity title. This is about static method
ConnectionTimeouts::getHTTPTimeouts(). It was be declared in header
IO/ConnectionTimeouts.h, and defined in header
IO/ConnectionTimeoutsContext.h (!). This is weird and caused issues with
linking on s390x (##45520). There was an attempt to fix some
inconsistencies (#45848) but neither did @Algunenano nor me at first
really understand why the definition is in the header.

Turns out that ConnectionTimeoutsContext.h is only #include'd from
source files which are part of the normal server build BUT NOT part of
the keeper standalone build (which must be enabled via CMake
-DBUILD_STANDALONE_KEEPER=1). This dependency was not documented and as
a result, some misguided workarounds were introduced earlier, e.g.
0341c6c54b

The deeper cause was that getHTTPTimeouts() is passed a "Context". This
class is part of the "dbms" libary which is deliberately not linked by
the standalone build of clickhouse-keeper. The context is only used to
read the settings and the "Settings" class is part of the
clickhouse_common library which is linked by clickhouse-keeper already.

To resolve this mess, this PR

- creates source file IO/ConnectionTimeouts.cpp and moves all
  ConnectionTimeouts definitions into it, including getHTTPTimeouts().

- breaks the wrong dependency by passing "Settings" instead of "Context"
  into getHTTPTimeouts().

- resolves the previous hacks
2023-02-05 20:49:34 +00:00
Alexander Gololobov
4ef09ecc0f
Update gtest_azure_sdk.cpp 2023-02-04 19:05:05 +01:00
Anton Popov
e9f80c650a fix memory leak at creation of curl connection in azure sdk 2023-02-03 20:10:39 +00:00
Nikita Mikhaylov
33877b5e00
Parallel replicas. Part [2] (#43772) 2023-02-03 14:34:18 +01:00
Antonio Andelic
d5117f2aa6
Define S3 client with bucket and endpoint resolution (#45783)
* Update aws

* Define S3 client with bucket and endpoint resolution

* Add defines for ErrorCodes

* Use S3Client everywhere

* Remove unused errorcode

* Add DROP S3 CLIENT CACHE query

* Add a comment

* Fix style

* Update aws

* Update reference files

* Add missing include

* Fix unit test

* Remove unneeded declarations

* Correctly use RetryStrategy

* Rename S3Client to Client

* Fix retry count

* fix clang-tidy warnings
2023-02-03 14:30:52 +01:00
kssenii
fe3a755064 Fix test after incorrect merge with master 2023-02-03 14:05:59 +01:00
kssenii
a391de18a1 Merge remote-tracking branch 'upstream/master' into allow-single-disk-instead-of-storage-policy 2023-02-02 20:49:41 +01:00
Vladimir C
0d48eed68f
Merge pull request #45848 from Algunenano/fix_connection_timeouts_context_include 2023-02-01 12:53:50 +01:00
Alexey Milovidov
bf9f62dcbd
Merge pull request #38456 from sauliusvl/iouring
Re-introduce io_uring read method
2023-02-01 06:41:32 +03:00
Raúl Marín
7c31cb7adc Proper includes for ConnectionTimeoutsContext.h 2023-01-31 16:11:32 +01:00
Alexander Gololobov
f9133f3d85
Merge pull request #45791 from ClickHouse/fix_drop_hung
Fix bug in tables drop which can lead to potential query hung
2023-01-31 10:11:11 +01:00
alesapin
9ecf6e70a9 Make disk object storage compatible with other storages 2023-01-30 17:16:07 +01:00
alesapin
631c8fb155
Merge branch 'master' into add-setting-allow-head-object-request 2023-01-29 14:58:27 +01:00
Saulius Valatka
374e40447c fix buffer alignment and improve error message for failed reads 2023-01-28 21:54:44 +02:00
Saulius Valatka
252a091702 update Exception creation 2023-01-28 21:54:44 +02:00
Saulius Valatka
64accde7bd check for null CQEs to silence clang-analyzer 2023-01-28 21:54:44 +02:00
Saulius Valatka
4b2fefef8b improve SQE submission error reporting, retry on EINTR/EGAIN 2023-01-28 21:54:44 +02:00
Saulius Valatka
8505b8c57a add profile events for failed/succeeded CQE completions 2023-01-28 21:54:44 +02:00
Saulius Valatka
8fa9a99ba1 implement pending request queue to prevent CQ overflows 2023-01-28 21:54:44 +02:00
Saulius Valatka
ac2c921bdf add initial io_uring support 2023-01-28 21:54:44 +02:00
Azat Khuzhin
ffd5617614 Improve logging for broken disks
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-01-27 21:11:10 +01:00
Sergei Trifonov
5c2686fbf0
Merge branch 'master' into io-scheduler-integration 2023-01-27 19:56:23 +01:00
serxa
21e871a0a4 integrate IO scheduler with buffers 2023-01-27 18:47:22 +00:00
Vitaly Baranov
af74c008c4 Use one request to implement S3ObjectStorage::getObjectMetadata instead of two ones. 2023-01-27 18:42:37 +01:00
Vitaly Baranov
aea9ccdb60 Pass request settings to S3::getObjectInfo(). 2023-01-27 15:10:09 +01:00
Vitaly Baranov
a8304525ed Move getObjectInfo() to a separate header. 2023-01-27 15:09:38 +01:00
alesapin
716d25c33f
Merge pull request #45619 from CurtizJ/refactoring-merge-tree-parts
Refactoring of code near merge tree parts
2023-01-27 13:36:33 +01:00
Alexander Tokmakov
a584ad0eb1 forbid runtime strings 2023-01-26 10:52:47 +01:00