1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-12-21 13:40:58 +03:00
Commit Graph

5453 Commits

Author SHA1 Message Date
Andrew Hutchings
9037dd54d9 Fix RPM building
Changing the module file path cause RPMs to not install due to trying to
create /var/lib and /var
2019-11-14 21:50:29 +00:00
benthompson15
a396b8cb80 Merge pull request #934 from LinuxJedi/MCOL-3613
MCOL-3613 Fix params in columnstore_installer
2019-11-14 19:32:36 +01:00
benthompson15
a7b8185a73 Merge pull request #933 from LinuxJedi/MCOL-3608
MCOL-3608 Add module installer file copy
2019-11-14 19:30:16 +01:00
Ubuntu
23b87f449d MCOL 3597 Fix MCOL 3474 causing regression test failure. New impl for MCOL 3474 2019-11-14 16:56:46 +00:00
benthompson15
a4df25d04d Merge pull request #931 from LinuxJedi/fix-libmarias3
Fix library and storage manager install paths
2019-11-14 16:51:49 +01:00
Andrew Hutchings
494ef36bca MCOL-3613 Fix params in columnstore_installer
Typo in arg count meant that -numBlocksPct and -totalUmMemory were not
processed correctly. Fixed the arg handling.
2019-11-14 15:02:56 +00:00
Andrew Hutchings
25d22381c6 MCOL-3608 Add module installer file copy
Adds back some stuff that was remove distributed that didn't work
properly for non-distributed. Also use /var/lib/columnstore/local
for module file as OAM intended.
2019-11-14 14:40:28 +00:00
Andrew Hutchings
b9708530e2 Fix library and storage manager install paths 2019-11-13 23:34:20 +00:00
David.Hall
0621762378 Merge pull request #932 from LinuxJedi/develop-merge-up-20191113
MCOL-3612 Merge develop-1.2 into develop
2019-11-13 16:26:55 -06:00
Ubuntu
e8837f7137 MCOL-3605 Fix Block Filling 2019-11-13 21:28:04 +00:00
David Hall
11f194b5fe MCOL-3448 Corrected datatype in predicate for RowItem
RowItem compares, such as (c1,c2) IN ((v11, v21), (v12, v22)) gave bad answers due to a typo getting the wrong datatype.
2019-11-13 21:27:24 +00:00
Ubuntu
04b7a6af6c MCOL-2276 Fix 2019-11-13 21:26:53 +00:00
Roman Nozdrin
6571cafb4f Merge pull request #929 from LinuxJedi/move-columnstore
MCOL-3606 Make ColumnStore use generic paths
2019-11-13 12:42:24 +03:00
Andrew Hutchings
8ab9ebb0f4 MCOL-3606 Make ColumnStore use generic paths
ColumnStore now uses standard bin/lib paths for pretty much everything.
Data path is now hard-coded to /var/lib/columnstore.

This patch also:

* Removes v1 decompression
* Removes a bunch of unneeded files
* Removes COLUMNSTORE_INSTALL_DIR / $INSTALLDIR
* Makes my.cnf.d work for all platforms (MCOL-3558)
* Changes configcpp to use recursive mutex (fixes possible config write deadlock)
* Fixes MCOL-3599 Fix regr functions, The library was installed in the wrong location
* Fixes a bunch of Ubuntu packaging issues
* Changes the binary names of several of the executables so as not to
clash with potential executables from other packages
2019-11-09 16:53:05 +00:00
Andrew Hutchings
dea1dec507 Merge pull request #928 from pleblanc1976/path-fix
Fixed a couple paths in the top-level cmakelists file.
2019-11-09 09:32:05 +00:00
Patrick LeBlanc
0c18eb2dd4 Fixed a couple paths in the top-level cmakelists file. 2019-11-08 15:42:45 -05:00
Patrick LeBlanc
6c79c40dc6 Fixed a couple paths in the top-level cmakelists file. 2019-11-08 15:41:33 -05:00
Andrew Hutchings
bd41ffd6cc Merge pull request #925 from drrtuy/MCOL-894_develop_2
MCOL-894 parallel sort + MCOL-3536 UTF-8 aware sorting upmerge from 1.2
2019-11-07 17:26:19 +00:00
Roman Nozdrin
1254f588a7 Merge pull request #921 from LinuxJedi/fix-cs-start
Don't use calpontsys as default db before creation
2019-11-05 21:42:54 +03:00
Patrick LeBlanc
0023277852 Merge pull request #920 from pleblanc1976/newPMjoin
Squash merge of the multithreaded PM hash table construction
2019-11-05 10:08:26 -06:00
Patrick LeBlanc
5ea1320821 boost::atomic -> std::atomic 2019-11-05 10:28:48 -05:00
Roman Nozdrin
0696696cf6 MCOL-894 Upmerged post review changes.
Raised the default for orderby threads from 4 to 16.
    Removed if LIMIT check block in makeVtableModeSteps().
    Removed a duplicate of TimeCompare class and methods.

