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

6176 Commits

Author SHA1 Message Date
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
Roman Nozdrin
929f7b3922 Merge pull request #2728 from mariadb-corporation/ci-ignore-regression-results
ci: align steps failure ignores
2023-02-10 12:48:32 +03:00
mariadb-RomanNavrotskiy
ecdc2bbae5 ci: align steps failure ignores 2023-02-09 22:08:41 +02:00
Roman Nozdrin
b2206521ce Merge pull request #2723 from drrtuy/MCOL-5384-develop
MCOL-5384 This commit replaces shared pointer to CSC with CSC ctor th…
2023-02-09 00:16:54 +03:00
mariadb-RomanNavrotskiy
4659f41efa ci: fix publish results latest regression 2023-02-08 18:27:43 +02:00
Roman Nozdrin
ff534dba7f MCOL-5384 This commit replaces shared pointer to CSC with CSC ctor that is cleaned up leaving a scope
CSC default ctor was private b/c it must not allow to use CSC outside thread cache.
  However there are some places in the plugin code that need a standalone syscat that
  is cleaned up leaving the scope. The decision is to make the restriction mentioned
  organizational rather than syntactical.
2023-02-08 14:03:41 +00:00
Roman Nozdrin
00e766253c Merge pull request #2721 from tntnatbry/MCOL-5318-MCOL-5319-dev
Revert "This commit fixes an incorrect predicate in the if condition (#2608)"
2023-02-08 15:26:07 +03:00
mariadb-RomanNavrotskiy
c3c0e869ce ci(regression): #MCOL-5406-split-tests (#2717)
This commit breaks a monolithic regression into a set of tests to reduce housekeeping and RAM-related issues detection
2023-02-08 00:40:55 +03:00
Leonid Fedorov
f7118b53a8 Turn on ASAN for unitests (#2719)
Fix asan error on compression tests
Fix warn of nonreturn function
2023-02-02 15:08:01 +02:00
Gagan Goel
006b92bba2 Revert "This commit fixes an incorrect predicate in the if condition (#2608)"
This reverts commit f4e3022fbd.

The commit apparently caused MCOL-5318 and MCOL-5319 which involve the
internal ColumnStore batch insert mechanism passing through the SQL
layer. The code block involved in this change is a predicate checking
for the HWM extent in WriteEngineServer at the end of the batch insert.
This is done in WE_DMLCommandProc::processBatchInsertHwm(). The original
predicate check in this function for the HWM extent is restored until
further investigation.
2023-02-02 08:07:18 -05:00
Roman Nozdrin
c1168e33aa Merge pull request #2712 from drrtuy/MCOL-5400
MCOL-5400 Disable group by pushdown
2023-01-27 16:17:24 +03:00
Leonid Fedorov
d87206c3e4 Fix segfault in getLocalNetIfacesSins (#2713) 2023-01-26 16:21:21 +03:00
Roman Nozdrin
1b51d265ed MCOL-5400 Disable group by pushdown 2023-01-26 12:09:00 +00:00
Roman Nozdrin
ebe9bd0aa5 Merge pull request #2670 from denis0x0D/MCOL-5195
MCOL-5195 Correlated subquery with equi/non-equi scalar filter and join condition
2023-01-19 13:35:08 +03:00
mariadb-RomanNavrotskiy
faf58a086c MCOL-5127 run mtr on 3 nodes cluster with docker-compose 2023-01-19 01:22:17 +02:00
Roman Nozdrin
c7c182ebd2 Merge pull request #2684 from drrtuy/MCOL-5385
MCOL-5385 This patch reduces RAM consumption and adds GROUP_CONCAT RA…
2023-01-18 11:58:47 +03:00
Roman Nozdrin
0099b253f3 Merge pull request #2694 from tntnatbry/MCOL-5367
MCOL-5367 Fix a bug introduced in MCOL-5021 (AUX column implementation).
2023-01-18 11:58:26 +03:00
Roman Nozdrin
a5637551c7 Merge pull request #2698 from thesamesam/transitive-incldues
Add missing includes
2023-01-18 11:57:00 +03:00
Sam James
20b5dbb617 Add missing includes
These seem to have all fallen out of a recent Boost update to 1.81 which
dropped some internal includes. All of these uses within columnstore
relied on these transitive includes, so explicitly include what we need
to fix build.

Signed-off-by: Sam James <sam@gentoo.org>
2023-01-17 01:18:41 +00:00
Roman Nozdrin
35c8359d90 Merge pull request #2695 from mariadb-corporation/update-thift
Remove commited old thrift
2023-01-16 20:32:16 +03:00
Roman Nozdrin
bec8c6f6a3 Merge pull request #2690 from mariadb-corporation/MCOL-5384-Karol-Roslaniec
MCOL-5384: Connection resource cleaning by Karol Roslaniec
2023-01-16 20:30:24 +03:00
Roman Nozdrin
6700003983 Merge pull request #2691 from mariadb-corporation/mcol-5233-5388
ci: 22.08 branch, unify build platforms, debug unit storage manager
2023-01-16 19:26:50 +03:00
Leonid Fedorov
3b68353429 remove commited old thrift, replace with static lib build from exterrnal project 2023-01-16 15:37:01 +03:00
mariadb-RomanNavrotskiy
f817f8d4f4 ci changes:
- #MCOL-5392 develop-22.08 branch trigger
- #MCOL-5388 unify build platforms
- #MCOL-5233 list unit test storage manager binary
- #MCOL-5387 disable allow failure full regression
2023-01-16 13:05:14 +02:00
Gagan Goel
ad59ed5402 MCOL-5367 Fix a bug introduced in MCOL-5021 (AUX column implementation).
In the implementation of MCOL-5021, an assert was added in
`WE_DMLCommandProc::processBatchInsertHwm()` that assumed the
`WriteEngine::TableMetaData` cache is uniform across the cluster.
However, this assumption is incorrect.

This bug caused undefined behaviour in ColumnStore resulting in bugs
such as MCOL-5367. In MCOL-5367, in a multi-node ColumnStore cluster,
an INSERT ... SELECT in a transaction with system variable
`columnstore_use_import_for_batchinsert=OFF/ON` did not show inserted
records when a SELECT query was issued. Assuming a 3-node cluster setup,
DMLProc only sends a given batch of records to be inserted to one of the
3 nodes, and not all nodes. As a result, the `WriteEngine::TableMetaData`
cache is only populated for that one node and is not uniform across the
cluster, causing the assert to fail.

As a fix, we simply remove this assert as it is redundant and should not
have been added in the first place.
2023-01-16 05:54:44 -05:00
Leonid Fedorov
81f0334698 Connection resource cleaning by Karol Roslaniec 2023-01-13 16:35:12 +03:00
Roman Nozdrin
f6318f515a Merge pull request #2677 from mariadb-corporation/clang16-fix
Fix clang 16 warnings for comfort build
2023-01-13 14:57:10 +03:00
Leonid Fedorov
d42485656c Fix clang 16 warnings for comfort build 2023-01-12 22:11:28 +03:00
Leonid Fedorov
b4a6a35b40 Fix coredumps utils path (#2689) 2023-01-12 22:08:27 +03:00
Roman Nozdrin
d0eea0ffe8 MCOL-5385 This patch reduces RAM consumption and adds GROUP_CONCAT RAM accounting feature 2023-01-11 09:52:10 +00:00
David.Hall
53af74b027 MCOL-1170 Fix ANALYZE to not error (#2682)
Analyze needs to be completed differently than a normal query. In server, when an ANALYZE is seen, it calls init_scan() immediatly followed by end_scan(). This leaves the sqlfrontendsession (ExeMgr) in a state where it expects to return rows. This patch fixes end_scan to clean this up via reads and writes to get everything back in synch.

ANALYZE should display the number of rows to be displayed if the query were run normally. We have that information available, but no way to return it. A modification to server side to ask for that in the handler is required.

This patch also includes a beautification of sqlfrontsessionthread.cpp since it looked bad. The important change is at line 774
if (!swallowRows)
which short circuits the actual return of data
2023-01-09 13:59:26 -06:00
Roman Nozdrin
6b5eff5525 Merge pull request #2683 from mariadb-corporation/unparallel-tests
ci: unparallel mtr and regression
2023-01-09 18:10:44 +03:00
mariadb-RomanNavrotskiy
32e0371d70 ci: unparallel mtr and regression 2023-01-09 13:25:49 +02:00
mariadb-RomanNavrotskiy
55beeb8a6d ci: regression and mtr memory from memory limits (#2681)
* ci: regression and mtr memory from memory limits

* try cgroup name
2023-01-04 19:47:17 +03:00
mariadb-RomanNavrotskiy
20535620e0 MCOL-5369 ci: fix rocky9 build 2022-12-30 20:18:53 +02:00
Roman Nozdrin
4313288a85 Merge 22.08.7 (#2678)
* fix C API includes

ColumnStore used to include server's mysql.h
but link all tools with libmariadb.so

There's no guarantee that this would work, even with workarounds
it had in dbcon/mysql/sm.cpp

Fix:
* tools (linked with libmariadb.so) *must* include libmariadb's mysql.h
* as a hack prevent service_thd_timezone.h from being loaded into tools,
  as it conflicts with libmariadb's mysql.h
* server plugin *must* include server's mysql.h
* also don't link every tool with libmariadb.so, link the helper library
  (liblibmysqlclient.so) that actually needs it, tools use this
  helper library, not libmariadb.so directly

* do *not* link ha_columnstore.so with libmariadb.so

this means some libraries have to be compiled twice -
for tools with libmariadb.so and for plugin, without.

* use system boost, if possible

boost 1.71.0 is what ubuntu focal has, so let's start with that version.
boost 1.77.0 is the first that supports c++20

* add dependency for generated header files errorids.h messageids.h

see 3edd51610

* bump the version

* MCOL-5322 This patch replaces boost::mutex with std::mutex b/c IMHO std::unique_lock::lock is
less troublesome comparing with the boost alternative

* MCOL-5310 This patch replaces move-assignment with copy-assignment to avoid memory corruption (#2661)

* Bump VERSION to 22.08.7-1

* MCOL-5306 Re-read the config (Columnstore.xml) file if it was updated.

The existing implementation of Config::makeConfig() factory method
was returning a possibly stale config to the caller, without checking
if the config file was updated since the last read. This bug triggered
a scenario as described in MCOL-5306 where after a failover in an MCS
cluster, the controllernode coordinates changed in the config file
after failover and the existing mariadbd process was still using the
old controllernode coordinates. This lead to failed network connection
between mariadbd and the new controllernode.

The change in this fix, however, is more generic and not just limited
to this above scenario.

* MCOL-5264 This patch replaces boost mutex locks with std analogs
boost::uniqie_lock dtor calls a fancy unlock logic that throws twice.
First if the mutex is 0 and second lock doesn't own the mutex.
The first condition failure causes unhandled exception for one of the clients
in DEC::writeToClient(). I was unable to find out why Linux can have a 0
mutex and replaced boost::mutex with std::mutex b/c stdlibc++ should
be more stable comparing with boost.

* MCOL-5311 Add timezone to jobList in subquerytransformer
TimeZone was uninitialized in this scenario and led to undefined behavior.

* patch_out_of_band
Some changes made to 10.6-enterprise make a build using the out-of-band method of compiling columnstore not work. Out-of band means the source for the engine is not in the storage subdir of server, but rather in a stand alone directory. This is used by developers for easier develop work. In the case of out-of-band, INSTALL_LAYOUT is false in CMakeLists.txt

* MCOL-5346 This patch forces TreeNode::getIntValue to use conversion for dict-based CHAR/VARCHAR and TEXT columns (#2657)

Co-authored-by: Roman Nozdrin <rnozdrin@mariadb.com>

* MCOL-5263 Add support to ROLLBACK when PP were restarted.

DMLProc starts ROLLBACK when SELECT part of UPDATE fails b/c EM facility in PP were restarted.
Unfortunately this ROLLBACK stuck if EM/PP are not yet available.
DMLProc must have a t/o with re-try doing ROLLBACK.

* MCOL-3561 This patch updates Connector code after MDEV-29988

* This commit applies the code style format

Co-authored-by: Sergei Golubchik <serg@mariadb.com>
Co-authored-by: Roman Nozdrin <rnozdrin@mariadb.com>
Co-authored-by: David.Hall <david.hall@mariadb.com>
Co-authored-by: Gagan Goel <gagan.nith@gmail.com>
Co-authored-by: Denis Khalikov <dennis.khalikov@gmail.com>
2022-12-28 21:15:39 +03:00
Denis Khalikov
242bc75166 MCOL-5195 Correlated subquery with equi/non-equi scalar filter and join condition
Disable check for correlated subqueries, basically those types of queries transforms
to join (aggr(table2), table1), table2) and post join scalar filter.
2022-12-23 18:33:01 +03:00
Leonid Fedorov
6d81cde000 Typo errpr (#2671) 2022-12-20 21:21:09 +03:00
Roman Nozdrin
9746a2572b This commit adds pattern match feature using MPark's library (#2665) 2022-12-20 19:00:32 +03:00
Roman Nozdrin
4f5b31a122 There is a frequent RAM contention happens at Drone CI workers for develop (#2662)
This commit sets absolute RAM consumption limits.
2022-12-14 15:50:57 +03:00