| Bug #39711 | Running falcon_bug_34351_C shows increasing memory usage | ||
|---|---|---|---|
| Submitted: | 28 Sep 2008 15:54 | Modified: | 9 Jan 2009 13:25 | 
| Reporter: | Hakan Küçükyılmaz | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Falcon storage engine | Severity: | S2 (Serious) | 
| Version: | 6.0-falcon-team, 6.0.8-bzr | OS: | Any | 
| Assigned to: | Christopher Powers | CPU Architecture: | Any | 
| Tags: | F_INDEX | ||
   [28 Sep 2008 15:54]
   Hakan Küçükyılmaz        
  
 
   [28 Sep 2008 16:31]
   Hakan Küçükyılmaz        
  Memory usage details after eleven runs: hakan@lu0011:~/work/mysql/mysql-6.0-falcon-team-local-master$ while (true); do echo "select file, line, space_in_use from information_schema.falcon_system_memory_detail order by space_in_use desc limit 10" | mysql -uroot -P9306 -h127.0.0.1 test ; sleep 10; done file line space_in_use Index.cpp 277 613989376 SerialLog.cpp 869 37475328 TransactionManager.cpp 136 24729792 SerialLog.cpp 190 20972064 Cache.cpp 152 4198432 Transaction.cpp 169 2482816 TransactionManager.cpp 129 2453888 Cache.cpp 939 2048064 DeferredIndex.cpp 98 524928 Cache.cpp 140 417832 file line space_in_use Index.cpp 277 652807168 TransactionManager.cpp 136 73862272 SerialLog.cpp 869 46433280 SerialLog.cpp 190 20972064 Transaction.cpp 169 7454112 TransactionManager.cpp 129 7325184 Cache.cpp 152 4198432 Cache.cpp 939 2048064 DeferredIndex.cpp 98 524928 Cache.cpp 140 417832 file line space_in_use Index.cpp 277 682689280 TransactionManager.cpp 136 111413568 SerialLog.cpp 869 33787776 SerialLog.cpp 190 20972064 Transaction.cpp 169 11264896 TransactionManager.cpp 129 11059520 Cache.cpp 152 4198432 Cache.cpp 939 2048064 DeferredIndex.cpp 98 524928 Cache.cpp 140 417832
   [28 Sep 2008 16:33]
   Valeriy Kravchuk        
  Verified with 6.0.8 from bzr also:
openxs@suse:/home2/openxs/dbs/6.0/mysql-test> ./mysql-test-run --force --mem --skip-ndb --suite=falcon falcon_bug_34351_C  falcon_bug_34351_C  falcon_bug_34351_C  falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C
Logging: ./mysql-test-run --force --mem --skip-ndb --suite=falcon falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C falcon_bug_34351_C
MySQL Version 6.0.8
Using dynamic switching of binlog format
Using tmpfs in /dev/shm
Skipping ndbcluster
Setting mysqld to support SSL connections
Binaries are debug compiled
Using MTR_BUILD_THREAD      = 0
Using MASTER_MYPORT         = 9306
Using MASTER_MYPORT1        = 9307
Using SLAVE_MYPORT          = 9308
Using SLAVE_MYPORT1         = 9309
Using SLAVE_MYPORT2         = 9310
Killing Possible Leftover Processes
Removing Stale Files
Creating Directories
Symlinking 'var' to '/dev/shm/var'
Installing Master Database
Saving snapshot of installed databases
=======================================================
TEST                           RESULT         TIME (ms)
-------------------------------------------------------
falcon.falcon_bug_34351_C      [ pass ]          52905
falcon.falcon_bug_34351_C      [ pass ]          58634
falcon.falcon_bug_34351_C      [ pass ]          72359
falcon.falcon_bug_34351_C      [ pass ]          78257
falcon.falcon_bug_34351_C      [ pass ]          74488
falcon.falcon_bug_34351_C      [ pass ]          79137
falcon.falcon_bug_34351_C      [ pass ]          89919
mysql-test-run: WARNING: got INT signal, cleaning up.....
Stopping All Servers
mysql-test-run: *** ERROR: We die from ^C signal from user
At the same time free shows:
openxs@suse:/home2/openxs/dbs/5.1> free -s 30 | tee free.log
             total       used       free     shared    buffers     cached
