gpt4 book ai didi

ruby - 在 rails3/jruby 中,什么会间歇性地导致这个错误? SAVEPOINT active_record_1 不存在

转载 作者:数据小太阳 更新时间:2023-10-29 07:19:30 27 4
gpt4 key购买 nike

当一个人测试系统时,不会发生这些错误。但是通过 jmeter 测试,我可以非常可靠地重现一些错误:

ActiveRecord::JDBCError: SAVEPOINT active_record_1 does not exist: ROLLBACK TO SAVEPOINT active_record_1

Stack:

gems/gems/activerecord-3.0.10/lib/active_record/connection_adapters/abstract_adapter.rb:207:in `log'
gems/gems/activerecord-3.0.10/lib/active_record/connection_adapters/abstract_adapter.rb:200:in `log'
gems/gems/activerecord-jdbc-adapter-1.2.1/lib/arjdbc/jdbc/adapter.rb:208:in `execute'
gems/gems/activerecord-jdbc-adapter-1.2.1/lib/arjdbc/mysql/adapter.rb:156:in `rollback_to_savepoint'
gems/gems/activerecord-3.0.10/lib/active_record/connection_adapters/abstract/database_statements.rb:179:in `transaction'
gems/gems/activerecord-3.0.10/lib/active_record/connection_adapters/abstract/database_statements.rb:171:in `transaction'
gems/gems/activerecord-3.0.10/lib/active_record/transactions.rb:207:in `transaction'
gems/gems/activerecord-3.0.10/lib/active_record/transactions.rb:290:in `with_transaction_returning_status'
gems/gems/activerecord-3.0.10/lib/active_record/transactions.rb:240:in `save'
gems/gems/activerecord-3.0.10/lib/active_record/transactions.rb:251:in `rollback_active_record_state!'
gems/gems/activerecord-3.0.10/lib/active_record/transactions.rb:239:in `save'
...(our code that simply calls save on a new instance of a model class)...

我们没有嵌套交易,甚至没有明确使用它们。我发现了一个与此错误消息相关的现有错误,但它不相关;我们不会截断或做任何 DDL 工作。仅仅创建一个记录并保存它。

我们使用 Rails 3.0.10、JRuby 1.6.5、activerecord-jdbcmysql-adapter,与 Warbler 1.3.2 配合使用,并通过 Elastic Beanstalk 部署在 64 位 Tomcat 7/Amazon RDS 上,带有单个 Mysql 实例,v5.1.57 .我们设置为 config.threadsafe! - 这感觉像是 ActiveRecord 内部的某种竞赛 - 但 ActiveRecord 应该在线程安全中工作,不是吗?

最后一点:我担心这是 JRuby 或 Warbler 的问题,因为如果我们从 JRuby 切换到 MRI Ruby 1.9,我们将无法重现这个问题。

最佳答案

可能与this commit有关,这是在 1.2.1 中引入的。 1.2.0 是否给您同样的问题?

也许我需要为支持的交易和失败的交易重新引入一些错误检查。请注意在 https://github.com/jruby/activerecord-jdbc-adapter/issues 提交错误?谢谢。

关于ruby - 在 rails3/jruby 中,什么会间歇性地导致这个错误? SAVEPOINT active_record_1 不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8425475/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com