[MCOL-4927] DDLProc can be rendered useless Created: 2021-11-17  Updated: 2022-01-19  Resolved: 2021-12-17

Status: Closed
Project: MariaDB ColumnStore
Component/s: DMLProc
Affects Version/s: 6.2.2
Fix Version/s: 6.2.3

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

Sprint: 2021-16

 Description   

A simple connect to the DDLProc port can render the process useless:

curl -v telnet://cs1:8612

Which causes this error:

root@cs1:/tmp$ mysql -s
MariaDB [(none)]> create table inventory.t(col1 varchar(100)) engine=columnstore;
ERROR 1815 (HY000): Internal error: Lost connection to DDLProc
MariaDB [(none)]>

For more details, and reason this can be important for all customers, please refer to CS0346013.



 Comments   
Comment by Roman [ 2021-12-16 ]

4QA The patch changes the way we read data from socket. Previously DMLProc thread synchronously wait for some data to appear in the socket and this read call can last forever. Now DMLProc logs an error, closes the socket and proceeds.

Comment by Daniel Lee (Inactive) [ 2021-12-17 ]

Build verified: 6.2.3-1 (#3561)

Reproduced the reported issues in 6.2.2
After telnet made the connection, DDL would failed as reported. It would continue to fail, even after telnet connection has been terminated

With the new build, DDL would wait while the telnet connection is live. After telnet connection has been terminated, DDL would work.

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