From: Date: December 8 2006 8:28pm Subject: Re: InnoDB: lock_clust_rec_read_check_and_lock() List-Archive: http://lists.mysql.com/internals/34168 Message-Id: <1d41d2510612081128g24ac4309qdb35c66b328a04d4@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Hi Heikki: I have filed the bug though mysql: http://bugs.mysql.com/bug.php?id=24919 I will mark that one as a duplicate of this one. Thanks, Wei On 12/8/06, Heikki Tuuri wrote: > Wei, > > I have now filed http://bugs.mysql.com/bug.php?id=24910 > about this. > > Thank you, > > Heikki > > Heikki Tuuri wrote: > > Wei, > > > > the intention lock is required: always when InnoDB sets an S-lock on a > > record, there must be an IS-lock on the table. > > > > Please file an InnoDB bug report to http://bugs.mysql.com > > > > Please describe precisely how you compiled mysqld. Please show the > > output from the crash. > > > > Best regards, > > > > Heikki > > > > > > ################### > > > > List: MySQL Internals > > From: Wei Li Date: December 6 2006 12:26am > > Subject: Re: InnoDB: lock_clust_rec_read_check_and_lock() > > > > Get Plain Text > > > > More information about the crash: > > . it can be reproduced on 4.1.21 with debug build > > . --default-storage-engine=innodb and > > --transaction-isolation=READ-COMMITTED > > need to be set on the slave side for rpl00001 to reproduce the crash > > . it fails in "insert into t3 select get_lock('crash_lock%20C', 1) > > from t2" when it expects > > IS lock should be held on the row in table t2 > > > > Thanks, > > Wei > > > > On 12/5/06, Wei Li wrote: > > > Hi, > > > > > > I wonder whether the intention lock check in > > > lock_clust_rec_read_check_and_lock() is really needed: > > > > > > > > -------------------------------------------------------------------------------------------------- > > > > > ut_ad(mode != LOCK_X > > > || lock_table_has(thr_get_trx(thr), index->table, > > LOCK_IX)); > > > ut_ad(mode != LOCK_S > > > || lock_table_has(thr_get_trx(thr), index->table, > > LOCK_IS)); > > > > > > if (!page_rec_is_supremum(rec)) { > > > > > > lock_rec_convert_impl_to_expl(rec, index); > > > } > > > > > > > > --------------------------------------------------------------------------------------------------- > > > > > > > > If I enable innodb and read commited mode in the slave, mysql test > > > rpl000001 crashes in > > > debug model. But, it works fine in optimized mode. > > > > > > Thanks, > > > Wei > > > > > >