Commit Graph

83446 Commits

Author SHA1 Message Date
bharatnc
b7678c1bc1 fix s2 functions having const columns 2022-02-18 22:42:27 -08:00
Nikolai Kochetov
e4d5db6161
Merge pull request #34717 from azat/merge-mutate-memory-tracker
Fix possible memory_tracker use-after-free (for async s3 writes) for merges/mutations
2022-02-18 19:28:43 +01:00
Maksim Kita
3dd6b91cbe
Merge pull request #34731 from kitaisreal/performance-tests-fix-h3
Performance tests fix H3
2022-02-18 19:21:38 +01:00
Vladimir C
fcec52f49c
Merge pull request #34612 from vdimir/fix_aarch64/01681_arg_min_max_if_fix
Adjust 01681_arg_min_max_if_fix
2022-02-18 18:35:52 +01:00
Vladimir C
9b7d011ee7
Merge pull request #34529 from vdimir/join-nullable-on-pipeline
Apply join_use_nulls on types before join
2022-02-18 18:34:44 +01:00
alexey-milovidov
b9a377c890
Update build.md 2022-02-18 20:01:44 +03:00
Maksim Kita
80b0efb367 Performance tests fix H3 2022-02-18 15:57:54 +00:00
Vladimir C
a249819c52
Merge pull request #34730 from ucasfl/name
rename name in ci check
2022-02-18 16:17:11 +01:00
Maksim Kita
187af5b8b9
Merge pull request #34699 from DevTeamBK/missing_noexcept
Adding noexcept for move constructor SharedContextHolder
2022-02-18 16:15:06 +01:00
vdimir
963e859f92
Ignore result in 01681_arg_min_max_if_fix 2022-02-18 14:10:06 +00:00
vdimir
7012489d97
Revert "Check float to integer overflow on aarch64"
This reverts commit 8a7100701b.
2022-02-18 14:07:35 +00:00
feng lv
3270e5f636 rename name in ci check 2022-02-18 14:06:16 +00:00
vdimir
6ca154858c
upd TableJoin::applyKeyConvertToTable 2022-02-18 13:40:57 +00:00
Azat Khuzhin
65e9b4879d Fix possible memory_tracker use-after-free for merges/mutations
There are two possible cases for execution merges/mutations:
1) from background thread
2) from OPTIMIZE TABLE query

1) is pretty simple, it's memory tracking structure is as follow:

    current_thread::memory_tracker = level=Thread / description="(for thread)" ==
      background_thread_memory_tracker = level=Thread / description="(for thread)"
    current_thread::memory_tracker.parent = level=Global / description="(total)"

  So as you can see it is pretty simple and MemoryTrackerThreadSwitcher
  does not do anything icky for this case.

