ClickHouse/src/Core
Azat Khuzhin b9469e2729 Do not try to INSERT into readonly replicas for Distributed engine
Sometimes replica may be readonly for a long time, and this will make
some INSERT queries fail, but it does not make sense to INSERT into
readonly replica, so let's ignore them.

But note, that this will require to extend TableStatus (not extend, but
introduce new version), that will have is_readonly field.

Also before background INSERT into Distributed does not uses
getManyChecked() which means that they do not request TableStatus
packet, while now they would, though this is minor (just a note).

v2: Add a note about max_replica_delay_for_distributed_queries for INSERT
v3: Skip read-only replicas for async INSERT into Distributed
v4: Remove extra @insert parameter for ConnectionPool*::get*
    It make sense only when the table name had passed --
    ConnectionPoolWithFailover::getManyChecked()
v5: rebase on top LoggerPtr
v6: rebase
v7: rebase
v8: move TryResult::is_readonly into the end

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2024-03-26 11:21:38 +01:00
..
examples Fix build of examples 2024-03-10 10:03:31 +01:00
fuzzers fix fuzzers, cmake refactor, add target fuzzers 2023-09-01 14:20:50 +00:00
MySQL Enable clang-tidy in headers 2024-03-18 08:00:09 +00:00
PostgreSQL Fix clang-tidy-s 2024-03-11 10:58:54 +00:00
tests Enable clang-tidy in headers 2024-03-18 08:00:09 +00:00
AccurateComparison.h Better code 2024-02-17 09:44:10 +01:00
BackgroundSchedulePool.cpp Updated implementation 2024-01-25 14:31:49 +03:00
BackgroundSchedulePool.h Things 2023-12-28 17:56:05 +00:00
BaseSettings.cpp working version with comments 2024-03-13 13:12:48 +01:00
BaseSettings.h Reduce header dependencies 2024-03-19 17:04:29 +01:00
BaseSettingsProgramOptions.h Reduce header dependencies 2024-03-19 17:04:29 +01:00
Block.cpp lower memory usage 2024-01-27 16:40:11 +00:00
Block.h Live view's life is close to the end 2024-03-04 00:49:22 +01:00
BlockInfo.cpp Better formatting for exception messages (#45449) 2023-01-24 00:13:58 +03:00
BlockInfo.h Send partial result with the new architectuin the special pipeline 2023-05-01 09:25:15 +00:00
callOnTypeIndex.h This is actually better 2023-11-06 02:57:26 +01:00
CMakeLists.txt Moved fuzzers to another directory 2021-08-21 02:27:27 +00:00
ColumnNumbers.h Merge remote-tracking branch 'origin/master' into grouping-function 2022-05-19 17:58:33 +00:00
ColumnsWithTypeAndName.h
ColumnWithTypeAndName.cpp Remove column from header descriotion for EXPLAIN PLAN and EXPLAIN PIPELINE 2020-09-28 20:37:11 +03:00
ColumnWithTypeAndName.h Add fuzzer for data formats 2023-03-13 04:51:50 +01:00
CompareHelper.h Fix DB::Field operators for Float64 2024-01-19 14:15:49 +01:00
DecimalComparison.h Better formatting for exception messages (#45449) 2023-01-24 00:13:58 +03:00
DecimalFunctions.h Fix adding sub-second intervals to DateTime 2023-08-21 12:33:21 -07:00
Defines.h Limit backtracking in parser 2024-03-17 19:54:45 +01:00
ExternalResultDescription.cpp Support Point data type for MySQL 2024-01-11 19:19:08 +01:00
ExternalResultDescription.h Support Point data type for MySQL 2024-01-11 19:19:08 +01:00
ExternalTable.cpp Fix build 2024-03-22 00:43:21 +01:00
ExternalTable.h Make ContextPtr const by default. 2021-05-31 17:49:02 +03:00
Field.cpp More fixes 2023-09-26 18:55:10 +00:00
Field.h Enable clang-tidy in headers 2024-03-18 08:00:09 +00:00
InterpolateDescription.cpp Remove useless headers 2024-01-01 19:29:51 +01:00
InterpolateDescription.h Remove useless headers 2024-01-01 19:29:51 +01:00
iostream_debug_helpers.cpp Remove some code 2021-07-17 21:06:46 +03:00
iostream_debug_helpers.h Replace a few uses of enable_if for SFINAE by concepts 2022-03-16 19:51:38 +01:00
IResolvedFunction.h Cleanup code 2022-12-23 18:23:01 +00:00
Joins.cpp init 2023-12-18 15:02:51 +00:00
Joins.h init 2023-12-18 15:02:51 +00:00
LogsLevel.h Reduce header dependencies 2024-03-19 17:04:29 +01:00
MultiEnum.h Use concepts to replace more std::enable_if_t 2023-08-02 07:50:25 +00:00
Names.h Try to compute helper column lazy 2022-05-13 14:55:50 +00:00
NamesAndAliases.h Remove some code 2024-01-13 03:48:04 +01:00
NamesAndTypes.cpp Better! 2024-02-21 20:31:49 +00:00
NamesAndTypes.h Better! 2024-02-21 20:31:49 +00:00
PlainRanges.cpp Add index to table system.numbers (#50909) 2023-12-01 19:59:25 +01:00
PlainRanges.h Add index to table system.numbers (#50909) 2023-12-01 19:59:25 +01:00
PostgreSQLProtocol.cpp Add Decimal256 to a lot of places 2023-03-14 22:10:52 +01:00
PostgreSQLProtocol.h Updated implementation 2024-01-25 14:31:49 +03:00
Protocol.h "optimise" --> "optimize". Sorry, friends from the UK. 2023-11-23 18:41:35 +00:00
ProtocolDefines.h Do not try to INSERT into readonly replicas for Distributed engine 2024-03-26 11:21:38 +01:00
QualifiedTableName.h Fixed tests 2023-06-20 11:42:22 +03:00
QueryProcessingStage.cpp Add ability to push down LIMIT for distributed queries 2021-06-09 02:29:50 +03:00
QueryProcessingStage.h Rename "common" to "base" 2021-10-02 10:13:14 +03:00
Range.cpp Add index to table system.numbers (#50909) 2023-12-01 19:59:25 +01:00
Range.h Add index to table system.numbers (#50909) 2023-12-01 19:59:25 +01:00
ServerSettings.cpp Hijack and document 'update' map to represent reload status 2024-01-07 13:09:27 +00:00
ServerSettings.h Merge branch 'master' into async-loader-waiters-limit 2024-03-21 10:58:22 +00:00
ServerUUID.cpp Even less conflicts 2024-02-14 03:44:52 +01:00
ServerUUID.h Even less conflicts 2024-02-14 04:12:50 +01:00
Settings.cpp Fix style 2024-03-11 18:05:51 +01:00
Settings.h Merge branch 'master' into geodistance-double-precision 2024-03-25 17:49:32 +03:00
SettingsChangesHistory.h Merge branch 'master' into geodistance-double-precision 2024-03-25 17:49:32 +03:00
SettingsEnums.cpp Remove some inclusion of magic enum 2024-03-20 17:00:36 +00:00
SettingsEnums.h Merge pull request #61665 from ClickHouse/build-improvements-magic-enum-template-instantiation 2024-03-24 19:31:46 +03:00
SettingsFields.cpp Update tzdata to 2024a 2024-03-04 14:15:15 +01:00
SettingsFields.h Remove some inclusion of magic enum 2024-03-20 17:00:36 +00:00
SettingsQuirks.cpp Add sanity check for some settings 2024-02-23 12:32:17 +01:00
SettingsQuirks.h Add sanity check for some settings 2024-02-23 12:32:17 +01:00
SortCursor.h replace domain IP types (IPv4, IPv6) with native 2022-11-14 14:17:17 +00:00
SortDescription.cpp Updated implementation 2024-01-25 14:31:49 +03:00
SortDescription.h Merge branch 'master' into aggregating-in-order-from-query-plan 2022-11-28 16:53:29 +01:00
TypeId.h Implement Variant data type 2023-12-19 16:45:15 +00:00
Types_fwd.h Remove some code 2024-01-13 23:53:24 +01:00
Types.h Fix error 2024-03-10 12:48:15 +01:00
UUID.cpp Addressing feedback. 2023-08-18 13:50:31 -07:00
UUID.h Trailing whitespace fix. 2023-08-18 14:08:02 -07:00
ValuesWithType.h JIT infrastructure refactoring 2023-06-20 11:42:22 +03:00
ValueWithType.h JIT infrastructure refactoring 2023-06-20 11:42:22 +03:00