ये त्रुटियां तब नहीं होती जब कोई भी व्यक्ति सिस्टम का परीक्षण करता है। लेकिन एक JMeter परीक्षण के साथ, मैं बहुत मज़बूती से कुछ त्रुटियों की तर्ज पर पुन: पेश कर सकते हैं:रेल 3/jruby में, इस त्रुटि को अंतःस्थापित करने का कारण क्या हो सकता है? SAVEPOINT active_record_1 मौजूद नहीं है
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)...
हम नेस्टिंग लेनदेन नहीं कर रहे हैं या यहां तक कि उन्हें स्पष्ट रूप से इस्तेमाल करते हैं। मुझे इस त्रुटि संदेश के आसपास एक मौजूदा बग मिलती है, लेकिन यह प्रासंगिक नहीं है; हम किसी भी डीडीएल काम को कम नहीं कर रहे हैं या कर रहे हैं। केवल एक रिकॉर्ड बनाना और इसे सहेजना।
हम रेल 3.0.10, JRuby 1.6.5, ActiveRecord-jdbcmysql-एडाप्टर का उपयोग, वार्बलर 1.3.2 के साथ warbled और एक एकल Mysql उदाहरण, v5 के साथ लचीला बीनस्टॉक के माध्यम से तैनात किए गए पर 64-बिट बिलाव 7/अमेज़न आरडीएस। 1.57। हम config.threadsafe के लिए सेट हैं! - और यह ActiveRecord के आंतों में किसी तरह की दौड़ की तरह लगता है - लेकिन ActiveRecord थ्रेडसेफ में काम करना चाहिए, नहीं?
एक अंतिम नोट: मुझे डर है कि यह एक जेआरबी या वारबलर समस्या है, क्योंकि अगर हम जेआरबी से एमआरआई रुबी 1.9 में स्विच करते हैं तो हम इस समस्या को पुन: पेश नहीं कर सकते हैं।
यह बेवकूफ लगता है, लेकिन जब डिस्क डिस्क से बाहर निकला तो मुझे यह त्रुटि हुई। test.log ने 'SAVEPOINT active_record_1' दिखाया,' INSERT INTO ... '=> 'SQLite3 :: FullException: डेटाबेस या डिस्क पूर्ण है,' सक्रिय करने के लिए रोलबैक सक्रिय_record_1' =>' SQLite3 :: SQLException: ऐसा कोई सहेजना नहीं है। (कारण सेलिनियम डेटा/tmp में जमा हुआ था।) –