2) is complex, it's memory tracking structure is as follow:

    current_thread::memory_tracker = level=Thread / description="(for thread)"
    current_thread::memory_tracker.parent = level=Process / description="(for query)" ==
      background_thread_memory_tracker = level=Process / description="(for query)"

  Before this patch to track memory (and related things, like sampling,
  profiling and so on) for OPTIMIZE TABLE query dirty hacks was done to
  do this, since current_thread memory_tracker was of Thread scope, that
  does not have any limits.

  And so if will change parent for it to Merge/Mutate memory tracker
  (which also does not have some of settings) it will not be correctly
  tracked.

  To address this Merge/Mutate was set as parent not to the
  current_thread memory_tracker but to it's parent, since it's scope is
  Process with all settings.

  But that parent's memory_tracker is the memory_tracker of the
  thread_group, and so if you will have nested ThreadPool inside
  merge/mutate (this is the case for s3 async writes, which has been
  added in #33291) you may get use-after-free of memory_tracker.

  Consider the following example:

    MemoryTrackerThreadSwitcher()
      thread_group.memory_tracker.parent = merge_list_entry->memory_tracker
      (see also background_thread_memory_tracker above)

    CurrentThread::attachTo()
      current_thread.memory_tracker.parent = thread_group.memory_tracker

    CurrentThread::detachQuery()
      current_thread.memory_tracker.parent = thread_group.memory_tracker.parent
      # and this is equal to merge_list_entry->memory_tracker

    ~MemoryTrackerThreadSwitcher()
      thread_group.memory_tracker = thread_group.memory_tracker.parent

  So after the following we will get incorrect memory_tracker (from the
  mege_list_entry) when the next job in that ThreadPool will not have
  thread_group, since in this case it will not try to update the
  current_thread.memory_tracker.parent and use-after-free will happens.

So to address the (2) issue, settings from the parent memory_tracker
should be copied to the merge_list_entry->memory_tracker, to avoid
playing with parent memory tracker.

Note, that settings from the query (OPTIMIZE TABLE) is not available at
that time, so it cannot be used (instead of parent's memory tracker
settings).

v2: remove memory_tracker.setOrRaiseHardLimit() from settings

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-02-18 16:23:54 +03:00
vdimir
6eda8ef914
use isNullable function in join_common/convertTypeToNullable 2022-02-18 13:09:11 +00:00
Maksim Kita
652980eec3
Merge pull request #34714 from azat/fix-custom_partitioning_local
Fix flaky 00502_custom_partitioning_local
2022-02-18 11:27:08 +01:00
Nikolay Degterinsky
4b316b5233
Merge pull request #34716 from cnmade/PR202202181640
Translate zh/sql-reference/statements/alter/order-by
2022-02-18 12:35:54 +03:00
Azat Khuzhin
c204ac7744 Export MemoryTracker::getHardLimit()
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-02-18 12:05:12 +03:00
cnmade
658a23af50 Translate zh/sql-reference/statements/alter/order-by: remove space 2022-02-18 16:53:16 +08:00
cnmade
4d913f328b Translate zh/sql-reference/statements/alter/order-by: remove bak file 2022-02-18 16:50:58 +08:00
cnmade
3643e9e397 Translate zh/sql-reference/statements/alter/order-by: translate to zh 2022-02-18 16:50:19 +08:00
cnmade
9d300809a4 Translate zh/sql-reference/statements/alter/order-by: reimport old file 2022-02-18 16:43:16 +08:00
cnmade
1c92f4f724 Translate zh/sql-reference/statements/alter/order-by: rename old file 2022-02-18 16:40:16 +08:00
Cody Baker
cc6ef4f4b3
Add new team members to company page (#34701) 2022-02-18 11:21:00 +03:00
Nikolay Degterinsky
ff52ecea8d
Merge pull request #34706 from cnmade/PR202202181040
Translate zh/sql-reference/statements/alter/delete
2022-02-18 10:43:44 +03:00
Nikolay Degterinsky
4346404ae5
Merge pull request #34705 from cnmade/PR202202181030
sync translate to zh: engines/table-engines/special/memory: sync inde…
2022-02-18 10:41:02 +03:00
alesapin
efb9a6d0fa
Merge pull request #34584 from bigo-sg/keerpSnapMemOpt
Keeper memory optimization by not holding snapshot in memory
2022-02-18 10:34:31 +03:00
Nikolay Degterinsky
c09275f0da
Merge pull request #34368 from usurai/sw
Add startsWith & endsWith function for arrays
2022-02-18 08:34:48 +03:00
cnmade
df14daaba6 Translate zh/sql-reference/statements/alter/delete: delete old file 2022-02-18 10:40:31 +08:00
cnmade
7fbe7efac8 Translate zh/sql-reference/statements/alter/delete: translate to zh 2022-02-18 10:39:57 +08:00
cnmade
bbd6bf6cea Translate zh/sql-reference/statements/alter/delete: reimport file 2022-02-18 10:35:04 +08:00
cnmade
01a13dab3c Translate zh/sql-reference/statements/alter/delete: rename old file 2022-02-18 10:34:31 +08:00
cnmade
5199c54e41 sync translate to zh: engines/table-engines/special/memory: sync index toc and source article link 2022-02-18 10:21:57 +08:00
Maksim Kita
e845a68eeb
Merge pull request #34695 from kitaisreal/url-encode-minor-fixes
Function encodeURLComponent minor fixes
2022-02-17 22:49:46 +01:00
Maksim Kita
6f9b436e3c
Merge pull request #34698 from kitaisreal/cmake-llvm-add-status-message-if-not-used
CMake llvm add status message if not used
2022-02-17 22:48:41 +01:00
Rajkumar
de154c5f9c Adding noexcept for move constructor 2022-02-17 13:18:12 -08:00
Maksim Kita
0cf2b6eb07 CMake llvm add status message if not used 2022-02-17 19:46:15 +00:00
Azat Khuzhin
8576195d05 Fix flaky 00502_custom_partitioning_local
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-02-17 22:17:11 +03:00
Maksim Kita
5c92ad0d57 Function encodeURLComponent minor fixes 2022-02-17 18:34:23 +00:00
Maksim Kita
562f1ec01a
Merge pull request #34607 from zzsmdfj/issue/#31092_add_encodeURLComponent_function
add encode url component function
2022-02-17 17:57:23 +01:00
Mikhail f. Shiryaev
bce6947fb3
Merge pull request #34685 from ClickHouse/auto/v22.2.2.1-stable
Update version_date.tsv after v22.2.2.1-stable
2022-02-17 17:49:41 +01:00
robot-clickhouse
817ef71b3d
Update version_date.tsv after v22.2.2.1-stable 2022-02-17 17:49:05 +01:00
Mikhail f. Shiryaev
462b817759
Merge pull request #34624 from ClickHouse/timeout-fast-tests
Timeout fast tests
2022-02-17 17:25:12 +01:00
alexey-milovidov
89d6e49d57
Merge pull request #34687 from ClickHouse/changelog-22.2
Changelog for version 22.2
2022-02-17 19:09:46 +03:00
alexey-milovidov
f7000cf06a
Update CHANGELOG.md 2022-02-17 19:05:04 +03:00
Mikhail f. Shiryaev
e8f927283c
Add timeouts to TeePopen, second attempt 2022-02-17 16:44:34 +01:00
alesapin
8a0153b6d3
Merge pull request #34606 from qoega/no-clickhouse-test-deb
Remove clickhouse-test deb completely
2022-02-17 18:13:44 +03:00
Mikhail f. Shiryaev
1aff775574
Apply black formatter, fix linter notes 2022-02-17 16:11:12 +01:00
alesapin
21bc494bd6
Merge pull request #34686 from ianton-ru/MDB-16622
Fix ZooKepper paths in zero_copy_schema_converter.py
2022-02-17 18:10:16 +03:00
Alexey Milovidov
34e6d28fc5 Editing the changelog 2022-02-17 16:09:24 +01:00