You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@spamassassin.apache.org by Jan Hejl <jh...@excello.cz> on 2014/11/06 15:35:16 UTC
BAYES SA 3.4 + MySQL 5.5.40 - warn: Issuing rollback() due to DESTROY
without explicit disconnect()
Hello guys,
i know that it's been discussed alredy
http://mail-archives.apache.org/mod_mbox/spamassassin-dev/201202.mbox/%3C4F4CAB1A.7030608@gmail.com%3E
but yesterday i switched from Mail::SpamAssassin::BayesStore::SQL to
Mail::SpamAssassin::BayesStore::MySQL and SpamAssassin's logs got
flooded with:
warn: Issuing rollback() due to DESTROY without explicit disconnect() of D│Nov 6 15:28:49.798 [12681] warn: Issuing rollback() due to DESTROY without explicit disconnect() of D
BD::mysql::db handle sa_bayes:localhost at /usr/lib64/perl5/vendor_perl/5.18.2/Mail/SpamAssassin/Plugi│BD::mysql::db handle sa_bayes:localhost at /usr/lib64/perl5/vendor_perl/5.18.2/Mail/SpamAssassin/Plugi
n/Bayes.pm line 1590, <GEN2272> line 3.
If I understand that correctly it's harmless because MySQL.pm commits
each operation thus the rollback should be empty.
Can you please confirm that it's not something that I should care about?
Or do I?
Thanks
Jan
Re: BAYES SA 3.4 + MySQL 5.5.40 - warn: Issuing rollback() due to
DESTROY without explicit disconnect()
Posted by Jari Fredrisson <ja...@iki.fi>.
On 6.11.2014 16:35, Jan Hejl wrote:
> Hello guys,
>
> i know that it's been discussed alredy
> http://mail-archives.apache.org/mod_mbox/spamassassin-dev/201202.mbox/%3C4F4CAB1A.7030608@gmail.com%3E
> but yesterday i switched from Mail::SpamAssassin::BayesStore::SQL to
> Mail::SpamAssassin::BayesStore::MySQL and SpamAssassin's logs got
> flooded with:
>
> warn: Issuing rollback() due to DESTROY without explicit disconnect()
> of D│Nov 6 15:28:49.798 [12681] warn: Issuing rollback() due to
> DESTROY without explicit disconnect() of D
> BD::mysql::db handle sa_bayes:localhost at
> /usr/lib64/perl5/vendor_perl/5.18.2/Mail/SpamAssassin/Plugi│BD::mysql::db
> handle sa_bayes:localhost at
> /usr/lib64/perl5/vendor_perl/5.18.2/Mail/SpamAssassin/Plugi
> n/Bayes.pm line 1590, <GEN2272> line 3.
>
> If I understand that correctly it's harmless because MySQL.pm commits
> each operation thus the rollback should be empty.
>
> Can you please confirm that it's not something that I should care
> about? Or do I?
>
> Thanks
> Jan
>
I have not seen anything like that in my Logs. I use 5.5 (MariaDB) with
3.4 SA.
br. jarif
Re: BAYES SA 3.4 + MySQL 5.5.40 - warn: Issuing rollback() due to DESTROY without explicit disconnect()
Posted by "Kevin A. McGrail" <KM...@PCCC.com>.
I want to roll an rc but Ivo had a problem so TX Rep is a blocker right now along with a few items. Don't want to release without it and SA is written and maintained in a way where I use trunk on production machines so the impetus is not as high.
Regards,
KAM
On November 11, 2014 8:01:17 AM EST, Jan Hejl <jh...@excello.cz> wrote:
>
>Dne 10.11.2014 v 17:10 Mark Martinec napsal(a):
>> Jan Hejl wrote:
>>> Redis seems to be pretty stable except lots of connections.
>>> Connections grow continuously up to max client limit. I've solved
>this
>>> by settng "timeout 1" value within redis.conf, but there's still
>lots
>>> of CLOSE_WAIT connections. Has this been solved within BUG #7034?
>>
>> Yes, I believe the fix to BUG #7034 solves the connections problem -
>> does so according to my tests. If you see otherwise please report.
>>
>> Mark
>Thanks Mark.
>
>What's the status of 3.4.1 (or maybe 3.4.2) release? I saw Kevin's
>proposal on 13th Feb, but no reply since then.
Re: BAYES SA 3.4 + MySQL 5.5.40 - warn: Issuing rollback() due to
DESTROY without explicit disconnect()
Posted by Jan Hejl <jh...@excello.cz>.
Dne 10.11.2014 v 17:10 Mark Martinec napsal(a):
> Jan Hejl wrote:
>> Redis seems to be pretty stable except lots of connections.
>> Connections grow continuously up to max client limit. I've solved this
>> by settng "timeout 1" value within redis.conf, but there's still lots
>> of CLOSE_WAIT connections. Has this been solved within BUG #7034?
>
> Yes, I believe the fix to BUG #7034 solves the connections problem -
> does so according to my tests. If you see otherwise please report.
>
> Mark
Thanks Mark.
What's the status of 3.4.1 (or maybe 3.4.2) release? I saw Kevin's
proposal on 13th Feb, but no reply since then.
Re: BAYES SA 3.4 + MySQL 5.5.40 - warn: Issuing rollback() due to
DESTROY without explicit disconnect()
Posted by Mark Martinec <Ma...@ijs.si>.
Jan Hejl wrote:
> Redis seems to be pretty stable except lots of connections.
> Connections grow continuously up to max client limit. I've solved this
> by settng "timeout 1" value within redis.conf, but there's still lots
> of CLOSE_WAIT connections. Has this been solved within BUG #7034?
Yes, I believe the fix to BUG #7034 solves the connections problem -
does so according to my tests. If you see otherwise please report.
Mark
Re: BAYES SA 3.4 + MySQL 5.5.40 - warn: Issuing rollback() due to
DESTROY without explicit disconnect()
Posted by Jan Hejl <jh...@excello.cz>.
Dne 7.11.2014 v 15:26 Axb napsal(a):
> On 11/07/2014 01:41 PM, Jan Hejl wrote:
>> May I ask some to share my.cnf conf for bayes database? And database
>> structure?
>
> https://svn.apache.org/repos/asf/spamassassin/trunk/sql/README.bayes
>
> though its not exactly new....
> be carefull to choose the right "bayes_store_module "
>
> If you're a high traffic site, you may want to look at the Redis
> backend which massivley beats *SQL performance & has been solid as a
> rock.
Thank. you Done. MySQL seems to be pretty useless with high traffic
scenario - lots of other errors in past two days ...
Redis seems to be pretty stable except lots of connections. Connections
grow continuously up to max client limit. I've solved this by settng
"timeout 1" value within redis.conf, but there's still lots of
CLOSE_WAIT connections. Has this been solved within BUG #7034?
Thanks
Jan
Re: BAYES SA 3.4 + MySQL 5.5.40 - warn: Issuing rollback() due to
DESTROY without explicit disconnect()
Posted by Axb <ax...@gmail.com>.
On 11/07/2014 01:41 PM, Jan Hejl wrote:
> May I ask some to share my.cnf conf for bayes database? And database
> structure?
https://svn.apache.org/repos/asf/spamassassin/trunk/sql/README.bayes
though its not exactly new....
be carefull to choose the right "bayes_store_module "
If you're a high traffic site, you may want to look at the Redis backend
which massivley beats *SQL performance & has been solid as a rock.
Re: BAYES SA 3.4 + MySQL 5.5.40 - warn: Issuing rollback() due to
DESTROY without explicit disconnect()
Posted by Jan Hejl <jh...@excello.cz>.
May I ask some to share my.cnf conf for bayes database? And database
structure?
Thank a lot
Jan
Dne 6.11.2014 v 21:32 Jan Hejl napsal(a):
>
> Dne 6.11.2014 v 21:05 Marieke Janssen napsal(a):
>>> flooded with:
>>> warn: Issuing rollback() due to DESTROY without explicit
>>> disconnect() of D│Nov 6 15:28:49.798 [12681] warn: Issuing
>>> rollback() due to DESTROY without explicit disconnect() of D
>>> BD::mysql::db handle sa_bayes:localhost at
>>> /usr/lib64/perl5/vendor_perl/5.18.2/Mail/SpamAssassin/Plugi│BD::mysql::db
>>> handle sa_bayes:localhost at
>>> /usr/lib64/perl5/vendor_perl/5.18.2/Mail/SpamAssassin/Plugi
>> <n/Bayes.pm line 1590, <GEN2272> line 3.
>>
>>> Can you please confirm that it's not something that I should care
>>> about?
>> I have it once in a while, if the server "has gone away". Don't know
>> why, it's only a few times a day.
>>
>> Something like this:
>> mysql> select * from bla;
>> ERROR 2006 (HY000): MySQL server has gone away
>> No connection. Trying to reconnect...
>>
>>
>> But I don't get flooded. I don't know your definition of flooded so I
>> assume it's every incoming mail or every few seconds or so.
> Around 20 per minute.
>>
>> I suppose Bayes has a persistent connection to mysql, so it should
>> never disconnect() (except of shutdown of SA).
>> I can think of a few things, you are probably disconnected all the
>> time: wait_timeout in mysql is low,your query is not valid, you
>> don't have the DSN defined in local.cf properly setup in mysql, mysql
>> tables are corrupt, the rights to /var/run/mysqld/mysqld.sock are
>> wrong or mysql is kicking you for other reasons. Did you check the
>> mysql logs?
>> (see http://dev.mysql.com/doc/refman/5.5/en/gone-away.html)
>
> +---------------------------------------------------+----------+
> | Variable_name | Value |
> +---------------------------------------------------+----------+
> | innodb_lock_wait_timeout | 120 |
> | innodb_spin_wait_delay | 6 |
> | lock_wait_timeout | 31536000 |
> | performance_schema_events_waits_history_long_size | 10000 |
> | performance_schema_events_waits_history_size | 10 |
> | wait_timeout | 28800 |
> +---------------------------------------------------+----------+
>
> bayes_store_module Mail::SpamAssassin::BayesStore::MySQL
> bayes_sql_dsn DBI:mysql:sa_bayes:localhost
> bayes_sql_username sa_user
> bayes_sql_password ebayes
> bayes_sql_override_username qscand
>
> MySQL check is OK, mysqld.err show no errors.
>
> ~ # ls -l /var/run/mysqld/mysqld.sock
> srwxrwxrwx 1 mysql mysql 0 Nov 6 21:16 /var/run/mysqld/mysqld.sock
>
> Database structure attached.
>
> I also tried mariadb as Jari mentioned, but nothing has changed either.
>
> Any other ideas?
>
> Thanks for help!
> Jan
>>
>>
>> /MJ
>>
>>
>>
>
Re: BAYES SA 3.4 + MySQL 5.5.40 - warn: Issuing rollback() due to
DESTROY without explicit disconnect()
Posted by Jan Hejl <jh...@excello.cz>.
Dne 6.11.2014 v 21:05 Marieke Janssen napsal(a):
>> flooded with:
>> warn: Issuing rollback() due to DESTROY without explicit disconnect() of D│Nov 6 15:28:49.798 [12681] warn: Issuing rollback() due to DESTROY without explicit disconnect() of D
>> BD::mysql::db handle sa_bayes:localhost at /usr/lib64/perl5/vendor_perl/5.18.2/Mail/SpamAssassin/Plugi│BD::mysql::db handle sa_bayes:localhost at /usr/lib64/perl5/vendor_perl/5.18.2/Mail/SpamAssassin/Plugi
> <n/Bayes.pm line 1590, <GEN2272> line 3.
>
>> Can you please confirm that it's not something that I should care about?
> I have it once in a while, if the server "has gone away". Don't know why, it's only a few times a day.
>
> Something like this:
> mysql> select * from bla;
> ERROR 2006 (HY000): MySQL server has gone away
> No connection. Trying to reconnect...
>
>
> But I don't get flooded. I don't know your definition of flooded so I assume it's every incoming mail or every few seconds or so.
Around 20 per minute.
>
> I suppose Bayes has a persistent connection to mysql, so it should never disconnect() (except of shutdown of SA).
> I can think of a few things, you are probably disconnected all the time: wait_timeout in mysql is low,your query is not valid, you don't have the DSN defined in local.cf properly setup in mysql, mysql tables are corrupt, the rights to /var/run/mysqld/mysqld.sock are wrong or mysql is kicking you for other reasons. Did you check the mysql logs?
> (see http://dev.mysql.com/doc/refman/5.5/en/gone-away.html)
+---------------------------------------------------+----------+
| Variable_name | Value |
+---------------------------------------------------+----------+
| innodb_lock_wait_timeout | 120 |
| innodb_spin_wait_delay | 6 |
| lock_wait_timeout | 31536000 |
| performance_schema_events_waits_history_long_size | 10000 |
| performance_schema_events_waits_history_size | 10 |
| wait_timeout | 28800 |
+---------------------------------------------------+----------+
bayes_store_module Mail::SpamAssassin::BayesStore::MySQL
bayes_sql_dsn DBI:mysql:sa_bayes:localhost
bayes_sql_username sa_user
bayes_sql_password ebayes
bayes_sql_override_username qscand
MySQL check is OK, mysqld.err show no errors.
~ # ls -l /var/run/mysqld/mysqld.sock
srwxrwxrwx 1 mysql mysql 0 Nov 6 21:16 /var/run/mysqld/mysqld.sock
Database structure attached.
I also tried mariadb as Jari mentioned, but nothing has changed either.
Any other ideas?
Thanks for help!
Jan
>
>
> /MJ
>
>
>
RE: BAYES SA 3.4 + MySQL 5.5.40 - warn: Issuing rollback() due to DESTROY without explicit disconnect()
Posted by Marieke Janssen <mj...@myguard.nl>.
>flooded with:
>warn: Issuing rollback() due to DESTROY without explicit disconnect() of D│Nov 6 15:28:49.798 [12681] warn: Issuing rollback() due to DESTROY without explicit disconnect() of D
>BD::mysql::db handle sa_bayes:localhost at /usr/lib64/perl5/vendor_perl/5.18.2/Mail/SpamAssassin/Plugi│BD::mysql::db handle sa_bayes:localhost at /usr/lib64/perl5/vendor_perl/5.18.2/Mail/SpamAssassin/Plugi
<n/Bayes.pm line 1590, <GEN2272> line 3.
>Can you please confirm that it's not something that I should care about?
I have it once in a while, if the server "has gone away". Don't know why, it's only a few times a day.
Something like this:
mysql> select * from bla;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
But I don't get flooded. I don't know your definition of flooded so I assume it's every incoming mail or every few seconds or so.
I suppose Bayes has a persistent connection to mysql, so it should never disconnect() (except of shutdown of SA).
I can think of a few things, you are probably disconnected all the time: wait_timeout in mysql is low,your query is not valid, you don't have the DSN defined in local.cf properly setup in mysql, mysql tables are corrupt, the rights to /var/run/mysqld/mysqld.sock are wrong or mysql is kicking you for other reasons. Did you check the mysql logs?
(see http://dev.mysql.com/doc/refman/5.5/en/gone-away.html)
/MJ