MCOL-3536 Upmerged the change.

MCOL-894 Post review changes.
    Uncomment if LIMIT check block in makeVtableModeSteps().

    TupleAnnexStep dtor now uses vector::size() as a boundary.

    Removed useless try-catch blocks.

    executeParallelOrderBy() now calculates rowSize only once.

    Removed forward declaration in the unexisting namespace.

    Trim UTs a bit.
2019-11-05 17:23:49 +03:00
Andrew Hutchings
85f25278a2 Don't use calpontsys as default db before creation
We don't need to use calpontsys as the default DB for SHOW ENGINES, it
likely isn't created yet so don't do it.
2019-11-05 14:03:43 +00:00
Roman Nozdrin
7b5e5f0eb6 MCOL-894 Upmerged the fist part of the patch into develop.
MCOL-894 Add default values in Compare and CSEP ctors to activate UTF-8 sorting
    properly.

MCOL-894 Unit tests to build a framework for a new parallel sorting.

MCOL-894 Finished with parallel workers invocation.
     The implementation lacks final aggregation step.

MCOL-894 TupleAnnexStep's init and destructor are now parallel execution aware.

    Implemented final merging step for parallel execution finalizeParallelOrderBy().

    Templated unit test to use it with arbitrary number of rows, threads.

Reuse LimitedOrderBy in the final step

MCOL-894 Cleaned up finalizeParallelOrderBy.

MCOL-894 Add and propagate thread variable that controls a number of threads.

    Optimized comparators used for sorting and add corresponding UTs.

    Refactored TupleAnnexStep::finalizeParallelOrderByDistinct.

    Parallel sorting methods now preallocates memory in batches.

MCOL-894 Fixed comparator for StringCompare.
2019-11-05 15:23:43 +03:00
David Hall
0d2b0e0070 MCOL-3536 check for Japanese and use byte compare if found 2019-11-05 15:22:15 +03:00
David Hall
3b01d5ea22 MCOL-3536 use Locale from columnstore.xml when doing ORDER BY 2019-11-05 15:22:15 +03:00
Patrick LeBlanc
1eaa83d852 Squash merge of the multithreaded PM join code.
Squashed commit of the following:

commit fe4cc375faf1588e30471062f78403e81229cd02
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Fri Nov 1 13:38:11 2019 -0400

    Added some code comments to the new join code.

commit a7a82d093be4db3dfb44d33e4f514fd104b25f71
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Fri Nov 1 13:17:47 2019 -0400

    Fixed an error down a path I think is unused.

commit 4e6c7c266a9aefd54c384ae2b466645770c81a5d
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Fri Nov 1 13:12:12 2019 -0400

    std::atomic doesn't exist in C7, -> boost::atomic.

commit ed0996c3f4548fff0e19d43852d429ada1a72510
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Wed Oct 16 12:47:32 2019 -0500

    Addition to the previous fix (join dependency projection).

commit 97bb806be9211e4688893460437f539c46f3796f
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Tue Oct 15 15:22:09 2019 -0500

    Found and fixed a bad mem access, which may have been there for 8 years.

commit d8b0432d2abd70f28de5276daad758c494e4b04b
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Tue Oct 15 14:04:48 2019 -0500

    Minor optimization in some code I happened to look at.

commit b6ec8204bf71670c7a8882464289e700aa5f7e33
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Tue Oct 15 14:04:11 2019 -0500

    Fixed a compiler warning.

commit 0bf3e5218f71d92460ddc88090e3af77ecf28c35
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Tue Oct 15 10:11:09 2019 -0500

    Undid part of the previous commit.

commit 5dfa1d23980e245c77c1644015b553aa4bcdf908
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Mon Oct 14 18:00:21 2019 -0500

    Proofread the diff vs base, added some comments, removed some debugging stuff.

commit 411fd955ebbae97ddab210a7b17fe5708538001d
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Fri Oct 11 13:55:39 2019 -0500

    If a dev build (SKIP_OAM_INIT), made postConfigure exit before trying
    to start the system, because that won't work.

