1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-10-17 01:27:36 +03:00
Commit Graph

6336 Commits

Author SHA1 Message Date
mariadb-AlanMologorsky
af10cb1526 feat(cmapi): MCOL-5133: Stage2 stand alone cli tool.
[fix] client class methods
[fix] Transaction management at endpoint handling level
[fix] add_node and set_mode methods to use TransactionManager
2025-03-13 07:20:29 +03:00
Alan Mologorsky
dafe35ef49 feat(cmapi): MCOL-5133: Stage1 to stand alone cli tool. (#3378)
[add] cluster api client class
[fix] cli cluster_app using cluster api client
[add] ClusterAction Enum
[add] toggle_cluster_state function to reduce code duplication
2025-03-12 11:21:32 +00:00
Timofey Turenko
36a412962d Recognize lsb_release 'RedHatEnterprise' as rhel 2025-03-12 14:32:12 +04:00
Serguey Zefirov
ef592038cb fix(MCOL-5396): Fix possible infinite loop in plugin--PrimProc communication
If you manage to shut down PrimProc just before plugin is trying to send
Calpont Select Execution Plan to PrimProc, you now get a nice error
message about PrimProc being down instead of endless logs of failed
reconnection attempts.
2025-03-11 17:11:01 +04:00
mariadb-AlanMologorsky
8e50884928 MCOL-5526: CLI rename "mcs CLUSTER" commands to just mcs.
[add] now all 'cluster' subcommand commands working without using 'cluster' subcommand itself
[fix] 'cluster' command hidding its help message
[add] explicit names for commands
[add] help-all command to list all nested help messages in man page view
[add] rich colored tabled help
[add] table panels for cluster commands
[upd] typer dependency version and some extra indirect dependencies
[add] README.md for mcs cli tool with all command reference
[add] mcs.1 man page
[add] README_DEV.md for mcs cli tool
[fix] cmapi/CMakeLists.txt to install mcs.1 man page
2025-03-07 01:51:31 +03:00
Sergey Zefirov
e99db9c212 fix(plugin): MCOL-4942 No-table-SELECT now can return empty set (#3415)
The query like "SELECT 1 WHERE 1=0" was returning a row despite
unsatisfiable condition in WHERE. Now it returns an empty set.
2025-03-05 07:36:05 +00:00
Serguey Zefirov
4b7016e67b fix(MCOL-5842): Fix JSON_OBJECT's handling of empty strings
JSON_OBJECT() (and probably some other JSON functions) now properly
handle empty strings in their arguments - JSON_OBJECT used to return
NULL, now it returns empty string.
2025-03-04 12:56:33 +04:00
Petr Vaněk
1a5f48d5ce Allow packagers to use system Thrift library
The commit introduces a new CMake configuration option, WITH_THRIFT,
which accepts "auto", "system", or "bundled". In "auto" mode (the
default), the build system attempts to use the system-installed Thrift
library and falls back to the bundled version if the system library is
not available. Setting WITH_THRIFT to "system" enforces the use of the
system Thrift, causing the configuration to fail if it isn't found,
while "bundled" forces the use of the bundled version.

The change mainly useful for downstream maintainers as it gives them
flexibility over dependency management.

Downstream-issue: https://bugs.gentoo.org/949680
2025-02-25 22:00:55 +04:00
Allen Herrera
cd1939ee07 update backuo to v3.11, backup list and restore list + fixes 2025-02-21 22:29:58 +04:00
Aleksei Antipovskii
0885ccc6e8 more overrides 2025-02-21 20:02:38 +04:00
Aleksei Antipovskii
b5bc649923 add missing override 2025-02-21 20:02:38 +04:00
Aleksei Antipovskii
5556d818f8 chore(codestyle): mark virtual methods as override 2025-02-21 20:02:38 +04:00
drrtuy
6001db44ab fix(BRM): MCOL-5879 DBRM::clearShm runs crit sections w/o sync mechanism (#3390) 2025-02-20 16:33:28 +00:00
Leonid Fedorov
c0fade0c55 chore(ci): add more verbose for upgrade 2025-02-14 23:09:57 +04:00
Leonid Fedorov
aeb14af63e move upgrade tests to the last phase 2025-02-14 23:09:57 +04:00
Allen Herrera
a339c2bab3 Merge pull request #3379 from mariadb-corporation/update_columnstore_review_v1.4.13
update columnstore_review to v1.4.13
2025-02-14 13:59:25 -05:00
Serguey Zefiov
8b9db66ddd fix(MCOL-5889): Improper handle of DOUBLE result type with DECIMAL arguments
Sometimes server assigns DOUBLE type for arithmetic operations over
DECIMAL arguments. In this rare case width of result was incorrectly
adjusted and it triggered an assertion.

Now width of result gets adjusted only if result type is also DECIMAL.
2025-02-12 12:26:09 +03:00
Daniel Black
7dcc6a251a MCOL-5881 set/getThreadName use FreeBSD API (#3383)
Taken from FreeBSD ports, this uses the FreeBSD
APIs rather than the Linux specific prctl to change
and retreive the thread names.

Co-authored-by: Bernard Spil <brnrd@FreeBSD.org>
2025-01-15 22:02:20 +00:00
Leonid Fedorov
f99c24b47d MCOL-5880: get rid of CLI11 dep in favour of boost::program_options 2025-01-14 17:54:36 +04:00
Allen Herrera
232c11d7f6 update columnstore_review to v1.4.13 2025-01-10 16:43:42 -05:00
drrtuy
dd8fac35ae fix(syscat): MCOL-5816 23.02 -> 23.10 upgrade issues (#3346) (#3374)
* feat(BRM,tools): couple utilities to watch/operate shared memory locks and extent map

* feat(BRM,tools): merged two utilities and added some extra dbbuilder output in case of upgrade

* fix(dbbuilder): extra output to log upgrade detection.
2024-12-26 16:26:34 +00:00
mariadb-AlanMologorsky
50a9f82f76 fix(client): MCOL-5587: Add quick-max-column-width for maridb clients. 2024-12-22 16:59:39 +04:00
Sergey Zefirov
3bc8bd8cc6 fix(group by, having): MCOL-5776: GROUP BY/HAVING closer to server's (#3257)
This patch introduces an internal aggregate operator SELECT_SOME that
is automatically added to columns that are not in GROUP BY. It
"computes" some plausible value of the column (actually, last one
passed).

Along the way it fixes incorrect handling of HAVING being transferred
into WHERE, window function handling and a bit of other inconsistencies.
2024-12-20 19:12:32 +00:00
Denis Khalikov
8f8620210b feat(SM,FDB): MCOL-5720 Move meta to FDB. (#3369) 2024-12-17 10:05:18 +00:00
Denis Khalikov
87e2bb4cef feat(fdb): MCOL-5802 Add support for blob insertion into FDB. (#3351) 2024-12-10 21:07:46 +00:00
Sergey Zefirov
eb6b370287 fix(MTR tests): Fixes autopilot MTR tests (#3368)
Fixes in UBSAN related commit introduced more server-compatible
behavior that differ fom our old behavior. Thus, old tests broke and
their results had to be changed. This is what this patch does.
2024-12-09 13:22:28 +00:00
Alexey Antipovsky
61200f532f fix(aggregation): remove double returnMemory() (#3366) 2024-12-06 15:10:24 +00:00
Serguey Zefirov
38fd96a663 fix(memory leaks): MCOL-5791 - get rid of memory leaks in plugin code
There were numerous memory leaks in plugin's code and associated code.
During typical run of MTR tests it leaked around 65 megabytes of
objects. As a result they may severely affect long-lived connections.

This patch fixes (almost) all leaks found in the plugin. The exceptions
are two leaks associated with SHOW CREATE TABLE columnstore_table and
getting information of columns of columnstore-handled table. These
should be fixed on the server side and work is on the way.
2024-12-04 10:59:12 +03:00
drrtuy
6445f4dff3 feat(joblist,runtime): this is the first part of the execution model that produces a workload that can be predicted for a given query.
* feat(joblist,runtime): this is the first part of the execution model that produces a workload that can be predicted for a given query.
  - forces to UM join converter to use a value from a configuration
  - replaces a constant used to control a number of outstanding requests with a value depends on column width
  - modifies related Columnstore.xml values
2024-12-03 22:17:49 +00:00
Denis Khalikov
bba2133cd0 fix(fdb,regression): Add cluster path for test config (#3359) 2024-12-03 09:17:34 +00:00
Serguey Zefirov
a2eafa492a Shorter code 2024-12-02 20:18:13 +03:00
Serguey Zefirov
4878caee4e Shorter code 2024-12-02 20:18:13 +03:00
Serguey Zefirov
0bc384d5f0 fix(ubsan): MCOL-5844 - iron out UBSAN reports
The most important fix here is the fix of possible buffer overrun in
DATEFORMAT() function. A "%W" format, repeated enough times, would
overflow the 256-bytes buffer for result. Now we use ostringstream to
construct result and we are safe.

Changes in date/time projection functions made me fix difference between
us and server behavior. The new, better behavior is reflected in changes
in tests' results.

Also, there was incorrect logic in TRUNCATE() and ROUND() functions in
computing the decimal "shift."
2024-12-02 20:18:13 +03:00
Alan Mologorsky
63abfd92fd fix(CI,mtr): temporary disable fdb_api and parquet-related tests for multinode mtr 2024-11-29 17:19:46 +00:00
Serguey Zefirov
9d59591066 Fix tests' results to match new diagnostics 2024-11-29 15:54:55 +04:00
drrtuy
4f71071766 feat(bootstrap): add flags to bypass costly operations to reduce recompilation time 2024-11-14 19:38:13 +04:00
Alan Mologorsky
932546f47c fix(CMAPI): reduce timeout value for couple CMAPI endpoints (#3153)
* Minor fix in timeout for /notfound "endpoint" call.

- [fix] timeout to urlopen /notfound "endpoint" in mcs-savebrm and mcs-loadbrm

* chore(CMAPI): reduced a second Time Out asking MDB for a async replication status. The latency must be small b/c MDB Server to be requested is local.

---------

Co-authored-by: drrtuy <drrtuy@gmail.com>
2024-11-12 10:56:16 +00:00
drrtuy
c6b747b7c0 fix(DEC):MCOL-5805,5808 to resolve UM-only node crash inside DEC when there is no local PP to send the local requests to. (#3349) 2024-11-11 18:29:53 +00:00
Alexey Antipovsky
6f4274760e fix(plugin): MCOL-5703 fix server crash on 'UNION ALL VALUES' queries (#3335)
* fix(plugin): MCOL-5703 fix server crash on 'UNION ALL VALUES' queries
2024-11-10 18:31:38 +00:00
Denis Khalikov
a6eb5ca689 MCOL-5719: Move ownership mechanism to KV storage. (#3266)
* MCOL-5719 Move ownership mechanism to FDB
2024-11-09 19:47:04 +00:00
drrtuy
8ae5a3da40 Fix/mcol 5787 rgdata buffer max size dev (#3325)
* fix(rowgroup): RGData now uses uint64_t counter for the fixed sizes columns data buf.
	The buffer can utilize > 4GB RAM that is necessary for PM side join.
	RGData ctor uses uint32_t allocating data buffer.
 	This fact causes implicit heap overflow.

* feat(bytestream,serdes): BS buffer size type is uint64_t
	This necessary to handle 64bit RGData, that comes as
	a separate patch. The pair of patches would allow to
	have PM joins when SmallSide size > 4GB.

* feat(bytestream,serdes): Distribute BS buf size data type change to avoid implicit data type narrowing

* feat(rowgroup): this returns bits lost during cherry-pick. The bits lost caused the first RGData::serialize to crash a process
2024-11-09 19:44:02 +00:00
Alexey Antipovsky
842a3c8a40 fix(PrimProc): MCOL-5651 Add a workaround to avoid choosing an incorr… (#3320)
* fix(PrimProc): MCOL-5651 Add a workaround to avoid choosing an incorrect TupleHashJoinStep as a joiner
2024-11-08 17:44:20 +00:00
Aleksei Antipovskii
42be2cb7e0 fix(dbcon) MCOL-5812 server crash related to stored functions
Using the stored function's return value as an argument
for another function was handled incorrectly, leading
to a server crash.
2024-11-05 20:32:26 +04:00
Allen Herrera
bd9dfdf38c feat(installation): MCOL-4886 skip chown if top folder permissions good (#3093)
* MCOL-4886 skip chown if top folder permissions good

* remove '-type f' check permissions of directories too
2024-09-11 14:50:41 +03:00
Denis Khalikov
3489b2c542 fix(logging): Add setddldebuglevel command (#3312) 2024-09-10 19:10:42 +03:00
Alexey Antipovsky
4f49c7870a fix(SM): check for duplicates (#3314)
Co-authored-by: Roman Nozdrin <rnozdrin@mariadb.com>
2024-09-10 17:50:59 +03:00
Denis Khalikov
31aaa7df50 fix(logging): MCOL-5789 Add logs on failure. (#3308) 2024-09-10 17:44:25 +03:00
Leonid Fedorov
029a573639 chore(tests): canonize tests after server MDEV-19052
chore(tests): canonize hex(-1) after some server fixes
chore(tools) update fullmtr manual runner
chore(tests): canonize hex values for negative
2024-09-06 00:13:52 +04:00
drrtuy
47d01b2d2f fix(join, UM, perf): UM join is multi-threaded now (#3286)
* chore: UM join is multi-threaded now

* fix(UMjoin):  replace TR1 maps with stdlib versions
2024-09-04 18:56:24 +04:00
mariadb-AlanMologorsky
1d40b4bb45 MCOL-5695: Fix CI. Use specific branches from docker repo. 2024-09-04 18:55:22 +04:00