[MCOL-3679] race in Primproc-side hash table construction code Created: 2019-12-17  Updated: 2019-12-27  Resolved: 2019-12-27

Status: Closed
Project: MariaDB ColumnStore
Component/s: None
Affects Version/s: 1.4.1
Fix Version/s: 1.4.2

Type: Bug Priority: Major
Reporter: Patrick LeBlanc (Inactive) Assignee: Daniel Lee (Inactive)
Resolution: Fixed Votes: 0
Labels: None

Sprint: 2019-06

 Description   

Greg found this one doing some benchmarks on large-ish tables.

Occasionally a query involving a join will hang forever.

Looked into it, found it was a race on a counter used to indicate that PrimProc has inserted all of the rows for the small-side tables. Only affects string/compound joins; that is the only kind that modify the counter, and would only happen when there are enough rows s.t. many msgs with the join data are issued and processed at once.

Made the counter an atomic var to eliminate the race.



 Comments   
Comment by Patrick LeBlanc (Inactive) [ 2019-12-17 ]

You'll wake up first, so handing this off to you.

Comment by Daniel Lee (Inactive) [ 2019-12-27 ]

Build verified: Azure build 20191224.6

OS: Centos 7
vCPU: 4
Men: 48 GB

datasets used:

table1: 21 million rows, 62 GB
table2: 75 million rows, 100 GB

Repeatedly executed offending test queries and no hanging issues observed.

Generated at Thu Feb 08 02:44:37 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.