Google Answers Logo
View Question
 
Q: Java sleeping connections to MySQL that don't go away ( No Answer,   2 Comments )
Question  
Subject: Java sleeping connections to MySQL that don't go away
Category: Computers > Programming
Asked by: masiegler-ga
List Price: $15.00
Posted: 18 Mar 2006 05:52 PST
Expires: 21 Mar 2006 06:58 PST
Question ID: 708762
I have an internal database system that sees a lot of activity. For
some reason, certain uses of the connection to this database results
in sleeping connections that persist indefinitely.

The clients are running Windows 2k, Java 5, MySQL J/Connector 3.1.6 
The server is running RedHat 8, MySQL 4.1

One particular process uses a windows scheduled task to run a java
application (it's an ugly setup) every 5 minutes if it is not already
running. This task is actually a batch file with a java command that
creates two pooled connections to the database, does some puts and
gets, and exits. It is this specific task that generates the sleeping
connections

mysql> show  processlist;
+-------+------------+--------------------+---------+---------+------+-------+-------------------+
| Id    | User       | Host               | db      | Command | Time |
State | Info              |
+-------+------------+--------------------+---------+---------+------+-------+-------------------+
| 32910 | production | 192.168.1.11:4248  | profile | Sleep   | 2166 |
      | NULL              |
| 32911 | production | 192.168.1.11:4249  | profile | Sleep   | 2169 |
      | NULL              |
| 32912 | production | 192.168.1.11:4256  | profile | Sleep   | 2160 |
      | NULL              |
| 32913 | production | 192.168.1.11:4257  | profile | Sleep   | 2162 |
      | NULL              |
| 32914 | production | 192.168.1.11:4262  | profile | Sleep   | 2152 |
      | NULL              |
| 32915 | production | 192.168.1.11:4263  | profile | Sleep   | 2154 |
      | NULL              |
| 32916 | production | 192.168.1.11:4270  | profile | Sleep   | 2144 |
      | NULL              |
| 32917 | production | 192.168.1.11:4271  | profile | Sleep   | 2149 |
      | NULL              |
| 32918 | production | 192.168.1.11:4278  | profile | Sleep   | 2007 |
      | NULL              |
| 32919 | production | 192.168.1.11:4279  | profile | Sleep   | 2013 |
      | NULL              |
| 32920 | production | 192.168.1.11:4287  | profile | Sleep   | 1996 |
      | NULL              |
| 32921 | production | 192.168.1.11:4288  | profile | Sleep   | 1996 |
      | NULL              |
| 32922 | production | 192.168.1.11:4296  | profile | Sleep   | 1931 |
      | NULL              |
| 32923 | production | 192.168.1.11:4297  | profile | Sleep   | 1933 |
      | NULL              |
| 32924 | production | 192.168.1.11:4304  | profile | Sleep   | 1860 |
      | NULL              |
| 32925 | production | 192.168.1.11:4305  | profile | Sleep   | 1890 |
      | NULL              |
| 32929 | production | 192.168.1.11:4312  | profile | Sleep   | 1846 |
      | NULL              |
| 32930 | production | 192.168.1.11:4313  | profile | Sleep   | 1857 |
      | NULL              |
| 32931 | production | 192.168.1.11:4320  | profile | Sleep   | 1797 |
      | NULL              |
| 32932 | production | 192.168.1.11:4321  | profile | Sleep   | 1802 |
      | NULL              |

My question is this:

How can I configure MySQL or J/Connector to automatically terminate
connections that sleep more than some threshold?

Optionally:

How can I further debug these sleeping connections? Is there a way to
get more detail on what any MySQL connection has been doing before it
went to sleep?

Clarification of Question by masiegler-ga on 19 Mar 2006 17:12 PST
mysql> show variables;
+---------------------------------+--------------------------------------------------------+
| Variable_name                   | Value                             
                    |
+---------------------------------+--------------------------------------------------------+
| back_log                        | 50                                
                    |
| basedir                         | /usr/                             
                    |
| bdb_cache_size                  | 8388600                           
                    |
| bdb_home                        | /var/lib/mysql/                   
                    |
| bdb_log_buffer_size             | 233984                            
                    |
| bdb_logdir                      |                                   
                    |
| bdb_max_lock                    | 10000                             
                    |
| bdb_shared_data                 | OFF                               
                    |
| bdb_tmpdir                      | /tmp/                             
                    |
| binlog_cache_size               | 32768                             
                    |
| bulk_insert_buffer_size         | 8388608                           
                    |
| character_set_client            | utf8                              
                    |
| character_set_connection        | utf8                              
                    |
| character_set_database          | latin1                            
                    |
| character_set_results           | utf8                              
                    |
| character_set_server            | latin1                            
                    |
| character_set_system            | utf8                              
                    |
| character_sets_dir              | /usr/share/mysql/charsets/        
                    |
| collation_connection            | utf8_general_ci                   
                    |
| collation_database              | latin1_swedish_ci                 
                    |
| collation_server                | latin1_swedish_ci                 
                    |
| concurrent_insert               | ON                                
                    |
| connect_timeout                 | 5                                 
                    |
| datadir                         | /var/lib/mysql/                   
                    |
| date_format                     | %Y-%m-%d                          
                    |
| datetime_format                 | %Y-%m-%d %H:%i:%s                 
                    |
| default_week_format             | 0                                 
                    |
| delay_key_write                 | ON                                
                    |
| delayed_insert_limit            | 100                               
                    |
| delayed_insert_timeout          | 300                               
                    |
| delayed_queue_size              | 1000                              
                    |
| expire_logs_days                | 0                                 
                    |
| flush                           | OFF                               
                    |
| flush_time                      | 0                                 
                    |
| ft_boolean_syntax               | + -><()~*:""&|                    
                    |
| ft_max_word_len                 | 84                                
                    |
| ft_min_word_len                 | 4                                 
                    |
| ft_query_expansion_limit        | 20                                
                    |
| ft_stopword_file                | (built-in)                        
                    |
| group_concat_max_len            | 1024                              
                    |
| have_archive                    | NO                                
                    |
| have_bdb                        | YES                               
                    |
| have_blackhole_engine           | NO                                
                    |
| have_compress                   | YES                               
                    |
| have_crypt                      | YES                               
                    |
| have_csv                        | NO                                
                    |
| have_example_engine             | NO                                
                    |
| have_geometry                   | YES                               
                    |
| have_innodb                     | YES                               
                    |
| have_isam                       | YES                               
                    |
| have_ndbcluster                 | NO                                
                    |
| have_openssl                    | YES                               
                    |
| have_query_cache                | YES                               
                    |
| have_raid                       | NO                                
                    |
| have_rtree_keys                 | YES                               
                    |
| have_symlink                    | YES                               
                    |
| init_connect                    |                                   
                    |
| init_file                       |                                   
                    |
| init_slave                      |                                   
                    |
| innodb_additional_mem_pool_size | 1048576                           
                    |
| innodb_autoextend_increment     | 8                                 
                    |
| innodb_buffer_pool_awe_mem_mb   | 0                                 
                    |
| innodb_buffer_pool_size         | 8388608                           
                    |
| innodb_data_file_path           | ibdata1:10M:autoextend            
                    |
| innodb_data_home_dir            |                                   
                    |
| innodb_fast_shutdown            | ON                                
                    |
| innodb_file_io_threads          | 4                                 
                    |
| innodb_file_per_table           | OFF                               
                    |
| innodb_flush_log_at_trx_commit  | 1                                 
                    |
| innodb_flush_method             |                                   
                    |
| innodb_force_recovery           | 0                                 
                    |
| innodb_lock_wait_timeout        | 50                                
                    |
| innodb_locks_unsafe_for_binlog  | OFF                               
                    |
| innodb_log_arch_dir             |                                   
                    |
| innodb_log_archive              | OFF                               
                    |
| innodb_log_buffer_size          | 1048576                           
                    |
| innodb_log_file_size            | 5242880                           
                    |
| innodb_log_files_in_group       | 2                                 
                    |
| innodb_log_group_home_dir       | ./                                
                    |
| innodb_max_dirty_pages_pct      | 90                                
                    |
| innodb_max_purge_lag            | 0                                 
                    |
| innodb_mirrored_log_groups      | 1                                 
                    |
| innodb_open_files               | 300                               
                    |
| innodb_table_locks              | ON                                
                    |
| innodb_thread_concurrency       | 8                                 
                    |
| interactive_timeout             | 28800                             
                    |
| join_buffer_size                | 131072                            
                    |
| key_buffer_size                 | 402653184                         
                    |
| key_cache_age_threshold         | 300                               
                    |
| key_cache_block_size            | 1024                              
                    |
| key_cache_division_limit        | 100                               
                    |
| language                        | /usr/share/mysql/english/         
                    |
| large_files_support             | ON                                
                    |
| license                         | GPL                               
                    |
| local_infile                    | ON                                
                    |
| locked_in_memory                | OFF                               
                    |
| log                             | OFF                               
                    |
| log_bin                         | OFF                               
                    |
| log_error                       |                                   
                    |
| log_slave_updates               | OFF                               
                    |
| log_slow_queries                | OFF                               
                    |
| log_update                      | OFF                               
                    |
| log_warnings                    | 1                                 
                    |
| long_query_time                 | 10                                
                    |
| low_priority_updates            | OFF                               
                    |
| lower_case_file_system          | OFF                               
                    |
| lower_case_table_names          | 0                                 
                    |
| max_allowed_packet              | 1047552                           
                    |
| max_binlog_cache_size           | 4294967295                        
                    |
| max_binlog_size                 | 1073741824                        
                    |
| max_connect_errors              | 10                                
                    |
| max_connections                 | 100                               
                    |
| max_delayed_threads             | 20                                
                    |
| max_error_count                 | 64                                
                    |
| max_heap_table_size             | 16777216                          
                    |
| max_insert_delayed_threads      | 20                                
                    |
| max_join_size                   | 4294967295                        
                    |
| max_length_for_sort_data        | 1024                              
                    |
| max_relay_log_size              | 0                                 
                    |
| max_seeks_for_key               | 4294967295                        
                    |
| max_sort_length                 | 1024                              
                    |
| max_tmp_tables                  | 32                                
                    |
| max_user_connections            | 0                                 
                    |
| max_write_lock_count            | 4294967295                        
                    |
| myisam_data_pointer_size        | 4                                 
                    |
| myisam_max_extra_sort_file_size | 2147483648                        
                    |
| myisam_max_sort_file_size       | 2147483647                        
                    |
| myisam_recover_options          | OFF                               
                    |
| myisam_repair_threads           | 1                                 
                    |
| myisam_sort_buffer_size         | 67108864                          
                    |
| net_buffer_length               | 16384                             
                    |
| net_read_timeout                | 30                                
                    |
| net_retry_count                 | 10                                
                    |
| net_write_timeout               | 60                                
                    |
| new                             | OFF                               
                    |
| old_passwords                   | ON                                
                    |
| open_files_limit                | 1024                              
                    |
| pid_file                        | /var/run/mysqld/mysqld.pid        
                    |
| port                            | 3306                              
                    |
| preload_buffer_size             | 32768                             
                    |
| protocol_version                | 10                                
                    |
| query_alloc_block_size          | 8192                              
                    |
| query_cache_limit               | 1048576                           
                    |
| query_cache_min_res_unit        | 4096                              
                    |
| query_cache_size                | 33554432                          
                    |
| query_cache_type                | ON                                
                    |
| query_cache_wlock_invalidate    | OFF                               
                    |
| query_prealloc_size             | 8192                              
                    |
| range_alloc_block_size          | 2048                              
                    |
| read_buffer_size                | 2093056                           
                    |
| read_only                       | OFF                               
                    |
| read_rnd_buffer_size            | 8384512                           
                    |
| relay_log_purge                 | ON                                
                    |
| relay_log_space_limit           | 0                                 
                    |
| rpl_recovery_rank               | 0                                 
                    |
| secure_auth                     | OFF                               
                    |
| server_id                       | 1                                 
                    |
| skip_external_locking           | ON                                
                    |
| skip_networking                 | OFF                               
                    |
| skip_show_database              | OFF                               
                    |
| slave_net_timeout               | 3600                              
                    |
| slave_transaction_retries       | 0                                 
                    |
| slow_launch_time                | 2                                 
                    |
| socket                          | /var/lib/mysql/mysql.sock         
                    |
| sort_buffer_size                | 2097144                           
                    |
| sql_mode                        |                                   
                    |
| storage_engine                  | MyISAM                            
                    |
| sql_notes                       | ON                                
                    |
| sql_warnings                    | ON                                
                    |
| sync_binlog                     | 0                                 
                    |
| sync_replication                | 0                                 
                    |
| sync_replication_slave_id       | 0                                 
                    |
| sync_replication_timeout        | 0                                 
                    |
| sync_frm                        | ON                                
                    |
| system_time_zone                | EST                               
                    |
| table_cache                     | 457                               
                    |
| table_type                      | MyISAM                            
                    |
| thread_cache_size               | 8                                 
                    |
| thread_stack                    | 196608                            
                    |
| time_format                     | %H:%i:%s                          
                    |
| time_zone                       | SYSTEM                            
                    |
| tmp_table_size                  | 33554432                          
                    |
| tmpdir                          |                                   
                    |
| transaction_alloc_block_size    | 8192                              
                    |
| transaction_prealloc_size       | 4096                              
                    |
| tx_isolation                    | REPEATABLE-READ                   
                    |
| version                         | 4.1.12                            
                    |
| version_bdb                     | Sleepycat Software: Berkeley DB
4.1.24: (May 13, 2005) |
| version_comment                 | Source distribution               
                    |
| version_compile_machine         | i386                              
                    |
| version_compile_os              | redhat-linux-gnu                  
                    |
| wait_timeout                    | 28800                             
                    |
+---------------------------------+--------------------------------------------------------+
192 rows in set (0.14 sec)
Answer  
There is no answer at this time.

Comments  
Subject: Re: Java sleeping connections to MySQL that don't go away
From: askdark-ga on 18 Mar 2006 20:38 PST
 
Would You please send 
 
mysql> show variables;

Thanks.

Darko
Subject: Re: Java sleeping connections to MySQL that don't go away
From: masiegler-ga on 19 Mar 2006 17:13 PST
 
Added as clarification to question.

Important Disclaimer: Answers and comments provided on Google Answers are general information, and are not intended to substitute for informed professional medical, psychiatric, psychological, tax, legal, investment, accounting, or other professional advice. Google does not endorse, and expressly disclaims liability for any product, manufacturer, distributor, service or service provider mentioned or any opinion expressed in answers or comments. Please read carefully the Google Answers Terms of Service.

If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you.
Search Google Answers for
Google Answers  


Google Home - Answers FAQ - Terms of Service - Privacy Policy