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

6463 Commits

Author SHA1 Message Date
drrtuy
dc03621e9d 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.
2024-11-08 16:28:51 +04:00
Aleksei Antipovskii
ca6c35abdd 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:33:41 +04:00
drrtuy
ce86d1025a feat(joblist): better dot graphs that represents joblist steps execution tree. 2024-09-26 18:51:49 +04:00
Alexey Antipovsky
9ef5d7f3ac fix(SM): check for duplicates (#3316)
Co-authored-by: Roman Nozdrin <rnozdrin@mariadb.com>
2024-09-10 17:51:35 +03:00
Denis Khalikov
9e9ac32879 fix(logging): MCOL-5789 Add logs on failure. (#3307) 2024-09-10 17:43:25 +03:00
Leonid Fedorov
ddbdb97071 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-05 20:34:23 +03:00
mariadb-AlanMologorsky
4a069ddbc1 MCOL-5695: Fix CI. Use specific branches from docker repo. 2024-09-05 20:03:41 +04:00
drrtuy
6757535b6e 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:35 +04:00
Leonid Fedorov
539db054b3 MCOL-5779: use encoding to check alter table alter column statement correctly 2024-08-30 17:54:56 +04:00
drrtuy
7828ded2d2 feat(ddl,partitions): better partition-related commands logging 2024-08-28 16:29:48 +04:00
Leonid Fedorov
4b411b3968 MCOL-4696: get rid of boost::iequals 2024-08-21 21:35:52 +04:00
Aleksei Antipovskii
4aa281645e feat(SM): MCOL-5785 S3Storage improvements
Update libmarias3
fix build with the recent libmarias3

feat(SM): MCOL-5785 Add timeout options for S3Storage

    In some unfortunate situations StorageManager may get stuck on
    network operations. This commit adds the ability to set network
    timeouts which will help to ensure that the system is more
    responsive.

feat(SM): MCOL-5785 Add smps & smkill tools

    * `smps` shows all active S3 network operations
    * `smkill` terminates S3 network operations

    NB! At the moment smkill is able to terminate operations
    that are stuck on retries, but not hang inside the libcurl
    call. In other words if you want to terminate all operations
    you should configure `connect_timeout` & `timeout`

Install smkill & smps

Add install for new binaries
2024-08-21 20:45:38 +04:00
drrtuy
91dd3abb0a chore(): Bump VERSION up to 23.10.2-1 to fix after the erroneous merge 2024-08-21 12:23:11 +01:00
Leonid Fedorov
4d1ff1cef7 Merge pull request #3190 from mariadb-corporation/23.10.1-2
match the rename in the handler rows_changed->rows_stats.updated in 11.5
2024-08-05 20:49:07 +04:00
Leonid Fedorov
7a27722ef2 Merge branch 'stable-23.10' into 23.10.1-2 2024-08-05 20:44:21 +04:00
Sergei Golubchik
54c6b7352e don't add new build dependencies
and particularly, *not for unit tests*
2024-08-05 20:39:38 +04:00
Leonid Fedorov
10d9e583ab Merge branch 'stable-23.10' into 23.10.1-2 2024-07-31 18:15:01 +04:00
Timofey Turenko
fdc94ca4d3 Merge pull request #3239 from mariadb-corporation/u24-stable-23-10
Ubuntu 24.04 for CI [stable-23.10]
vcolumnstore-23.10.2-1
2024-07-30 18:46:10 +03:00
Leonid Fedorov
089db9d1fe Merge branch 'stable-23.10' into u24-stable-23-10 2024-07-30 18:29:31 +04:00
Leonid Fedorov
cd626ac8a0 fix(): MCOL-5587: revert quick mode due the interactive console bug (#3255) 2024-07-30 13:40:49 +01:00
mariadb-AlanMologorsky
e5e93a361a MCOL-5587: Fix columnstore.cnf.
fix(client): Fix columnstore.cnf file

This fix changes option file to apply '--quick' option only for 'mariadb' and 'mysql' clients instead of all MariaDB clients.
Otherwise 'mysqladmin' uses this option, but it doesn't exist. As a result broken CI multinode MTR stage.
2024-07-26 17:36:18 +04:00
Roman Nozdrin
8a0d2654c9 fix(mcs-savebrm): replace debug with error to put mcs-savebrm.py log messages in order 2024-07-25 21:02:54 +04:00
Sergey Zefirov
7f0c281518 fix(client): MCOL-5587: enable quick mode for predictable performance (#3240) (#3243)
This changeset enables quick (mariadb -q) mode when columnstore is
installed. Quick mode precludes client CLI program from storing too
much data in memory, preventing out of memory conditions.
2024-07-11 19:05:36 +01:00
Roman Nozdrin
a5c12b98d7 Revert "fix(aggregation, disk-based) MCOL-5691 distinct aggregate disk based (#3145)"
This reverts commit c7caa4374f.
2024-07-07 13:09:56 +00:00
Leonid Fedorov
ae20481aed fix(build) Remove _GLIBXX flags for Columnstore debug builds 2024-07-04 23:46:27 +04:00
Leonid Fedorov
4a7b739237 chore(build) add Ubuntu 24.04 to the CI 2024-07-04 12:27:17 +00:00
Timofey Turenko
7dcb999e15 Merge pull request #3236 from mariadb-corporation/centos7-eol-stable-23.10
chore(build) bury Centos7 [stable-23.10]
2024-07-04 00:28:11 +03:00
Leonid Fedorov
877f71b441 chore(build_) bury Centos7 2024-07-03 16:33:07 +00:00
drrtuy
d089171637 fix(compilation): add explicit comparison operators and explicitly cast a type (#3229) 2024-06-29 07:53:54 +01:00
Roman Nozdrin
c12e59c4d7 chore(): update version in the README 2024-06-28 10:33:43 +00:00
Roman Nozdrin
df7307c033 chore(): Bump VERSION up to 23.10.2-1 2024-06-28 10:31:46 +00:00
Sergey Zefirov
db4cb1d657 MCOL-4234 and MCOL 5772 cherry-picked into [stable 23.10] (#3226)
* MCOL-4234: improve GROUP BY and ORDER BY interaction (#3194)

This patch fixes the problem in MCOL-4234 and also generally improves
behavior of GROUP BY.

It does so by introducing a "dummy" aggregate and by wrapping columns
into it. This allows for columns that are not in GROUP BY to be used
more freely, for example, in SELECT * FROM tbl GROUP BY col - all
columns that are not "col" will be wrapped into an aggregate and query
will proceed to execution.

The dummy aggregate itself does nothing more than remember last value
passed into it.

There also an additional error message that tries to explain what types
of expressions can be wrapped into an aggregate.

* MCOL-5772: incorrect ORDER BY ordering for a columns not in GROUP BY (#3214)

When ORDER BY column is not in GROUP BY, is not an aggregate and there
is a SELECT column that is also not an aggregate, there was a problem:
ordering happened on the SELECTed column, not ORDERed one.

This patch fixes that particular problem and also performs some tidying
around newly added aggregate.

---------

Co-authored-by: Leonid Fedorov <79837786+mariadb-LeonidFedorov@users.noreply.github.com>
2024-06-28 00:31:53 +04:00
Denis Khalikov
9f4231f87f MCOL-5708 Calculate precision and scale for constant decimal. (#3227)
This patch calculates precision and scale for constant decimal
value for SUM aggregation function.
2024-06-28 00:31:03 +04:00
Denis Khalikov
88e3af4ba5 fix(plugin): MCOL-5236 Take Item from Ref_Item for group by list (#3162) (#3163)
Co-authored-by: Leonid Fedorov <79837786+mariadb-LeonidFedorov@users.noreply.github.com>
2024-06-27 17:25:57 +04:00
Denis Khalikov
985cd94402 fix(join, disk-based): MCOL-5597: large side read errors (#3117) (#3225)
The large side read errors mentioned there can be due to failure to
close file stream properly. Some of the data may still reside in the
file stream buffers, closing must flush it. The flush is an I/O
operation and can fail, leading to partial write and subsequent partial
read.

This patch tries to provide better diagnostics.

Co-authored-by: Sergey Zefirov <72864488+mariadb-SergeyZefirov@users.noreply.github.com>
2024-06-27 17:24:45 +04:00
Alan Mologorsky
c11cadeef5 MCOL-5618-related: Duplicate to stable 23.10 (#3223)
* feat(package_manager): improved cs_package_manager functionality for better UX

- add apt support for community and enterprise install
- add enterprise_staging install
- filter check results down to os/arch
- add --token flag for enterprise (#3002)

* Update cs package manager dev ubuntu (#3060)

* cs_package_manager.sh - fix ubuntu dev installs

* cs_package_manager.sh - remove some useless comments

* debian/ubuntu dev install to use drone repo + remove wget dependancy

* + exits if repo files missing

* auto install aws cli for dev builds

* removed commented section from cs_package_manager

* feat(tooling): add rhel support in cs_package_manager.sh (#3105)

* added dbrm_restore for LocalStorage & S3

* small comment cleanup

* resolved PR comments for cs_package_manager.sh & mcs_backup_manager.sh

* added dbrm_restore for LocalStorage & S3

* Added backup retention flag -r and incremental auto_most_recent option to mcs_backup_manager.sh

* resolved PR comments for cs_package_manager.sh & mcs_backup_manager.sh

* add comment to auto_select_most_recent_backup_for_incremental in mcs_backup_manager.sh

* feat(cmapi,cli): MCOL-5618: Add backup, restore, backup-dbrm, restore-dbrm commands for mcs cli tool. (#3130)

* MCOL-5618: Add backup, restore, backup-dbrm, restore-dbrm commands for mcs cli tool.

[add] mcs_cluster_tool/helpers.py file with cook_sh_arg function inside
[add] MCS_BACKUP_MANAGER_SH to mcs_cluster_tool/constants.py
[add] backup and restore commands to "mcs" Typer APP

* MCOL-5618: Move mcs_backup_manager.sh to cmapi/scripts.

* MCOL-5618: Install mcs_backup_manager.sh with CMAPI package.

* MCOL-5618: Testing fix + script minor fixes.

- [fix] wrong cooking of .sh invoke string
- [fix] restore_dbrm -> dbrm_restore, backup_dbrm -> dbrm_backup to use same naming in both python wrapper and mcs_backup_manager.sh
- [fix] mathod of checking cmapi online or not in mcs_backup_manager.sh

* MCOL-5618: Minor improvements to sync with PR 3144.

[add] -ns option for dbrm_restore.

* MCOL-5618: Minor fixes to sync after #3147

[add] -r option for backup command

* MCOL-5618: Minor fixes to sync after PR #1398.

[add] -ssm argument for dbrm backup
[add] -sdbk -ssm arguments for dbrm restore
[add] silenece annoying pylint warning unused argument for bachup_commands.py and restore_commnads.py

* update to the latest mcs_backup_manager + cs_package_manager

* Intermediate commit to move changes from old filepath to the new one.

* remove old file

* MCOL-5618: Fix packaging.

[mv] extra/cs_package_manager.sh -> cmapi/scripts/cs_package_manager.sh to pack and deliver the script with cmapi package
[add] cs_package_manager.sh to cmapi package
[fix] download paths for mcs_backup_manager.sh and cs_package_manager.sh

* MCOL-5618: Fix after testing

[add] -P to restore help in mcs_backup_restore.sh
[fix] -f argument default value in both backup and restore wrapper commands
[fix] -i argument behaviour and type + default value
[fix] -P argument position and help for both backup and restore wrapper commands
[fix] disable some pylint warning for both backup and restore wrapper files

---------

Co-authored-by: Allen Herrera <82840027+mariadb-AllenHerrera@users.noreply.github.com>
Co-authored-by: Allen Herrera <allen.herrera@mariadb.com>
Co-authored-by: Allen Herrera <allen@Allens-Black-MacBook-Pro.local>
Co-authored-by: Leonid Fedorov <79837786+mariadb-LeonidFedorov@users.noreply.github.com>
2024-06-27 17:23:13 +04:00
Leonid Fedorov
54331e1231 MCOL-4480: TEXT type added for alter table add column (#3221) 2024-06-27 17:22:41 +04:00
Denis Khalikov
d6db3552c3 MCOL-5597 Rollback changes introduced for DJS. (#3224)
This patch changes:
1. The number of buckets created on each split.
2. The heuristic which calculates the bucket size.
2024-06-27 17:22:11 +04:00
Alan Mologorsky
6efffef765 MCOL-5594: Duplicate to stable-23.10 (#3222)
* MCOL-5594: Interactive "mcs cluster stop" command for CMAPI. (#3024)

* MCOL-5594: Interactive "mcs cluster stop" command for CMAPI.

[add] NodeProcessController class to handle Node operations
[add] two endpoints: stop_dmlproc (PUT) and is_process_running (GET)
[add] NodeProcessController.put_stop_dmlproc method to separately stop DMLProc on primary Node
[add] NodeProcessController.get_process_running method to check if specified process running or not
[add] build_url function to helpers.py. It needed to build urls with query_params
[add] MCSProcessManager.gracefully_stop_dmlproc method
[add] MCSProcessManager.is_service_running method as a top level wrapper to the same method in dispatcher
[fix] MCSProcessManager.stop by using new gracefully_stop_dmlproc
[add] interactive option and mode to mcs cluster stop command
[fix] requirements.txt with typer version to 0.9.0 where supports various of features including "Annotated"
[fix] requirements.txt click version (8.1.3 -> 8.1.7) and typing-extensions (4.3.0 -> 4.8.0). This is dependencies for typer package.
[fix] multiple minor formatting, docstrings and comments

* MCOL-5594: Add new CMAPI transaction manager.

- [add] TransactionManager ContextDecorator to manage transactions in less code and in one place
- [add] TransactionManager to cli cluster stop command and to API cluster shutdown command
- [fix] id -> txn_id in ClusterHandler class
- [fix] ClusterHandler.shutdown class to use inside existing transaction
- [add] docstrings in multiple places

* MCOL-5594: Review fixes.

* fix(cmapi): MCOL-5594: Fix after testing.. (#3150)

- [fix] wrong invoke already imported constants and function from signal lib
2024-06-27 14:32:50 +04:00
Leonid Fedorov
5824a0cebe MCOL-5746 Cpimport: convert blob data from ascii hex when reads from STDIN (#3217)
Co-authored-by: Denis Khalikov <dennis.khalikov@gmail.com>
2024-06-27 14:23:07 +04:00
Leonid Fedorov
3f8758ba4c MCOL-5747 gcc-14.1.1 compile error - calloc - transposed args (#3216)
The arguments of calloc are the number of members and the sizeof the
member. Gcc-14.1.1 worked out how to tell the difference.

We correct this by transposing to gcc's will.

Co-authored-by: Daniel Black <daniel@mariadb.org>
2024-06-27 14:21:26 +04:00
Leonid Fedorov
1b31fd3bdb fix(plugin) MCOL-5699: throw error for unimplemented INTERSECT and EXCEPT (#3219) 2024-06-27 14:20:23 +04:00
Leonid Fedorov
6c6fa7d5a4 MCOL-5328: PCRE based regexp regexp_substr regexp_instr regexp_replace [stable-23.10] (#3215)
* MCOL-5328: PCRE based regexp regexp_substr regexp_instr regexp_replace

* Add qa test for MCOL-5328

---------

Co-authored-by: Susil Behera <susil.behera@mariadb.com>
2024-06-27 14:20:08 +04:00
Serguey Zefirov
2cd8f716c1 Fix MCOL-5035, a difference in INSERT and UPDATE behavior
The UPDATE statement wrote NULL when the column set is DATETIME and
value is '0000-00-00 00:00:00'. The problem was inside WriteEngine's
handling of UPDATE statements and this is where heart of change is.

Other changes are related to some obsolete data structures in DML/DDL
handling that just hanging around there, doing nothing.
2024-06-27 13:07:49 +03:00
Alan Mologorsky
2c44af30c7 fix(save-brm): MCOL-5709: Review fix. (#3207) (#3210)
[fix] if file_path_prefix is None throwing TypeError
2024-06-21 12:47:34 +01:00
Leonid Fedorov
cce0f6ab0c fix(cgroups)!: Containers memory limits for CI (#3108) (#3209)
Limit test containers by memory, fix cgroup path inside the containers by introducing new ugly setting name 

---------

Co-authored-by: drrtuy <roman.nozdrin@mariadb.com>
Co-authored-by: Roman Nozdrin <rnozdrin@mariadb.com>
2024-06-20 10:48:20 +01:00
Alan Mologorsky
e6c02c8832 feat(save_brm)!: MCOL-5709: protect from S3/NFS IO errors (#3206)
* feat(save_brm)!: protect from S3/NFS IO errors

* feat(save_brm)!: future refactoring

* cleanup

* feat(save_brm)!: forgotten template

* feat(save-brm,ci)!: python3 package for rocky8

---------

Co-authored-by: Roman Nozdrin <roman.nozdrin@mariadb.com>
2024-06-18 18:41:43 +01:00
Denis Khalikov
e69dffc6f3 MCOL-5237 Proper handle DATETIME column for "ifnull" function. (#3201) 2024-06-17 17:58:11 +04:00
Denis Khalikov
7f14dae5c7 MCOL-5352 Properly handle PP restart for DML/DDL operations. 2024-05-28 15:48:53 +04:00
Timofey Turenko
d3896efb0f Add dependency on libxcrypt for Rocky/RHEL9 2024-05-28 15:47:48 +04:00