Bug #18174 Memory leak on update with big NOT IN ().
Submitted: 13 Mar 2006 0:29 Modified: 13 Mar 2006 5:56
Reporter: Dimitrij HIlt Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server Severity:S2 (Serious)
Version:5.0.19-standard-log/Oficial tarball OS:Linux (Debian/Gnu ia32/2.4.32)
Assigned to: CPU Architecture:Any

[13 Mar 2006 0:29] Dimitrij HIlt
Description:
Server needs lot of memory, swap and dies if anybody run query with lot of parameters causes on defekt web software. Sample query is attached.

How to repeat:
1)Create table:
| phpbb_search_results | CREATE TABLE `phpbb_search_results` (
  `search_id` int(11) unsigned NOT NULL default '0',
  `session_id` varchar(32) collate latin1_german2_ci NOT NULL default '',
  `search_array` text collate latin1_german2_ci NOT NULL,
  PRIMARY KEY  (`search_id`),
  KEY `session_id` (`session_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci ROW_FORMAT=DYNAMIC |

2) Insert any rows:
mysql> show table status like 'phpbb_search_results'\G
*************************** 1. row ***************************
           Name: phpbb_search_results
         Engine: MyISAM
        Version: 10
     Row_format: Dynamic
           Rows: 2
 Avg_row_length: 288
    Data_length: 576
Max_data_length: 281474976710655
   Index_length: 3072
      Data_free: 0
 Auto_increment: NULL
    Create_time: 2006-02-20 10:54:44
    Update_time: 2006-03-13 01:19:43
     Check_time: 2006-03-12 14:27:11
      Collation: latin1_german2_ci
       Checksum: NULL
 Create_options: row_format=DYNAMIC
        Comment: 
1 row in set (0.00 sec)

3) Apply query from attachment and Mysql needs 1,9 GB RAM.
[13 Mar 2006 0:39] Dimitrij HIlt
Thist query is too big for Attachment ( 283k as bzip2 ). You can create such query with:
SELECT * FROM phpbb_search_results WHERE session_id NOT IN ('54599a6f9dabef163ed903' .....repeate 16500 ... '54599a6f9dabef163ed903');

Dimi
[13 Mar 2006 5:56] Hartmut Holzgraefe
duplicate of bug #15872