commit 634b1b8a7340b55fcaee045fd6d00b3e3a9269fa
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Mon Sep 30 14:55:45 2019 -0500

    Reduced crit section of BPP::addToJoiner a little.

commit 31f30c64dd95942f2c7a247cc81feaa5933c1a07
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Wed Sep 18 11:09:27 2019 -0500

    Checkpointing.  make the add joiner stuff free tmp mem quickly.

commit 9b7e788690546af7ddc4c921a0ab441ee9a8df02
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Wed Sep 18 10:38:57 2019 -0500

    Checkpoint.  Removed tmp hardcoding of bucket count.

commit fda4d8b7fb30d0431dc15e473042abb3d8121b19
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Wed Sep 18 10:20:09 2019 -0500

    Checkpoint.  Adjusted unproductive loop wait time.

commit 7b9a67df7d192f240e9e558e6e66c7aa9f1e8687
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Wed Sep 18 10:10:43 2019 -0500

    Checkpointing add'l optimizations.

    If we promote bpp::processorThreads / bucket count to a power of 2, we can
    use a bitmask instead of a mod operation to decide a bucket.

    Also, boosted utilization by not waiting for a bucket lock to become free.
    There are likely more gains to be had there with a smarter strategy.
    Maybe have each thread generate a random bucket access pattern to reduce
    chance of collision.  TBD.

commit abe7dab8661b5120f6ee268abc005dd66cd643e2
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Tue Sep 17 16:15:51 2019 -0500

    Multithreaded PM hash table construction likely works here.

    A couple more fixes.
     - missed a mod after a hash in one place.
     - Made the PoolAllocator thread safe (small degree of performance hit
       there in threaded env).  May need to circle back to the table
       construction code to eliminate contention for the allocators instead.

commit ab308762fbd873dbf246a6d1574223087cd0d5f6
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Tue Sep 17 12:14:14 2019 -0500

    Checkpointing.  Did some initial testing, fixed a couple things.

    Not done testing yet.

commit 3b161d74fa859edb8b5ba84bb905e586ac0586e6
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Tue Sep 17 11:24:55 2019 -0500

    Checkpointing.  First cut of multithreaded PM join table building.

    Builds but is untested.

commit cb7e6e1c2761fc6c33b3b1c6b6cda488d7792bca
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Mon Sep 16 13:03:50 2019 -0500

    Increase the STLPoolAllocator window size to reduce destruction time.

commit b0ddaaae71a0a4959ad15c87579d85ed88e17e1f
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Fri Sep 13 11:52:51 2019 -0500

    Fixed a bug preventing parallel table loading.  works now.

commit b87039604e312c1ddb88cdb226228b1c3addf018
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Thu Sep 12 22:04:15 2019 -0500

    Checkpointing some experimental changes.

     - Made the allocator type used by PM joins the STLPoolAllocator
     - Changed the default chunk size used by STLPoolAlloc based on a few test
        runs
     - Made BPP-JL interleave the PM join data by join # to take advantage
        of new locking env on PM.
     - While I was at it, fixed MCOL-1758.

commit fd4b09cc383d2b96959a8e5ca490c940bacb3d37
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Thu Sep 12 16:03:30 2019 -0500

    Speculative change.  Row estimator was stopping at 20 extents.

    Removed that limitation.

commit 7dcdd5b5455f9ac06121dd3cf1ba722150f3ee56
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Thu Sep 5 09:10:28 2019 -0500

    Inlined some hot simpleallocator fcns.

commit 6d84daceecc5499f6286cf3468c118b8b1d28d8f
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Wed Sep 4 17:02:29 2019 -0500

    Some optimizations to PM hash table creation.

    - made locks more granular.
    - reduced logic per iteration when adding elements.

commit b20bf54ed97c5a0a88d414a4dd844a0afc2e27f3
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Wed Sep 4 15:32:32 2019 -0500

    Reduced granularity of djLock in PrimProc.

commit 6273a8f3c4c62b87ef91c77a829033426e38e4d4
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Wed Sep 4 14:45:58 2019 -0500

    Added a timer to PM hash table construction

    signal USR1 will print cumulative wall time to stdout & reset the timer.
