1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-29 08:21:15 +03:00
Commit Graph

6015 Commits

Author SHA1 Message Date
22bbfa7239 fix(messageqcpp): MCOL-5636 same node communication crashes transmiting PP errors to EM b/c error messaging leveraged socket that was a nullptr. 2024-01-13 09:01:33 +00:00
79ad78f91f fix(threadpool): MCOL-5565 queries stuck in FairThreadScheduler. (#3100)
Meta Primitive Jobs, .e.g ADD_JOINER, LAST_JOINER stuck
	in Fair scheduler without out-of-band scheduler. Add OOB
	scheduler back to remedy the issue.
2024-01-13 11:54:08 +03:00
eb7f1bb2b4 Merge pull request #3104 from mariadb-corporation/columns-23.02.7
feat(brm,funcexp,versioning): backport some features customers need from the current develop.
2024-01-12 09:26:25 +02:00
e65115af91 Disable rewritetests, correct backport of updated one from develop will produce too many changes 2024-01-10 16:01:22 +00:00
f3fb48a1c7 chore(versioning): Bump version to 23.02.7-1 2024-01-10 14:51:58 +00:00
2eca3ee656 fix(funcexp): MCOL-5607: JSON function use crashes query execution (#3028)
JSON functions were implemented violating an assumption of their
pureness, as they should not have any state. This concrete patch
fixes implementation of JSON_VALUE function.
2024-01-10 14:51:28 +00:00
1935c9c1da MCOL-5625: Fixes json_query implementation
Also extends func_json_value.test.
2024-01-10 18:22:16 +04:00
db0c328c80 feat(brm): MCOL-5631 Optimize BRM load operation. (#3090) 2024-01-10 18:21:25 +04:00
d8c53eea57 MCOL-5623 This patch changes the logic applied to save function for EM 2024-01-10 18:21:11 +04:00
5f07828619 MCOL-5522 Properly process pm join result count.
This patch:
1. Properly processes situation when pm join result count is exceeded.
2. Adds session variable 'columnstore_max_pm_join_result_count` to control the limit.
2024-01-10 18:16:39 +04:00
9f15a0a9ac MCOL-5522 Temporary disable join match limit on BPP
Current join pipeline is not designed to send a temporal result and
continue execution. RowGroup for large side is the same where we store
the matched rows, we cannot continue to iterate over it, requires a
proper refactoring.
2024-01-10 18:16:28 +04:00
1a32e99997 MCOL-5630: fix multi node MTR. Typer dependency bump version.
- [fix] requirements.txt to bump typer and indirect dependencies versions
2024-01-09 12:37:38 +03:00
b7008d2b9f MCOL-5630: fix multi node MTR. Add "cmapi is-ready" cli command.
This task is a next logical part of MCOL-5470 that implements AppManager and API endpoint
to check if CMAPI ready or not.

- [add] cmapi_app.py with is-ready command implementation
- [fix] add cmapi is-ready command to main typer app
2024-01-09 12:37:38 +03:00
2802e2810f fix(pp-threadpool): MCOL-5565 the workaround for a stuck tests001 in CI (#2947)
CI ocassionaly stuck running test001 b/c PP threadpool endlessly reschedules
    meta jobs, e.g. BATCH_PRIMITIVE_CREATE, which ByteStreams were somehow damaged or read out.

Co-authored-by: Leonid Fedorov <leonid.fedorov@mariadb.com>
2023-09-01 18:09:44 +03:00
a0e7bf4fd6 Merge pull request #2939 from drrtuy/MCOL-5559-emindex-shmem-race-dev-23.02
MCOL-5559 This patch extends the scope of the crit section to cover remap operation to avoid access races running EMIndex operations
2023-08-31 21:00:32 +02:00
7e746ad90c fix(extent-map): MCOL-5559 This patch extends the scope of the crit section to cover remap operation to avoid access races running EMIndex operations 2023-08-23 10:31:17 +00:00
74647cd90c MCOL-5521: Use Columnstore VERSION file for CMAPI versioning.
[fix] columnstore_version.cmake setting extra variables for CMAPI versioning
[fix] CMAPI CmakeLists.txt using columnstore_version.cmake file
[fix] CMAPI VERSION file to template file due to using it inside CMAPI applicatio
n
vcolumnstore-23.02.4-1
2023-06-30 13:05:18 -04:00
5258ab03cf compiler failures with gcc 12.x
a workaround for something that looks like a bug in a compiler.
Fixes errors like

In file included from /usr/include/c++/12/string:40,
                 from /mnt/server/storage/columnstore/columnstore/utils/funcexp/func_math.cpp:26:
In static member function ‘static constexpr std::char_traits<char>::char_type* std::char_traits<char>::copy(char_type*, const char_type*, std::size_t)’,
    inlined from ‘static constexpr void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_S_copy(_CharT*, const _CharT*, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.h:423:21,
    inlined from ‘constexpr std::__cxx11::basic_string<_CharT, _Traits, _Allocator>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_replace(size_type, size_type, const _CharT*, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.tcc:532:22,
    inlined from ‘constexpr std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::replace(size_type, size_type, const _CharT*, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.h:2171:19,
    inlined from ‘constexpr std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::insert(size_type, const _CharT*) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.h:1928:22,
    inlined from ‘virtual std::string funcexp::Func_format::getStrVal(rowgroup::Row&, funcexp::FunctionParm&, bool&, execplan::CalpontSystemCatalog::ColType&)’ at /mnt/server/storage/columnstore/columnstore/utils/funcexp/func_math.cpp:2008:17:
/usr/include/c++/12/bits/char_traits.h:431:56: error: ‘void* __builtin_memcpy(void*, const void*, long unsigned int)’ accessing 9223372036854775810 or more bytes at offsets 3 and [2, 2147483645] may overlap up to 9223372036854775813 bytes at offset -3 [-Werror=restrict]
  431 |         return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n );

$ gcc --version
gcc (Ubuntu 12.2.0-3ubuntu1) 12.2.0
2023-06-29 18:39:35 -04:00
0f9d2d978d cpimport.bin doesn't really need libboost_program_options
linking with unused libraries creates a difference in dependencies
between --no-as-needed (gcc default) and --as-needed (default on
Fedora rpmbuild) builds.
2023-06-29 18:39:35 -04:00
4b5c790b21 compiler warning with gcc 13.0.1
utils/funcexp/func_between.cpp:246:21: error: possibly dangling reference to a temporary [-Werror=dangling-reference]

use datatypes::Charset().getCharset() like it's used everywhere else
2023-06-29 18:39:35 -04:00
e66a937c7c disable pch when building boost with gcc 8.x
according to https://bugzilla.redhat.com/show_bug.cgi?id=1806545

  GCC's PCH mechanism is fundamentally incompatible with the security
  hardening requirements for RHEL (PIE in particular).  We are currently
  evaluating the best way to present a more friendly diagnostic for this
  issue.

and also

  we don't turn on hardening the compiler and its binaries in DTS 9.
2023-06-29 18:39:35 -04:00
3bd0ef4e43 Replace std::set contains method with count
to support Rocky/RHEL/Alma 8 where the std::set
in the stock STL does not have contains method
2023-06-29 18:39:35 -04:00
f5822b5ed3 compiler warnings
like

dbcon/joblist/batchprimitiveprocessor-jl.cpp:893:54: error: pointer used after ‘void operator delete [](void*, std::size_t)’ [-Werror=use-after-free]
  893 |           joinResults.reset(new vector<uint32_t>[8192]);
      |                                                      ^
2023-06-29 18:39:35 -04:00
4c3274affb MCOL-5500 Remove another noisy printout. (#2887)
Co-authored-by: Roman Nozdrin <rnozdrin@mariadb.com>
2023-06-29 15:42:54 +03:00
89ca5aa65a Bump VERSION to 23.02.4-1. (#2883) 2023-06-28 15:10:26 +03:00
d70a70b772 MCOL-5512 Fix for post join filter. (#2880)
This patch fixes certain situations where post join filter is not applying.
2023-06-27 18:25:33 +03:00
d775c23b86 Merge pull request #2876 from tntnatbry/my_init_resource_leak_fix-dev-23.02
Fix resource leak in DDLProc/DMLProc/PrimProc/WriteengineServer processes.
2023-06-25 20:55:10 +01:00
101aa079ab Fix resource leak in DDLProc/DMLProc/PrimProc/WriteengineServer processes.
As part of the charset support, a call to MY_INIT() was added at the
initialization of the above processes. This call initializes the MySQL
thread environment required by the charset library. However, the
accompanying my_end() call required to terminate this thread environment
was not added at the termination of these process, hence leaking
resources. As a fix, we move the MY_INIT() calls to the Child()
functions of these services and also add the missing my_end() call.
2023-06-23 20:10:10 +00:00
5342234f15 Fixed stdout and stderr forking porcs handling 2023-06-21 11:45:18 -04:00
a96b2ca235 Merge pull request #2872 from drrtuy/MCOL-5500-dev-23.02
MCOL-5500 Remove noisy printout from CGroupConfigurator method
2023-06-21 10:42:19 +01:00
f387219de0 MCOL-5500 Remove noisy printout from CGroupConfigurator method 2023-06-19 11:23:50 +00:00
d7d5e2211b MCOL-5175 Bump overlooked libmariaS3 and added more ENV variables to fine tune initial installation on S3 (#2869)
Co-authored-by: Roman Nozdrin <rnozdrin@mariadb.com>
2023-06-18 13:35:26 +03:00
06364513fa MCOL-5500 This patch adds cgroup v2 support with some sanity checks for (#2850)
values reported by cgroups v1
2023-06-09 17:37:32 +03:00
e2367a9495 CI from develop + cmapi [develop-23.02] (#2863)
* MCOL-5496: Merge CMAPI code to engine repo.

[add] cmapi code to engine

* MCOL-5496: Fix CI adding CMAPI steps.

[fix] deb packages deps commands
[add] several additional local variables
[fix] packages url
[fix] smoke step
[fix] mtr step
[fix] regression step
[add] cmapipython, cmapibuild, cmapitest and cmapilog steps
[fix] dockerfile step
[fix] build step to include cmapi package on repodata creating
[fix] multi_node_mtr step
[fix] pkg step
[add] cmapi steps to pipelines
[fix] cmapi/CMakeLists.txt to prevent cmake byte-compile .py files for rpm packages
[add] setup-repo.sh file
[fix] now use packages from the repos in tests steps

* Adding color 2 build script

* Build script and logging scripts from develop

* Remove test 222 from full regression, it is missing in 23.02 regression set

---------

Co-authored-by: mariadb-AlanMologorsky <alan.mologorsky@mariadb.com>
Co-authored-by: mariadb-RomanNavrotskiy <roman.navrotskiy@mariadb.com>
2023-06-09 17:36:17 +03:00
9e1eac448a MCOL-5499 Enable ControlFlow for same node communication processing path to avoid DEC queue overloading (#2847) 2023-06-07 15:42:47 +03:00
23a969dbe2 MCOL-5175 Increase the maximum effective length of S3 secret used as SHA256 key producing S3 signature (#2860)
Co-authored-by: Roman Nozdrin <rnozdrin@mariadb.com>
2023-06-07 15:24:42 +03:00
727170dc66 Merge pull request #2858 from mariadb-corporation/MCOL-5503-quarter-develop-23.02
MCOL-5503: Fix broken quarter[develop 23.02]
2023-06-06 17:31:02 +01:00
1be5090ffe Fix brocen quoter 2023-06-02 13:31:16 +00:00
134381d6b2 Fix tests, for 2020-11-11 12:12:12 quarter is 4 2023-06-02 13:31:03 +00:00
615f491dc7 Add an option in build/bootstrap_mcs.sh to NOT perform a clean install. (#2853)
A new option is added (-n/--no-clean-install) that allows a user to
re-install ColumnStore without deleting the existing db files. This is
useful for testing new code changes in the engine without the need to
re-create the database tables to test the code changes.
2023-05-30 21:01:57 +03:00
2b6d42f94a Merge pull request #2843 from tntnatbry/MCOL-5480-develop-23.02
MCOL-5480 LOAD DATA INFILE incorrectly loads values for MEDIUMINT datatype.
2023-05-26 14:39:15 +01:00
10f1a7abbc MCOL-5480 LOAD DATA INFILE incorrectly loads values for MEDIUMINT datatype.
Internal memory representation of MEDIUMINT datatype uses 24 bits. This is
true for both MariaDB server as well as ColumnStore. MCS plugin code uses
TypeHandlerSInt24 and TypeHandlerUInt24 classes to respectively convert the
binary representation of the signed and unsigned MEDIUMINT values passed by
the server to the plugin. The plugin then outputs the text representation
of these values into an open file descriptor which is piped to cpimport
for the final load into the MCS db files.

The TypeHandlerXInt24 classes were earlier incorrectly using
WriteBatchField::ColWriteBatchXInt32() functions which operate on a 4 byte
buffer. This resulted in incorrect parsing of MEDIUMINT values. As a fix,
we implement WriteBatchField::ColWriteBatchXInt24() functions which
correctly handle the 24 bit input buffer used for MEDIUMINT datatype.
2023-05-19 18:30:52 -04:00
611087fe7c Merge pull request #2841 from tntnatbry/MCOL-5491-develop-23.02
MCOL-5491 Enable StringStore for long strings in JSON_ARRAYAGG processing.
2023-05-17 12:11:18 +01:00
c6c43e3e56 Merge pull request #2836 from tntnatbry/MCOL-5357-develop-23.02
MCOL-5357 Fix TPC-DS query error "MCS-3009: Unknown column '.<colname>'".
2023-05-12 22:42:32 +01:00
f844724dd7 MCOL-5491 Enable StringStore for long strings in JSON_ARRAYAGG processing.
This patch is the JSON_ARRAYAGG clone of the changes done in MCOL-5429
where we enabled usage of StringStore for long strings in
GROUP_CONCAT() processing to reduce memory footprint of PrimProc and
thus avoiding a potential OS triggered OOM crash.
2023-05-12 20:49:54 +00:00
982db10f10 MCOL-5357 Fix TPC-DS query error "MCS-3009: Unknown column '.<colname>'".
For the following query:

select item from (
select item from (select a as item from t1) tt
union all
select item from (select a as item from t1) tt
) ttt;

There is an if predicate in buildSimpleColFromDerivedTable() that compares
the outermost query field name (ttt.item) to the returned column list of
the inner query (tt.item) when building the returned column list of the
outer most query. In the above query example, the inner query field name
is an alias set in the inner most query and is set to "`tt`.`item`",
while the outermost query field name is set to "item". The use of
backticks "`" in the inner query alias is causing the execution to
not enter the if block which creates the SimpleColumn for the outermost
query field name. As a fix, we strip off the backticks from the inner
query alias.
2023-05-02 15:43:10 -04:00
5278865430 MCOL-5437 Fixes to follow the charset_info api change introduced by MDEV-30661 vcolumnstore-23.02.3-1 2023-05-01 16:04:21 -04:00
7cb8e339c5 cmake fixes related to mpark_patterns. 2023-05-01 16:04:21 -04:00
d5c3ce622f Bump VERSION to 23.02.3-1. 2023-05-01 16:04:21 -04:00
0a4478a7cd [serg changes] mcs-savebrm.py: don't abort with "[Errno 1] Unknown host". 2023-05-01 16:04:21 -04:00