From: MARK CALLAGHAN Date: July 6 2011 6:00pm Subject: Re: "OS thread id" removed List-Archive: http://lists.mysql.com/internals/38355 Message-Id: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable It is all private. I can't get any details about Bug 12323643 from the support site. On Wed, Jul 6, 2011 at 10:59 AM, MARK CALLAGHAN wrote: > > It is all private. I can't get any details about=A0=A0Bug 12323643 from t= he support site. > On Wed, Jul 6, 2011 at 10:51 AM, Kristian Nielsen wrote: >> >> ghazel@stripped writes: >> >> > The "OS thread id" section of TRANSACTION output from "SHOW ENGINE >> > INNODB STATUS" appears to have been removed. There was no changelog >> > entry for this that I could find, and Launchpad only has this >> > unhelpful "merge from trunk" commit message with a huge pile of other >> > unrelated changes: >> > http://bazaar.launchpad.net/~mysql/mysql-server/mysql-trunk/revision/3= 071 >> > >> > First off, where can I find a real commit message? >> >> =A0 =A0bzr branch lp:mysql-server >> =A0 =A0bzr log -p --show-ids -rrevid:marko.makela@stripped= 843-dr6mbq0wokqdxl9m >> >> revno: 3356 >> revision-id: marko.makela@stripped >> parent: vasil.dimov@stripped >> committer: Marko M=E4kel=E4 >> branch nick: 5.5-innodb >> timestamp: Tue 2011-04-05 10:18:43 +0300 >> message: >> =A0Bug 12323643 - CLEAN UP THE INNODB THREAD SHUTDOWN AND ASSERTIONS (WL= #5136) >> >> =A0Remove most references to thread id in InnoDB. Three references >> =A0remain: the current holder of a mutex, and the current x-lock holder >> =A0of a rw-lock, and some references in UNIV_SYNC_DEBUG checks. This >> =A0allows MySQL to change the thread associated to a client connection. >> >> =A0Tighten the UNIV_SYNC_DEBUG checks, trying to ensure that no InnoDB >> =A0mutex or x-lock is being held when returning control to MySQL. The >> =A0only semaphore that may be held is the btr_search_latch in shared mod= e. >> >> =A0sync_thread_levels_empty_except_dict(): A wrapper for >> =A0sync_thread_levels_empty_gen(TRUE). >> >> =A0sync_thread_levels_nonempty_trx(): Check that the current thread is >> =A0not holding any InnoDB semaphores, except btr_search_latch if >> =A0trx->has_search_latch. >> >> =A0sync_thread_levels_empty(): Unused function; remove. >> >> =A0trx_t: Remove mysql_thread_id and mysql_process_no. >> >> =A0srv_slot_t: Remove id and handle. >> >> =A0row_search_for_mysql(), srv_conc_enter_innodb(), >> =A0srv_conc_force_enter_innodb(), srv_conc_force_exit_innodb(), >> =A0srv_conc_exit_innodb(), srv_suspend_mysql_thread: Assert >> =A0!sync_thread_levels_nonempty_trx(). >> >> =A0rb:634 approved by Sunny Bains >> >> I do not know if there is a way to get this directly from Launchpad, pro= bably not. >> >> > Second, is there no >> > way to get the OS thread id now? It was very handy when tying MySQL >> > thread id to OS thread id for debugging with gdb. >> >> I don't know of any easy way, it looks like the thread id was removed fr= om the >> data structures. >> >> Note that the bug referenced is in the new internal bug tracker, which i= s not >> accessible. And the WL#5136 is marked private. Welcome to the new style = of >> Open Source development in MySQL ... but maybe an Oracle developer will >> comment, some of them are quite helpful. >> >> If I should guess, this is in preparation of better support for thread p= ool. I >> heard rumours of a (closed-source) thread pool being developed at Oracle= . With >> a good thread pool, different statements in the same transaction can run= in >> different OS threads (or potentially even different parts of a single >> statement), so I guess it no longer makes as much sense to associate a s= ingle >> OS thread ID with a transaction. >> >> Hope this helps, >> >> =A0- Kristian. >> >> -- >> MySQL Internals Mailing List >> For list archives: http://lists.mysql.com/internals >> To unsubscribe: =A0 =A0http://lists.mysql.com/internals?unsub=3Dmdcallag= @gmail.com >> > > > > -- > Mark Callaghan > mdcallag@stripped -- Mark Callaghan mdcallag@stripped