1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-08-08 14:22:09 +03:00
Commit Graph

6015 Commits

Author SHA1 Message Date
Gagan Goel
c4425941cb [serg changes] fix for debian builds. 2023-05-01 16:04:21 -04:00
Gagan Goel
fcdb8ccdcd [serg changes] skip ColumnStore if old cmake. 2023-05-01 16:04:21 -04:00
Gagan Goel
2736e9ae55 [serg changes] fix cmake warning. 2023-05-01 16:04:21 -04:00
Gagan Goel
88a7559271 [serg changes] skip ColumnStore if STL is too old. 2023-05-01 16:04:21 -04:00
Roman Nozdrin
c0c18511f6 MCOL-5456 codebase preparation for colab with CS 11.1 2023-05-01 16:04:21 -04:00
Roman Nozdrin
74d89e385f Merge pull request #2835 from drrtuy/MCOL-5487-shmem-race
MCOL-5487 Managed shmem segment access/remap race
2023-04-29 15:45:07 +01:00
Roman Nozdrin
eab91b5022 MCOL-5487 Managed shmem segment access/remap race
There is a potential edge case when a thread remaps EM
    managed shmem segment in grabEMEntryTable() whilst another
    thread access the current shmem segment mapping in virtual memory
2023-04-28 12:36:04 +00:00
Gagan Goel
55d4214429 MCOL-5429 Fix high memory consumption in GROUP_CONCAT() processing. (#2823)
1. Input and output RowGroup's used in GROUP_CONCAT classes
are currently allocating a raw memory buffer of size equal
to the actual width of the string datatype. As an example,
for the following query:
  SELECT col1, GROUP_CONCAT(col2) FROM t GROUP BY col1;
If col2 is a TEXT field with default width, the input
RowGroup containing the target rows to be concatenated will
assign 64kb of memory for every input row in the RowGroup.
This is wasteful as actual field values in real workloads
would be much smaller. We fix this by enabling the
RowGroup to use the StringStore when the RowGroup contains
long strings.

2. RowAggregation::initialize() allocates a memory buffer
for a NULL row. The size of this buffer is equal to the
row size for the output RowGroup. For the above scenario,
using the default group_concat_max_len (which is a server
variable that sets the maximum length of the GROUP_CONCAT string)
value of 1mb, the buffer size would be
(1mb + 64kb + some additional metadata). If the user sets
group_concat_max_len to a higher value, say 3gb, this buffer
size would be ~3gb. Now if the runtime initiates several
instances of RowAggregation, total memory consumption by
PrimProc could exceed the hardware memory limits causing the
OS OOM to kill the process. We fix this problem by again
enabling the StringStore for the NULL row allocation.

3. In the plugin code in buildAggregateColumn(), there is
an integer overflow when the server group_concat_max_len
variable (which is an uint32_t) is set to a value > INT32_MAX
(such as 3gb) and is assigned to
CalpontSystemCatalog::ColType::colWidth (which is an int32_t).
As a short term fix, we saturate the assigned value to colWidth
to INT32_MAX. Proper fix would be to upgrade
CalpontSystemCatalog::ColType::colWidth to an uint32_t.
2023-04-22 00:43:29 +03:00
Gagan Goel
445eb75e4f Bump VERSION to 23.02.2-1. (#2814) 2023-04-18 17:09:46 +03:00
Leonid Fedorov
030144127e Remove boost shared array [develop 23.02] (#2812)
* remove boost/shared_array include

* replace boost::shared_array<T> to std::shared_ptr<T[]>
2023-04-17 20:56:09 +03:00
Leonid Fedorov
f1697c261e MCOL-5385 set data extermination [develop-23.02] (#2813)
* Delete RowGroup::setData and make Pointer ctor explicit

* some push_backs replaced with emplace_backs

* Fixes of review notes
2023-04-16 15:57:39 +03:00
Leonid Fedorov
2f153184c3 Fixes of bugs from ASAN warnings, part one (#2796) 2023-03-30 18:29:04 +03:00
Roman Nozdrin
a1d20d82d5 MCOL-5451 This resolves external GROUP BY result inconsistency issues (#2791)
Given that idx is a RH hashmap bucket number and info is intra-bucket idx
    the root cause is triggered by the difference of idx/hash pair
    calculation for a certain GROUP BY generation and for generation
    aggregations merging that takes place in RowAggStorage::finalize.
    This patch generalizes rowHashToIdx to leverage it in both cases
    mentioned above.
2023-03-28 19:10:41 +03:00
Roman Nozdrin
f6cfac2e80 Merge pull request #2788 from drrtuy/disabled-unused-EE4chars-code
Mutex contention major perf degradation
2023-03-25 14:59:50 +00:00
Serguey Zefirov
d4238879e3 This commit disables unused EE for chars code
There is a global mutex in CHARSET_INFO that demonstrates
	mutex contention with the current implementation of
	encodeStringPrefix.
2023-03-24 11:54:31 +00:00
Roman Nozdrin
b5c403708f Merge pull request #2782 from mariadb-corporation/preserver-regr-logs-23.02
ci: PRESERVE_LOGS env var for regression run (23.02)
2023-03-22 11:37:09 +00:00
mariadb-RomanNavrotskiy
4c649fb9ba ci: PRESERVE_LOGS env var for regression run 2023-03-21 00:32:27 +03:00
Gagan Goel
bd322a25ac 1. Change drone stable branch from develop-22.08 to develop-23.02. (#2779)
2. Revert back some earlier commited cmake changes from serg.
2023-03-17 20:34:22 +03:00
Gagan Goel
fd045e2fdf Merge branch columnstore-23.02.1-1 into develop-23.02 (#2778)
* cmake fixes:

* set build byproducts (otherwise ninja cannot build)
* exclude thrift from "all" target, it should only be buit as a dependency
  (otherwise it builds - and pulls in boost - when columnstore is disabled)
* move test-only external project into tests/ (because it requires git)
  and into storage/columnstore (where thrift and boost already are)

* Update drone to use 10.6-enterprise server branch. (#2763)

---------

Co-authored-by: Sergei Golubchik <serg@mariadb.com>
2023-03-17 13:23:22 +03:00
Roman Nozdrin
7f3d540841 MCOL-5438 COUNT() in math causes SEGV (#2769)
Co-authored-by: Roman Nozdrin <rnozdrin@mariadb.com>
2023-03-10 19:32:17 +03:00
Leonid Fedorov
a9818433f7 Merge branch 'full-mtr-query-stats-disable' into develop-23.02 2023-03-03 12:21:36 +03:00
Leonid Fedorov
2f0ab915d1 mcs4011_autopilot_query_stats disabled for unstable response 2023-03-03 12:19:58 +03:00
Roman Nozdrin
92f8cb106e Merge pull request #2754 from mariadb-corporation/drop-windows-23.02
Drop windows Support [develop-23.02]
2023-03-02 17:46:28 +00:00
Roman Nozdrin
84294c6b03 Merge pull request #2753 from mariadb-corporation/drop_windows
Drop windows support from code
2023-03-02 16:34:18 +00:00
Leonid Fedorov
56f2346083 Remove windows ifdefs 2023-03-02 15:59:42 +00:00
Leonid Fedorov
123c345b40 remove winport 2023-03-02 15:37:11 +00:00
Roman Nozdrin
4d4e4ad30d Merge pull request #2741 from mariadb-corporation/MDEV-25080-CS-dev
MDEV-25080 Allow pushdown of queries involving UNIONs in outer select to ColumnStore
2023-02-28 11:23:50 +00:00
Andrey Piskunov
b267186f58 Fix cron full mtr set (#2749)
* Fix cron full mtr set

* Typo
2023-02-28 13:58:24 +03:00
Andrey Piskunov
b6808c97f1 MCOL-4530: common conjuction top rewrite (#2673)
Added logical transformation of the execplan::ParseTrees with the taking out the common factor in expression of the form "(A and B) or (A and C)" for the purposes of passing a TPCH 19 query.

Co-authored-by: Leonid Fedorov <leonid.fedorov@mariadb.com>
2023-02-27 19:23:19 +03:00
Gagan Goel
8bf545bc2e MDEV-25080 Fix a corner case in DataConvert::joinColTypeForUnion(). 2023-02-27 09:01:24 -05:00
Leonid Fedorov
95a314f1fb Replace enterpice server branch with 10.6-MENT-1667 2023-02-27 06:41:31 -05:00
Gagan Goel
157d0f9b8c MDEV-25080 Add --sorted_result MTR qualifier to some UNION tests. 2023-02-27 06:38:31 -05:00
Gagan Goel
2f1f9c0ef0 MDEV-25080 Some fixes:
1. In TupleUnion::writeNull(), add the missing switch case for
   wide decimal with 16bytes column width.
2. MCOL-5432 Disable complete/partial pushdown of UNION operation
   if the query involves an ORDER BY or a LIMIT clause, until
   MCOL-5222 is fixed. Also add MTR test cases for this.
2023-02-27 06:38:31 -05:00
Gagan Goel
4e2123ca80 MDEV-25080 Fix some corner cases in DataConvert::joinColTypeForUnion(). 2023-02-27 06:38:31 -05:00
Gagan Goel
e4100928d1 MDEV-25080 DISABLE pushdown of SELECT_LEX_UNIT for the prepare
phase of PS/SP statements.
2023-02-27 06:38:31 -05:00
Gagan Goel
e987a766e0 MDEV-25080 Some updates to the MDEV-25080 MTR test cases. 2023-02-27 06:38:31 -05:00
Gagan Goel
86dcf92d56 MCOL-5215 Fix overflow of UNION operation involving DECIMAL datatypes.
When a UNION operation involving DECIMAL datatypes with scale and digits
before the decimal exceeds the currently supported maximum precision
of 38, we throw an error to the user:
"MCS-2060: Union operation exceeds maximum DECIMAL precision of 38".

This is until MCOL-5417 is implemented where ColumnStore will have
full parity with MariaDB server in terms of maximum supported DECIMAL
precision and scale of 65 and 38 digits respectively.
2023-02-27 06:38:31 -05:00
Gagan Goel
8cdcae0d2f MDEV-25080 Disable pushdown of SELECT_LEX_UNIT for CREATE VIEW statements. 2023-02-27 06:38:31 -05:00
Gagan Goel
45a779f743 MDEV-25080 Implement ColumnStore-side changes for pushdown of SELECT_LEX_UNITs. 2023-02-27 06:38:31 -05:00
Andrey Piskunov
8671f55784 MCOL-5333: Full MTR tests for custom Build (#2732)
* Add MTR_SUITE_LIST

* Typo

* Add data download

* Install tar and lz4

* Change the way MTR_SUITE_LIST is set up

* Use bash for MTR_SUITE_LIST

* Another one

* Fix reference results for full MTR develop, disable broken JSON test and tests with 10GB database

* Fix timestamps and truncate cos

* Fix some more references

* Fix dokcerhub step for custom build

* One more fix for dockerhub step on custom build

* Fix tests for regr functions with truncate

* Full mtr set on nghtly + MTR_FULL_SET flag

* One more fix for dockerhub

* Fix MTR_FULL_SET

* Testing MTR_FULL_SET

* sorted_result in tests + fix typo

* Truncate even more

* Typo

* truncate 2 more tests

* Disable regr_* functions tests

* fix setup mtr step

* correct settings for table creation

* Put setup for tests into drone

* Fix for debian based distros

* More truncates

* Disable the rest

---------

Co-authored-by: Leonid Fedorov <leonid.fedorov@mariadb.com>
2023-02-27 13:42:48 +03:00
Roman Nozdrin
71a6f691fd Merge pull request #2737 from mariadb-corporation/MCOL-5433-build-log
ci: #MCOL-5433 always publish build log, #MCOL-5434 always run regresion
2023-02-26 14:36:14 +00:00
Gagan Goel
a0c996e601 Revert "ci: #MCOL-5423 change ent branch" (#2743) 2023-02-24 00:00:45 +03:00
Gagan Goel
523afbf441 Merge pull request #2740 from mariadb-corporation/MCOL-5423-ent-branch
ci: #MCOL-5423 change ent branch
2023-02-23 09:01:38 -05:00
mariadb-RomanNavrotskiy
2ad46a983d ci: #MCOL-5433 always publish build log, #MCOL-5434 always run regresion 2023-02-23 10:28:33 +02:00
Roman Nozdrin
d641581493 README version fix and files cleanup (#2738)
Co-authored-by: Roman Nozdrin <rnozdrin@mariadb.com>
2023-02-23 00:35:03 +03:00
Roman Nozdrin
f66a1b3a04 Raise Columnstore version up to 23.02.1 (#2739) 2023-02-23 00:34:49 +03:00
mariadb-RomanNavrotskiy
0aafdf3218 ci: #MCOL-5423 change ent branch 2023-02-22 23:15:46 +02:00
Leonid Fedorov
4fe1856d4c Remove galera files from debian install 2023-02-22 15:36:39 +02:00
Leonid Fedorov
e6127ab9bc MCOL-5242: fix Columnstore tmp_files dir owner (#2731)
* When dbrmroot created, it has columnstore_tmp_files as parent, and this parent was still with root owner

* Change f-string to format
2023-02-21 22:04:20 +03:00
Andrey Piskunov
a0893a57db Add service logs to CI build (#2730)
* Add service logs to CI build

* Run logs.sh in drone

* write to core dir

* Proper dir and better script

* Fix typo

* load logs.sh in regr
2023-02-14 16:11:58 +03:00