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

69 Commits

Author SHA1 Message Date
drrtuy
baae1f66a5 * fix(compilation): New warn AKA 3919c541 backport
* fix(compilation): `New warn` AKA 3919c541 backport

* chore: Bump version to 6.4.8-2
2024-04-24 14:33:13 +03:00
Roman Nozdrin
5f485f40ca MCOL-5153 This patch replaces MDB collation aware hash function with the (#2487)
exact functionality that does not use MDB hash function.
This patch also takes a bit from Robin Hood hash map implementation forgotten
that reduces hash function collision rate.
2022-08-04 16:22:11 -05:00
Leonid Fedorov
7c808317dc clang format apply 2022-02-11 12:24:40 +00:00
David.Hall
509f005be7 Mcol 4841 dev6 Handle large joins without OOM (#2155)
* MCOL-4846 dev-6 Handle large join results
Use a loop to shrink the number of results reported per message to something manageable.

* MCOL-4841 small changes requested by review

* Add EXTRA threads to prioritythreadpool
prioritythreadpool is configured at startup with a fixed number of threads available. This is to prevent thread thrashing. Since most of the time, BPP job steps are short lived, and a rescheduling mechanism exist if no threads are available, this works to keep cpu wastage to a minimum.

However, if a query or queries consume all the threads in prioritythreadpool and then block (due to the consumer not consuming fast enough) we can run out of threads and no work will be done until some threads unblock. A new mechanism allows for EXTRA threads to be generated for the duration of the blocking action. These threads can act on new queries. When all blocking is completed, these threads will be released when idle.

* MCOL-4841 dev6 Reconcile with changes in develop-6

* MCOL-4841 Some format corrections

* MCOL-4841 dev clean up some things based on review

* MCOL-4841 dev 6 ExeMgr Crashes after large join
This commit fixes up memory accounting issues in ExeMgr

* MCOL-4841 remove LDI change
Opened MCOL-4968 to address the issue

* MCOL-4841 Add fMaxBPPSendQueue to ResourceManager
This causes the setting to be loaded at run time (requires restart to accept a change) BPPSendthread gets this in it's ctor
Also rolled back changes to TupleHashJoinStep::smallRunnerFcn() that used a local variable to count locally allocated memory, then added it into the global counter at function's end. Not counting the memory globally caused conversion to UM only join way later than it should. This resulted in MCOL-4971.

* MCOL-4841 make blockedThreads and extraThreads atomic
Also restore previous scope of locks in bppsendthread. There is some small chance the new scope could be incorrect, and the performance boost is negligible. Better safe than sorry.
2022-02-09 21:38:32 +03:00
Gagan Goel
fb15be3237 MCOL-4855 Do not log debug/info/warning messages to stderr. 2021-11-19 17:13:23 -05:00
Leonid Fedorov
ef09342d47 MCOL-4839: Fix clang build (#2102)
* Fix clang build

* Extern C returned to plugin_instance

Co-authored-by: Leonid Fedorov <l.fedorov@mail.corp.ru>
2021-08-23 15:58:56 -05:00
David Hall
0b17568ae2 MCOL-3741 dev6 Change IDB-xxxx error codes to MCS-xxxx 2021-08-10 12:05:33 -05:00
Denis Khalikov
c20015a7b2 MCOL-4713 Analyze table implementation. 2021-07-02 12:37:12 +03:00
Alexey Antipovsky
475104e4d3 [MCOL-4709] Disk-based aggregation
* Introduce multigeneration aggregation

* Do not save unused part of RGDatas to disk
* Add IO error explanation (strerror)

* Reduce memory usage while aggregating
* introduce in-memory generations to better memory utilization

* Try to limit the qty of buckets at a low limit

* Refactor disk aggregation a bit
* pass calculated hash into RowAggregation
* try to keep some RGData with free space in memory

* do not dump more than half of rowgroups to disk if generations are
  allowed, instead start a new generation
* for each thread shift the first processed bucket at each iteration,
  so the generations start more evenly

* Unify temp data location

* Explicitly create temp subdirectories
  whether disk aggregation/join are enabled or not
2021-06-06 16:09:15 +03:00
benthompson15
1eea9f9e47 MCOL-4598: Fix the syslog setup script. Add syslog options for broken/non-syslog setup. 2021-04-29 16:34:53 -05:00
Roman Nozdrin
757f8d00a5 A plugable PoorManProfiler singleton 2021-04-14 10:54:46 +00:00
Roman Nozdrin
b09f3088ca MCOL-641 Initial version of Math operations for wide decimal. 2020-11-18 13:47:44 +00:00
Roman Nozdrin
cd48df99e5 MCOL-4368 Unified exceptions handling code in dbcon/joblist 2020-10-21 18:17:32 +00:00
Jose
98abf95eae MCOL-3991 MCS is now single package and properly uninstalls 2020-05-12 13:36:24 +00:00
Gagan Goel
c98e553daa Merge pull request #1160 from mariadb-corporation/MCOL-3941
MCOL-3941 Ninja now builds MCS.
2020-04-20 21:56:19 -04:00
Roman Nozdrin
6f3ae1b429 MCOL-3941 Ninja now builds MCS.
Generated files in utils/loggingcpp/ are now moved into bin dir.
2020-04-20 13:35:30 +00:00
Roman Nozdrin
ab2003baaa MCOL-3903 Enable Select Handler to run query part of INSERT..SELECT.
Original SH implementation sends the result set back to the client
thus it can't be used in INSERT..SELECT, SELECT INTO OUTFILE,CREATE
TABLE AS SELECT etc.
CLX-77 feature has been backported into MDB to enable SH to run
query part of the mentioned queries.
2020-04-07 09:17:05 +00:00
Sergei Golubchik
586391e1ca compilation failure
error: reference to 'mutex' is ambiguous
note: candidates are: 'class boost::mutex'
note:                 'class std::mutex'
2019-12-19 18:13:39 +01:00
Andrew Hutchings
7489d0bfd0 MCOL-3625 Rename packages
Rename packages to MariaDB-columnstore-engine, MariaDB-columnstore-libs
and MariaDB-columnstore-platform.

Also add the "columnstore-" prefix the the components so that MariaDB's
packaging system understands then and add a line to include them in
MariaDB's packaging.

In addition
* Fix S3 building for dist source build
* Fix Debian 10 dependency issue
* Fix git handling for dist builds
* Add support for MariaDB's RPM building
* Use MariaDB's PCRE and readline
* Removes a few dead files
* Fix Boost noncopyable includes
2019-12-04 11:04:39 +00:00
Andrew Hutchings
a8cd34f86d Add support for building from server 2019-12-03 21:21:28 +00:00
Jose Rojas
a69d0ac895 MCOL 3557 Related. Syntactical Bug Fix 2019-10-24 20:14:42 +00:00
Andrew Hutchings
20c1949152 Replication improvements
This patch fixes:

MCOL-3557 - Row Based Replication events to ColumnStore tables will no
longer cause MariaDB to crash, it will error instead.

MCOL-3556 - Remove the Columnstore.xml variable to turn on ColumnStore
tables applying replication events and instead make it a system variable
that can be set in my.cnf called "columnstore_replication_slave". This
allows it to be set per-UM.
2019-10-14 11:54:48 +01:00
benthompson15
24e1c3ff2d Merge pull request #855 from mariadb-corporation/move-etc
Move config files
2019-09-09 15:54:30 -05:00
Andrew Hutchings
97bda78c3b Move config files
This patch:

* Moves config files from /usr/local/mariadb/columnstore/etc to
ENGINE_SYSCONFDIR/columnstore (ENGINE_SYSCONFDIR is /etc by default)
* Sets a define called MCSSYSCONFDIR whic contains the
ENGINE_SYSCONFDIR compile time setting
* Modifies scripts and code to use the new paths
* Removes a whole bunch of files we don't use
2019-09-09 14:13:56 +01:00
Andrew Hutchings
3fef0f21d3 Remove vpj files
They shouldn't be here
2019-09-05 17:38:03 +01:00
Roman Nozdrin
b1bc995420 Merge branch 'develop' into remove-infinidb 2019-08-13 12:32:01 +03:00
Andrew Hutchings
9d83b49fca MCOL-104 First pass of InfiniDB rename in code 2019-08-12 09:41:28 +01:00
Patrick LeBlanc
a09a9d5d0f Mass substitution 'Corporaton' -> 'Corporation' 2019-08-07 14:43:25 -05:00
Andrew Hutchings
020b211bb7 Merge branch 'develop-1.2' into develop-merge-up-20190514 2019-05-14 13:58:33 +01:00
Patrick LeBlanc
cbbf267e88 MCOL-537, cleanup compiler warnings. Checkpointing a bunch of fixes.
Work in progress...
2019-04-29 10:56:48 +03:00
David Mott
e65f80f493 delete visual c++ project files. cmake can generate these if needed 2019-04-25 23:35:03 -05:00
David Mott
40194c2f3c remove unnecessary build target 2019-04-25 22:58:17 -05:00
David Mott
55acbf8c5c permit execution of scripts when source is located on a non-executable file system 2019-04-25 22:15:51 -05:00
David Hall
ea70806e93 MCOL-1201 Add support for UDAF multiple parm constants 2018-06-05 14:10:04 -05:00
Andrew Hutchings
01446d1e22 Reformat all code to coding standard 2017-10-26 17:18:17 +01:00
Andrew Hutchings
3330495a2e MCOL-777 Cleanup source
Clean out autotools and some other things from the source tree.
2017-08-07 15:59:56 +01:00
David Hall
bc2a4e7795 MCOL-523 Add UDAF and UDAnF SDK 2017-08-02 11:22:07 -05:00
David Hall
a3c4503bc9 MCOL-597 stabilization 2017-04-21 09:47:56 -05:00
david hill
04bdb60fff more merges from 1.0.8 2017-03-28 14:17:17 -05:00
David Hall
61404b0f47 MessageID 104 is used during install. It needs a parameter. 2016-11-14 14:21:33 -06:00
Ben Thompson
d0e9cde782 MCOL-98: Added error message for functions returning out of range values. 2016-10-10 16:52:47 -05:00
Ben Thompson
7d3cd26af9 MCOL-160 MCOL-262 CMake Build Fixes for out-of-tree builds and engine RPMS 2016-09-22 10:14:18 -04:00
Ben Thompson
b43e086ef3 cmake fixes for generated files errorids.h and messageids.h 2016-08-15 11:13:38 -05:00
Ben Thompson
392d6df495 Merge branch 'mcol-159' into develop
Conflicts:
	1
	Makefile.save
	autom4te.cache/output.0
	autom4te.cache/traces.0
	autom4te.cache/traces.1
	compile
	config.guess
	config.sub
	configure.save
	dbcon/Makefile.in
	dbcon/ddlpackage/Makefile.in
	dbcon/ddlpackage/ddl-scan.cpp
	dbcon/ddlpackageproc/Makefile.in
	dbcon/dmlpackage/Makefile.in
	dbcon/dmlpackage/dml-scan.cpp
	dbcon/dmlpackageproc/Makefile.in
	dbcon/execplan/Makefile.in
	dbcon/joblist/Makefile.in
	dbcon/mysql/Makefile.in
	ddlproc/Makefile.in
	decomsvr/Makefile.in
	depcomp
	dmlproc/Makefile.in
	exemgr/Makefile.in
	install-sh
	missing
	net-snmp/Makefile.in
	net-snmp/net-snmp-5.7.3/agent/mibgroup/mib_module_includes.h
	net-snmp/net-snmp-5.7.3/configure-summary
	net-snmp/net-snmp-5.7.3/dist/generation-scripts/gen-variables
	net-snmp/net-snmp-5.7.3/include/net-snmp/agent/mib_module_config.h
	net-snmp/net-snmp-5.7.3/mk/MODULE_LIST.mk
	net-snmp/net-snmp-5.7.3/mk/mib_module_list_c.mk
	net-snmp/net-snmp-5.7.3/mk/mib_module_list_code.mk
	net-snmp/net-snmp-5.7.3/mk/mib_module_list_ft.mk
	net-snmp/net-snmp-5.7.3/mk/mib_module_list_lo.mk
	net-snmp/net-snmp-5.7.3/mk/mib_module_list_o.mk
	net-snmp/net-snmp-5.7.3/mk/mibgroup_list_ft.mk
	net-snmp/net-snmp-5.7.3/mk/mibgroup_list_lo.mk
	net-snmp/net-snmp-5.7.3/mk/mibgroup_list_o.mk
	net-snmp/net-snmp-5.7.3/mk/module_list_c.mk
	net-snmp/net-snmp-5.7.3/mk/module_list_code.mk
	net-snmp/net-snmp-5.7.3/mk/module_list_ft.mk
	net-snmp/net-snmp-5.7.3/mk/module_list_lo.mk
	net-snmp/net-snmp-5.7.3/mk/module_list_o.mk
	oam/Makefile.in
	oam/cloud/Makefile.in
	oam/etc/Makefile.in
	oam/oamcpp/Makefile.in
	oam/post/Makefile.in
	oamapps/Makefile.in
	oamapps/calpontDB/Makefile.in
	oamapps/calpontSupport/Makefile.in
	oamapps/columnstoreDB/Makefile.in
	oamapps/columnstoreSupport/Makefile.in
	oamapps/mcsadmin/Makefile.in
	oamapps/postConfigure/Makefile.in
	oamapps/sendtrap/Makefile.in
	oamapps/serverMonitor/Makefile.in
	oamapps/sessionWalker/Makefile.in
	oamapps/traphandler/Makefile.in
	primitives/Makefile.in
	primitives/blockcache/Makefile.in
	primitives/linux-port/Makefile.in
	primitives/primproc/Makefile.in
	procmgr/Makefile.in
	procmon/Makefile.in
	snmpd/Makefile.in
	snmpd/etc/Makefile.in
	snmpd/snmpmanager/Makefile.in
	tools/Makefile.in
	tools/clearShm/Makefile.in
	tools/cleartablelock/Makefile.in
	tools/configMgt/Makefile.in
	tools/cplogger/Makefile.in
	tools/dbbuilder/Makefile.in
	tools/dbloadxml/Makefile.in
	tools/ddlcleanup/Makefile.in
	tools/editem/Makefile.in
	tools/getConfig/Makefile.in
	tools/idbmeminfo/Makefile.in
	tools/setConfig/Makefile.in
	tools/viewtablelock/Makefile.in
	utils/Makefile.in
	utils/batchloader/Makefile.in
	utils/boost_idb/Makefile.in
	utils/cacheutils/Makefile.in
	utils/common/Makefile.in
	utils/compress/Makefile.in
	utils/configcpp/Makefile.in
	utils/dataconvert/Makefile.in
	utils/ddlcleanup/Makefile.in
	utils/funcexp/Makefile.in
	utils/idbdatafile/Makefile.in
	utils/idbhdfs/Makefile.in
	utils/idbhdfs/hdfs-12/Makefile.in
	utils/idbhdfs/hdfs-20/Makefile.in
	utils/jemalloc/Makefile.in
	utils/joiner/Makefile.in
	utils/loggingcpp/Makefile.in
	utils/messageqcpp/Makefile.in
	utils/mysqlcl_idb/Makefile.in
	utils/querystats/Makefile.in
	utils/querytele/Makefile.in
	utils/rowgroup/Makefile.in
	utils/rwlock/Makefile.in
	utils/startup/Makefile.in
	utils/threadpool/Makefile.in
	utils/thrift/Makefile.in
	utils/udfsdk/Makefile.in
	utils/windowfunction/Makefile.in
	utils/winport/Makefile.in
	versioning/BRM/Makefile.in
	versioning/Makefile.in
	writeengine/Makefile.in
	writeengine/bulk/Makefile.in
	writeengine/client/Makefile.in
	writeengine/dictionary/Makefile.in
	writeengine/index/Makefile.in
	writeengine/redistribute/Makefile.in
	writeengine/server/Makefile.in
	writeengine/shared/Makefile.in
	writeengine/splitter/Makefile.in
	writeengine/wrapper/Makefile.in
2016-08-10 16:24:51 -05:00
david hill
af051987a6 change the syslogSetup test id number 2016-08-02 08:56:19 -05:00
David Hall
5053716521 MCOL-66 change error text for ERR_TABLE_LOCKED to accept operation name. 2016-07-28 09:25:49 -05:00
david hill
edb55cf23a mcol-5 save files 2016-07-19 10:46:58 -05:00
Ben Thompson
3933982f3c make installed scripts executable 2016-07-15 10:49:58 -05:00
Ben Thompson
934920d73e Changes to how source generating scripts are called from cmakelists 2016-07-15 10:49:57 -05:00
Ben Thompson
424628349b Add CMake build tree files 2016-07-15 10:49:57 -05:00