1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-04-17 10:37:05 +03:00

6347 Commits

Author SHA1 Message Date
Serguey Zefirov
66778933ce A start 2025-04-15 20:26:57 +04:00
Timofey Turenko
61b8973fa8 add branches info to buildinfo file 2025-03-24 23:09:26 +04:00
mariadb-AlanMologorsky
6e64d3a38d fix(mcs): MCOL-5618: change list option to --list and refactor.
fix(mcs):  list option to -li/--list for mcs backup, restore and dbrm_restore commands
fix(mcs): add missed option "aro"
fix(mcs): resort options for backup and dbrm_backup to keep same ordering as in original scrypt
fix(mcs docs): updated README.md + mcs.1
2025-03-20 15:34:26 +03:00
mariadb-AlanMologorsky
6a57537cb1 fix(cmapi): MCOL-5133 remove has_active_nodes handler for cluster shutdown because TransactionManager has advance variant of this check 2025-03-20 16:30:25 +04:00
mariadb-AlanMologorsky
a60b278ee6 fix(cmapi tests): MCOL-5133 test mode set without nodes now returns adequate message 2025-03-20 16:17:58 +04:00
mariadb-AlanMologorsky
7c751ea53e fix(cmapi): MCOL-5133 maintainance flag typo. 2025-03-20 12:42:51 +03:00
Allen Herrera
d198ff77f2 adjusted list flag to --list in mcs_backup_manager.sh 2025-03-14 23:02:22 +03:00
mariadb-AlanMologorsky
75ed571f09 feat(cmapi): MCOL-5133: Stage3 stand alone cli tool.
MAJOR: Some logic inside node remove changed significantly using active
    nodes list from Columnstore.xml to broadcast config after remove.

 [fix] TransactionManager passsing  extra, remove and optional nodes arguments to start_transaction function
 [fix] commit and rollback methods of TransactionManager adding nodes argument
 [fix] TransactionManager using success_txn_nodes inside
 [fix] remove node logic to use Transaction manager
 [fix] cluster set api key call using totp on a top level cli call
 [add] missed docstrings
 [fix] cluster shutdown timeout for next release
2025-03-14 14:44:16 +03:00
Denis Khalikov
6a6db672db
feat(FDB): [FDB BlobHandler] Add writeOrUpdateBlob, update read and remove. (#3373)
This patch:
1) Adds a `writeOrUpdateBlob` function.
2) Updates `read` and `remove` to take in account the size of the
`keys` and `values` for one FDB transaction.
2025-03-14 11:39:06 +00:00
Allen Herrera
001367e68a
feat(backup): added timestamps to localstorage backups major sections, new flag backup --apply-retention-only , more verbose logging in poll_check_no_active_sql_writes(), fixes to multinode race conditions to apply apply_backup_retention_policy() (#3422) 2025-03-14 11:36:01 +00:00
mariadb-AlanMologorsky
d132c1174a MCOL-5618: Sync with PR3410.
[add] list option but in argument notation "list" for backup, restore, dbrm_restore
[fix] help messages for --config-file
[fix] -p/--path > -bl/--backup-location option for dbrm_backup and dbrm_restore
[fix] -d/--directory > '-l', '--load' option for dbrm_restore
2025-03-13 07:35:27 +03:00
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