my setup:
apache with: Phusion Passenger (mod_rails/mod_rack) 2.0.6
mysql: SELECT VERSION();
-> '5.0.25-standard'
rails 2.1.2
datamapper 0.9.10
data_objects 0.9.11
passenger has pool idle time out which is 300sec. all the following
errors occur after a very long idle time > 1h
summary of the errors is:
* the reader is nil in data_object_adapter so method next! can not be
found
* Field-count mismatch which is part of mysql C code
* global transaction is in the NON-EXISTING state
* mysql has gone away
* lost connection during query
so far I was not able to reproduce any of these errors in a local
setup. still trying though.
are all transactions XA transactions ? how can such wrong state come
into exists ?
this field count mismatch - can it occur during concurrent use of the
same Command object ?
what were the scenarios in mind to implement such a field count
check ?
how can a reader be nil after command.execute_reader(...)?
any idea/hints are most appreciated.
regards Kristian
and when sending rollback_and_close_adapter_if_begin to
#<DataMapper::Adapters::MysqlAdapter:0x411370b8> we failed again with
#<MysqlError: (mysql_errno=1399, sql_state=XAE07) XAER_RMFAIL: The
command cannot be executed when global transaction is in the NON-
EXISTING state Query: XA END
'25dd135466ce56e3922098f1094d72e9722f94510b8f68ae6cec05d220f54f7f'
>:
>/home/.renee/pariruby/downloads.pariyatti.org/vendor/localgems/gems/do_mysql-0.9.11/lib/do_mysql/transaction.rb:10:in
> `execute_non_query'
.....
#<DataMapper::Transaction:0x40fe1fb0>#each_adapter(:prepare_adapter,
[:rollback_and_close_adapter_if_begin,
:rollback_prepared_and_close_adapter_if_prepare])
failed with #<MysqlError: (mysql_errno=2006, sql_state=HY000) MySQL
server has gone away Query: Mysql server has gone away. Please report
this issue to the Datamapper project. Specify your at least your
MySQL version when filing a ticket>: /home/.renee/pariruby/downloads
.pariyatti.org/vendor/localgems/gems/do_mysql-0.9.11/lib/do_mysql/
transaction.rb:10:in `execute_non_query'
....
NoMethodError:undefined method `next!' for nil:NilClass
/home/.renee/pariruby/downloads.pariyatti.org/vendor/localgems/gems/
dm-core-0.9.10/lib/dm-core/adapters/data_objects_adapter.rb:68:in
`read_one'
/home/.renee/pariruby/downloads.pariyatti.org/vendor/localgems/gems/
dm-core-0.9.10/lib/dm-core/adapters/data_objects_adapter.rb:173:in
`with_connection'
/home/.renee/pariruby/downloads.pariyatti.org/vendor/localgems/gems/
dm-core-0.9.10/lib/dm-core/adapters/data_objects_adapter.rb:61:in
`read_one'
/home/.renee/pariruby/downloads.pariyatti.org/vendor/localgems/gems/
dm-core-0.9.10/lib/dm-core/repository.rb:72:in `read_one'
.....
MysqlError:Field-count mismatch. Expected 2 fields, but the query
yielded 18
/home/.renee/pariruby/downloads.pariyatti.org/vendor/localgems/gems/
dm-core-0.9.10/lib/dm-core/adapters/data_objects_adapter.rb:66:in
`execute_reader'
/home/.renee/pariruby/downloads.pariyatti.org/vendor/localgems/gems/
dm-core-0.9.10/lib/dm-core/adapters/data_objects_adapter.rb:66:in
`read_one'
/home/.renee/pariruby/downloads.pariyatti.org/vendor/localgems/gems/
dm-core-0.9.10/lib/dm-core/adapters/data_objects_adapter.rb:173:in
`with_connection'
/home/.renee/pariruby/downloads.pariyatti.org/vendor/localgems/gems/
dm-core-0.9.10/lib/dm-core/adapters/data_objects_adapter.rb:61:in
`read_one'
.....
(mysql_errno=2013, sql_state=HY000) Lost connection to MySQL server
during query
Query: SELECT `id`, `session_time_to_live`,
`admin_session_time_to_live`, `time_to_live`, `time_to_archive`,
`download_directory`, `tmp_download_directory`, `dropbox_directory`,
`password_length`, `root_password_digest`, `admin_password_digest`,
`temp_root_password_digest`, `temp_admin_password_digest`,
`notification_email`, `local_ip`, `send_ip_email`, `updated_at`,
`maintenance_mode` FROM `system_configs` WHERE (`id` = 1) ORDER BY
`id` LIMIT 1
vendor/localgems/gems/dm-core-0.9.10/lib/dm-core/adapters/
data_objects_adapter.rb:66:in `execute_reader'
vendor/localgems/gems/dm-core-0.9.10/lib/dm-core/adapters/
data_objects_adapter.rb:66:in `read_one'
....
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"DataMapper" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/datamapper?hl=en
-~----------~----~----~----~------~----~------~--~---