Mem:        256300     252864       3436          0        472      26952
-/+ buffers/cache:     225440      30860
Swap:       514040     278832     235208
             total       used       free     shared    buffers     cached
Mem:        256300     252620       3680          0        540      20840
-/+ buffers/cache:     231240      25060
Swap:       514040     314544     199496
             total       used       free     shared    buffers     cached
Mem:        256300     252808       3492          0        592      23808
-/+ buffers/cache:     228408      27892
Swap:       514040     322904     191136
             total       used       free     shared    buffers     cached
Mem:        256300     252592       3708          0        420      28148
-/+ buffers/cache:     224024      32276
Swap:       514040     351212     162828
             total       used       free     shared    buffers     cached
Mem:        256300     252740       3560          0        400      22136
-/+ buffers/cache:     230204      26096
Swap:       514040     349460     164580
             total       used       free     shared    buffers     cached
Mem:        256300     252764       3536          0        592      22492
-/+ buffers/cache:     229680      26620
Swap:       514040     390500     123540
             total       used       free     shared    buffers     cached
Mem:        256300     252028       4272          0        496      27264
-/+ buffers/cache:     224268      32032
Swap:       514040     399624     114416
             total       used       free     shared    buffers     cached
Mem:        256300     252608       3692          0        332      19984
-/+ buffers/cache:     232292      24008
Swap:       514040     429276      84764
             total       used       free     shared    buffers     cached
Mem:        256300     252280       4020          0        500      22732
-/+ buffers/cache:     229048      27252
Swap:       514040     432972      81068
             total       used       free     shared    buffers     cached
Mem:        256300     252724       3576          0        388      18136
-/+ buffers/cache:     234200      22100
Swap:       514040     455104      58936
             total       used       free     shared    buffers     cached
Mem:        256300     252032       4268          0        356      17856
-/+ buffers/cache:     233820      22480
Swap:       514040     463624      50416
             total       used       free     shared    buffers     cached
Mem:        256300     252096       4204          0        600      19572
-/+ buffers/cache:     231924      24376
Swap:       514040     484244      29796
             total       used       free     shared    buffers     cached
Mem:        256300     253224       3076          0        388      21872
-/+ buffers/cache:     230964      25336
Swap:       514040     490240      23800
             total       used       free     shared    buffers     cached
Mem:        256300     252584       3716          0        336      18404
-/+ buffers/cache:     233844      22456
Swap:       514040     507908       6132
             total       used       free     shared    buffers     cached
Mem:        256300     252380       3920          0        496      23288
-/+ buffers/cache:     228596      27704
Swap:       514040     507552       6488
             total       used       free     shared    buffers     cached