2019-11-01 17:34:33 -04:00
Andrew Hutchings
3e7a964e2a Merge pull request #917 from jmrojas2332/develop
MCOL 3557 Related. Syntactical Bug Fix
2019-10-28 12:40:37 +01:00
Jose Rojas
a69d0ac895 MCOL 3557 Related. Syntactical Bug Fix 2019-10-24 20:14:42 +00:00
Andrew Hutchings
fb2c92a1a3 Merge pull request #915 from jmrojas2332/MCOL-3474
MCOL-3474 TIMEDIFF() returns incorrect result fix
2019-10-18 15:09:24 +01:00
Jose Rojas
46e2701fed MCOL-3474 TIMEDIFF() returns incorrect result fix 2019-10-17 21:19:10 +00:00
Patrick LeBlanc
f7b31d594f Merge pull request #912 from mariadb-corporation/MCOL-3499
MCOL-3499
2019-10-17 15:52:49 -05:00
benthompson15
044ed75176 left out %s in logging message 2019-10-17 15:02:33 -05:00
Roman Nozdrin
fc988a9a99 Merge pull request #907 from LinuxJedi/replication-changes
Replication improvements
2019-10-17 22:51:47 +03:00
benthompson15
ab614da63c MCOL-3499: WriteTask failure was sending 2 responses and fix race between prefixCache::populate and writing new S3 objects. 2019-10-17 14:25:28 -05:00
Roman Nozdrin
c0a5b2bc4d Merge pull request #911 from dhall-MariaDB/MCOL-3518
Mcol 3518
2019-10-17 10:53:25 +03:00
David Hall
6630df3cb2 Revert "MCOL-3536 use Locale for compare of strings in ORDER BY"
This reverts commit b747e9ab92.
2019-10-16 10:20:18 -05:00
David Hall
788d5b4abc Revert "Revert "MCOL-3518 Set number of decimals for regr_avgx and regr_avgy in init.""
This reverts commit d0bb6fddbc.
2019-10-16 10:16:42 -05:00
David Hall
df47f0f32d Revert "MCOL-3536 Use already existing Row:getStringPointer()"
This reverts commit 8f1cc7ad65.
2019-10-16 10:14:10 -05:00
David Hall
d0bb6fddbc Revert "MCOL-3518 Set number of decimals for regr_avgx and regr_avgy in init."
This reverts commit c5cc5f20c9.
2019-10-16 10:08:47 -05:00
David Hall
9c97a794f2 Revert "MCOL-3536 Add collation stuff to IDBSortSpec"
This reverts commit 78c96fc65b.
2019-10-16 10:08:12 -05:00
benthompson15
2fad6a4ed3 Merge pull request #908 from LinuxJedi/proc-fixes
MCOL-3527 Fix stored proc permissions
2019-10-16 09:59:41 -05:00
David Hall
c5cc5f20c9 MCOL-3518 Set number of decimals for regr_avgx and regr_avgy in init. 2019-10-16 09:42:25 -05:00
benthompson15
f93c3f5d9c Merge pull request #904 from LinuxJedi/plugin-load
MCOL-3551 Use generic MariaDB Server paths
2019-10-14 14:33:09 -05:00
Patrick LeBlanc
b952135bcd Merge pull request #899 from mariadb-corporation/MCOL-3357-new
MCOL-3357: SM config change listener
2019-10-14 09:29:12 -05:00
Andrew Hutchings
ce9fffe0ac MCOL-3527 Fix stored proc permissions
Due to the new way our stored procedures are installed the DEFINER needs
to be set. Otherwise they are impossible to execute.
2019-10-14 13:09:39 +01: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
Andrew Hutchings
8476c81255 Merge pull request #905 from dhall-MariaDB/MCOL-3503
MCOL-3503 Use long double arithmetic for tie breaking to avoid intege…
2019-10-13 09:47:56 +01:00
Andrew Hutchings
3e9e1a844c Merge pull request #906 from pleblanc1976/develop
If a dev build (SKIP_OAM_INIT), made postConfigure exit before trying
2019-10-13 09:46:53 +01:00
Andrew Hutchings
ebb22a96a3 MCOL-3551 Use generic MariaDB Server paths
This branch enforces the use of generic MariaDB server paths for their
binaries and data rather than custom paths.

/usr/local/mariadb/columnstore is now only for columnstore with this
patch.

It should be noted that this removes the auto-mounting of external
MariaDB UM data storage for AWS.

This is also a fix for MCOL-3510 after buildbot changes are made.

Also... MCOL-3552 Use columnstore.cnf to load plugins

The ColumnStore plugins now load using a columnstore.cnf instead of a
SQL sequence to be more in-line with MariaDB's methods.
2019-10-13 09:34:37 +01:00