This worklog has been replaced with mariadb.org/jira

This site is here for historical purposes only. Do not add or edit tasks here!

 
 
 

WorkLog Frontpage Log in / Register
High-Level Description | Task Dependencies | High-Level Specification | Low-Level Design | File Attachments | User Comments | Time Estimates | Funding and Votes | Progress Reports

 Backporting pool of threads to MariaDB
Title
Task ID6
Queue
Version
Status
Priority
Copies toMonty

Created byMonty09 Mar 2009Done
Supervisor   
Lead Architect    
Architecture Review  
Implementor 13 Mar 2009
Code Review  
QA 26 Mar 2009
Documentation 26 Mar 2009
 High-Level Description
Back porting pool of threads to MariaDB

We will use code for Maria 6.0, with the following extensions:

Add option: --test-ignore-wrong-options to ignore errors in enum values for
testing pool-of-threads. (Better than having --pool-of-threads command line
option just for testing)
Add option --extra-port to allow connections with old one-thread-per-connection
method.  This is needed to allow root to login and kill threads if something
goes wrong.
Add option --extra-max-connections to regulate how many connections can be made
to 'extra-port'.  This should work in a similar way as 'max-connections', in the
way that one connection is reserved for a SUPER user.
 Task Dependencies
Others waiting for Task 6Task 6 is waiting forGraph
 
 High-Level Specification
 Low-Level Design
To be able to work with both one-thread-per-connection and pool-of-threads at
the same time, I added a new global scheduler variable 'extra_thread_scheduler'
that is always using the one-thread-per-connection method. 

To the THD structure was added a pointer to the 'scheduler' variable that should
be used for this connection.

To do easy handing of two connect counter and two max_connection variables, I
added pointer to these pointer in the scheduler variable.:

Other changes was:

- If extra-port was <> 0, start listing to this port too
- At connect time,  set THD->scheduler to point to the given scheduler (based on
the port that was used to connect)
- Change some calls that was done trough functions pointer in the scheduler to
instead use thd->scheduler->
- Change max_connections to *thd->scheduler->max_connections
- Change connection_count to *thd->scheduler->connection_count
 File Attachments
 NameTypeSizeByDate
 User Comments
 Time Estimates
NameHours WorkedLast Updated
Monty1611 Aug 2009
Total16 
 Hrs WorkedProgressCurrentOriginal
This Task1608
Total1608
 
 Funding and Votes
Votes: 0: 0%
 Make vote: Useless    Nice to have    Important    Very important    

Funding: 0 offers, total 0 Euro
 Progress Reports
(Monty - Tue, 11 Aug 2009, 16:58
    
Done, ages ago
Worked 16 hours and estimate 0 hours remain (original estimate increased by 8 hours).

(Monty - Thu, 26 Mar 2009, 00:32
    
Privacy level updated.
--- /tmp/wklog.6.old.6586	2009-03-26 00:32:23.000000000 +0200
+++ /tmp/wklog.6.new.6586	2009-03-26 00:32:23.000000000 +0200
@@ -1 +1 @@
-y
+n

(Monty - Thu, 26 Mar 2009, 00:31
    
Supervisor updated.
--- /tmp/wklog.6.old.6580	2009-03-26 00:31:30.000000000 +0200
+++ /tmp/wklog.6.new.6580	2009-03-26 00:31:30.000000000 +0200
@@ -1 +1 @@
-Knielsen
+Monty

(Monty - Fri, 13 Mar 2009, 02:43
    
Low Level Design modified.
--- /tmp/wklog.6.old.26076	2009-03-13 02:43:17.000000000 +0200
+++ /tmp/wklog.6.new.26076	2009-03-13 02:43:17.000000000 +0200
@@ -1 +1,20 @@
+To be able to work with both one-thread-per-connection and pool-of-threads at
+the same time, I added a new global scheduler variable 'extra_thread_scheduler'
+that is always using the one-thread-per-connection method. 
+
+To the THD structure was added a pointer to the 'scheduler' variable that should
+be used for this connection.
+
+To do easy handing of two connect counter and two max_connection variables, I
+added pointer to these pointer in the scheduler variable.:
+
+Other changes was:
+
+- If extra-port was <> 0, start listing to this port too
+- At connect time,  set THD->scheduler to point to the given scheduler (based on
+the port that was used to connect)
+- Change some calls that was done trough functions pointer in the scheduler to
+instead use thd->scheduler->
+- Change max_connections to *thd->scheduler->max_connections
+- Change connection_count to *thd->scheduler->connection_count
 

(Monty - Fri, 13 Mar 2009, 02:29
    
Version updated.
--- /tmp/wklog.6.old.25818	2009-03-13 02:29:16.000000000 +0200
+++ /tmp/wklog.6.new.25818	2009-03-13 02:29:16.000000000 +0200
@@ -1 +1 @@
-Server-9.x
+Server-5.1

(Monty - Fri, 13 Mar 2009, 02:29
    
Status updated.
--- /tmp/wklog.6.old.25818	2009-03-13 02:29:16.000000000 +0200
+++ /tmp/wklog.6.new.25818	2009-03-13 02:29:16.000000000 +0200
@@ -1 +1 @@
-Assigned
+Complete

(Monty - Fri, 13 Mar 2009, 02:28
    
High Level Description modified.
--- /tmp/wklog.6.old.25790	2009-03-13 02:28:25.000000000 +0200
+++ /tmp/wklog.6.new.25790	2009-03-13 02:28:25.000000000 +0200
@@ -8,3 +8,6 @@
 Add option --extra-port to allow connections with old one-thread-per-connection
 method.  This is needed to allow root to login and kill threads if something
 goes wrong.
+Add option --extra-max-connections to regulate how many connections can be made
+to 'extra-port'.  This should work in a similar way as 'max-connections', in the
+way that one connection is reserved for a SUPER user.

(Knielsen - Mon, 09 Mar 2009, 19:02
    
Version updated.
--- /tmp/wklog.6.old.10740	2009-03-09 19:02:38.000000000 +0200
+++ /tmp/wklog.6.new.10740	2009-03-09 19:02:38.000000000 +0200
@@ -1 +1 @@
-WorkLog-3.4
+Server-9.x

(Knielsen - Mon, 09 Mar 2009, 19:02
    
Title modified.
--- /tmp/wklog.6.old.10740	2009-03-09 19:02:38.000000000 +0200
+++ /tmp/wklog.6.new.10740	2009-03-09 19:02:38.000000000 +0200
@@ -1 +1 @@
-Backporting pool of threads tro MariaDB
+Backporting pool of threads to MariaDB


Report Generator:
 
Saved Reports:

WorkLog v4.0.0
  © 2010  Sergei Golubchik and Monty Program AB
  © 2004  Andrew Sweger <yDNA@perlocity.org> and Addnorya
  © 2003  Matt Wagner <matt@mysql.com> and MySQL AB