Mem:        256300     253160       3140          0        476      26968
-/+ buffers/cache:     225716      30584
Swap:       514040     514040          0
Then I was forced to stop testing...
 
   [1 Oct 2008 15:43]
   Kevin Lewis        
  Commenting out this line in Transaction::add( - deferredIndex->addRef(); +// deferredIndex->addRef(); will eliminate this memory leak. But this is a real reference to the DeferredIndex, so the addRef should remain and the true location of the missing call to DeferredIndex::releaseRef should be found.
   [2 Oct 2008 0:12]
   Bugs System        
  A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/54992 2845 Christopher Powers 2008-10-01 Bug#39711 "Running falcon_bug_34351_C shows increasing memory usage" Bug#39795 "Falcon: Online add index does not support index with non-null columns" Bug#39796 "Falcon: Reference count decrement not atomic"
   [2 Oct 2008 0:13]
   Bugs System        
  A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/54993 2845 Christopher Powers 2008-10-01 Bug#39711 "Running falcon_bug_34351_C shows increasing memory usage" Bug#39795 "Falcon: Online add index does not support index with non-null columns" Bug#39796 "Falcon: Reference count decrement not atomic"
   [2 Oct 2008 0:16]
   Bugs System        
  A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/54994 2845 Christopher Powers 2008-10-01 Bug#39711 "Running falcon_bug_34351_C shows increasing memory usage" Bug#39795 "Falcon: Online add index does not support index with non-null columns" Bug#39796 "Falcon: Reference count decrement not atomic"
   [2 Oct 2008 23:54]
   Bugs System        
  A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/55161 2849 Christopher Powers 2008-10-02 Bug#39711, "Running falcon_bug_34351_C shows increasing memory usage"
   [30 Nov 2008 23:17]
   Hakan Küçükyılmaz        
  Debug build with latest code from mysql-6.0-falcon bzr tree shows stable memory usage around 325 - 389 MB and run time around 15 seconds. However, when using a non-debug build the run time decreases to 4 - 6 seconds with spikes at around 14 seconds and memory usage starting at 234 MB and going up to 696 MB. MySQL Version 6.0.9 Using dynamic switching of binlog format Using tmpfs in /dev/shm Skipping ndbcluster Setting mysqld to support SSL connections Using MTR_BUILD_THREAD = 0 Using MASTER_MYPORT = 9306 Using MASTER_MYPORT1 = 9307 Using SLAVE_MYPORT = 9308 Using SLAVE_MYPORT1 = 9309 Using SLAVE_MYPORT2 = 9310 Killing Possible Leftover Processes Removing Stale Files Creating Directories Symlinking 'var' to '/dev/shm/var' Installing Master Database Saving snapshot of installed databases ======================================================= TEST RESULT TIME (ms) ------------------------------------------------------- falcon.falcon_bug_34351_C [ pass ] 4714 falcon.falcon_bug_34351_C [ pass ] 4505 falcon.falcon_bug_34351_C [ pass ] 4662 falcon.falcon_bug_34351_C [ pass ] 4663 falcon.falcon_bug_34351_C [ pass ] 4965 falcon.falcon_bug_34351_C [ pass ] 4999 falcon.falcon_bug_34351_C [ pass ] 5616 falcon.falcon_bug_34351_C [ pass ] 5730 falcon.falcon_bug_34351_C [ pass ] 6253 falcon.falcon_bug_34351_C [ pass ] 6573 falcon.falcon_bug_34351_C [ pass ] 14420 falcon.falcon_bug_34351_C [ pass ] 4306 falcon.falcon_bug_34351_C [ pass ] 4482 falcon.falcon_bug_34351_C [ pass ] 4925 falcon.falcon_bug_34351_C [ pass ] 4689 falcon.falcon_bug_34351_C [ pass ] 4934 falcon.falcon_bug_34351_C [ pass ] 5576 falcon.falcon_bug_34351_C [ pass ] 5798 falcon.falcon_bug_34351_C [ pass ] 5596 falcon.falcon_bug_34351_C [ pass ] 5694 falcon.falcon_bug_34351_C [ pass ] 14241 falcon.falcon_bug_34351_C [ pass ] 4638 falcon.falcon_bug_34351_C [ pass ] 4724 falcon.falcon_bug_34351_C [ pass ] 4574 falcon.falcon_bug_34351_C [ pass ] 5133 falcon.falcon_bug_34351_C [ pass ] 5121 falcon.falcon_bug_34351_C [ pass ] 5515 falcon.falcon_bug_34351_C [ pass ] 5604 falcon.falcon_bug_34351_C [ pass ] 6069 falcon.falcon_bug_34351_C [ pass ] 6284 falcon.falcon_bug_34351_C [ pass ] 12573 falcon.falcon_bug_34351_C [ pass ] 4609 falcon.falcon_bug_34351_C [ pass ] 4726 falcon.falcon_bug_34351_C [ pass ] 4780 falcon.falcon_bug_34351_C [ pass ] 4927 falcon.falcon_bug_34351_C [ pass ] 4949 falcon.falcon_bug_34351_C [ pass ] 5264 falcon.falcon_bug_34351_C [ pass ] 5550 ... ... ... falcon.falcon_bug_34351_C [ pass ] 5507 falcon.falcon_bug_34351_C [ pass ] 6136 falcon.falcon_bug_34351_C [ pass ] 14797 falcon.falcon_bug_34351_C [ pass ] 4507 falcon.falcon_bug_34351_C [ pass ] 4710 falcon.falcon_bug_34351_C [ pass ] 4580 falcon.falcon_bug_34351_C [ pass ] 4785 falcon.falcon_bug_34351_C [ pass ] 5009 falcon.falcon_bug_34351_C [ pass ] 5356 falcon.falcon_bug_34351_C [ pass ] 5440 falcon.falcon_bug_34351_C [ pass ] 5964 falcon.falcon_bug_34351_C [ pass ] 5867 falcon.falcon_bug_34351_C [ pass ] 14159 falcon.falcon_bug_34351_C [ pass ] 4380 falcon.falcon_bug_34351_C [ pass ] 4822 falcon.falcon_bug_34351_C [ pass ] 5083 falcon.falcon_bug_34351_C [ pass ] 4734 falcon.falcon_bug_34351_C [ pass ] 5356 falcon.falcon_bug_34351_C [ pass ] 5772 falcon.falcon_bug_34351_C [ pass ] 5562 falcon.falcon_bug_34351_C [ pass ] 6373 falcon.falcon_bug_34351_C [ pass ] 6562 falcon.falcon_bug_34351_C [ pass ] 13645 falcon.falcon_bug_34351_C [ pass ] 4586 falcon.falcon_bug_34351_C [ pass ] 4722 falcon.falcon_bug_34351_C [ pass ] 4834 falcon.falcon_bug_34351_C [ pass ] 5361 falcon.falcon_bug_34351_C [ pass ] 5571 falcon.falcon_bug_34351_C [ pass ] 5943 falcon.falcon_bug_34351_C [ pass ] 6021 falcon.falcon_bug_34351_C [ pass ] 6094 falcon.falcon_bug_34351_C [ pass ] 12983 falcon.falcon_bug_34351_C [ pass ] 4632 falcon.falcon_bug_34351_C [ pass ] 4527 falcon.falcon_bug_34351_C [ pass ] 4754 falcon.falcon_bug_34351_C [ pass ] 4977 falcon.falcon_bug_34351_C [ pass ] 5133 falcon.falcon_bug_34351_C [ pass ] 5771 falcon.falcon_bug_34351_C [ pass ] 6036 falcon.falcon_bug_34351_C [ pass ] 6133 falcon.falcon_bug_34351_C [ pass ] 6571 falcon.falcon_bug_34351_C [ pass ] 14829 falcon.falcon_bug_34351_C [ pass ] 4745 falcon.falcon_bug_34351_C [ pass ] 4803 falcon.falcon_bug_34351_C [ pass ] 5079 falcon.falcon_bug_34351_C [ pass ] 4924 falcon.falcon_bug_34351_C [ pass ] 5493 falcon.falcon_bug_34351_C [ pass ] 5454 falcon.falcon_bug_34351_C [ pass ] 5314 falcon.falcon_bug_34351_C [ pass ] 5896 falcon.falcon_bug_34351_C [ pass ] 14365 falcon.falcon_bug_34351_C [ pass ] 4570 falcon.falcon_bug_34351_C [ pass ] 4425 falcon.falcon_bug_34351_C [ pass ] 4587 falcon.falcon_bug_34351_C [ pass ] 4960 falcon.falcon_bug_34351_C [ pass ] 5299 falcon.falcon_bug_34351_C [ pass ] 5064 falcon.falcon_bug_34351_C [ pass ] 5419 falcon.falcon_bug_34351_C [ pass ] 6208 falcon.falcon_bug_34351_C [ pass ] 5876 falcon.falcon_bug_34351_C [ pass ] 14037 falcon.falcon_bug_34351_C [ pass ] 4312 falcon.falcon_bug_34351_C [ pass ] 4678 falcon.falcon_bug_34351_C [ pass ] 4777 falcon.falcon_bug_34351_C [ pass ] 5084 falcon.falcon_bug_34351_C [ pass ] 5332 falcon.falcon_bug_34351_C [ pass ] 5925 falcon.falcon_bug_34351_C [ pass ] 5637 falcon.falcon_bug_34351_C [ pass ] 6042 falcon.falcon_bug_34351_C [ pass ] 6180 falcon.falcon_bug_34351_C [ pass ] 14101 ------------------------------------------------------- Stopping All Servers All 167 tests were successful. The servers were restarted 1 times Spent 1023.631 of 1031 seconds executing testcases
   [1 Dec 2008 14:16]
   John Embretsen        
  I have verified Hakan's latest observations regarding (relative) running time and memory usage in non-debug vs. debug builds (tested on Linux, using current mysql-6.0-falcon-team bzr branch). Debug build showed stable running times and memory usage, while the non-debug build showed spikes in running time and increasing memory usage. In my case the difference between the debug and non-debug build was that the debug build was configured with the "--with-debug=full" option. Hakan, feel free to re-open this bug or file a new one as you see fit.
   [9 Jan 2009 13:25]
   MC Brown        
  Internal only. No documentation needed.
