Bug #67944 Please give a message for "thread_concurrency doesn’t do what you expect"
Submitted: 18 Dec 2012 23:36 Modified: 1 Oct 2013 16:02
Reporter: Jackie Zhang Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Errors Severity:S3 (Non-critical)
Version:5.5 OS:Any
Assigned to: Ståle Deraas CPU Architecture:Any

[18 Dec 2012 23:36] Jackie Zhang
Description:
"Over the last months I’ve seen lots of customers trying to tune the thread concurrency inside MySQL with the variable thread_concurrency. Our advice is: stop wasting your time, it does nothing on GNU/Linux."
(http://www.mysqlperformanceblog.com/2012/06/04/thread_concurrency-doesnt-do-what-you-expec...)

Unfortunately, I was one of them. I was really confused by the option, and it is not easy to test. Users usually have expectations when specifying some configurations. When the server behavior does not match the expectation, they get confused especially there is no system log. 

I wonder why not add a log message saying something like "this variable is deprecated" or "It only works on old Solaris versions < 9", when users are setting "thread_concurrency"? This should be very easy for developers but will definitely save a lot of users' time if we consider how many users and posts are for this confusion:

http://lists.mysql.com/mysql/208850
http://serverfault.com/questions/216180/mysql-is-not-using-multiple-cpus
http://hbalagtas.0fees.net/blog/2010/07/22/optimizing-mysql-thread_concurrency/
http://www.webhostingtalk.com/showthread.php?t=744113
http://www.webhostingtalk.com/showthread.php?t=598019

How to repeat:
Simply set the configuration in my.cnf
thread_concurrency=8

Suggested fix:
For backward compatibility reasons, we do not need to completely delete the directive (that is what #55001 about: http://bugs.mysql.com/bug.php?id=55001)

Could you please add a warning message to explicitly tell users that this is a deprecated configuration, or it has no effect, in the style of the following one for "thread_stack"?

"121218 14:37:07 [Warning] option 'thread_stack': unsigned value 125000 adjusted to 131072"
[19 Dec 2012 7:37] Erlend Dahl
The variable thread_concurrency has been deprecated as of 5.6.1. The message is 

  "Permits the application to give the threads system a hint for the desired
   number of threads that should be run at the same time. This variable has no 
   effect, and is deprecated. It will be removed in a future release."
[19 Dec 2012 20:19] Jackie Zhang
Dear Erlend,

Glad to know it's fixed in the newest version. Shall we add the same patch to MySQL 5.5 since 5.6 is not a GA release, isn't it? 

Best regards,
Jackie
[21 Dec 2012 4:47] Erlend Dahl

 
[21 Dec 2012 4:51] Erlend Dahl
I have transferred this as internal bug#16032946 and assigned to the appropriate team for evaluation.
[22 Dec 2012 7:14] Jackie Zhang
sounds great! Thanks, Erlend!

Best regards,
Jackie
[1 Oct 2013 16:02] Paul DuBois
Noted in 5.5.35 changelog.

Attempts to use the thread_concurrency system variable (which has an
effect only for Solaris 8 and earlier) now indicate that it has no
effect when that is the case.
[4 Dec 2013 9:07] Laurynas Biveinis
5.5$ bzr log -r 4466
------------------------------------------------------------
revno: 4466
committer: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
branch nick: mysql-5.5-16032946
timestamp: Thu 2013-09-05 13:40:27 +0530
message:
  BUG#16032946 - PLEASE GIVE A MESSAGE FOR "THREAD_CONCURRENCY DOESN'T
                 DO WHAT YOU EXPECT"
  
  Fix info:
  --------
  
  Backport of the deprecation bug fix (WL#5265) for global variable
  'THREAD_CONCURRENCY' from mysql-5.6 to mysql-5.5
  
  Note: With this backport, certain additional deprecation warnings
        would be reported under error conditions while setting the
        global/session variables.