डेडलॉक और लॉक टाइम आउट के प्रकार के मुद्दों से कैसे छुटकारा पाएं?


17

मैंने कई ब्लॉग्स पढ़े, गूगल करने की कोशिश की, लेकिन इससे कोई समाधान नहीं मिला। मेरे पास निम्नलिखित समस्याएं हैं:

PDOException: SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction: DELETE FROM {cache_field} WHERE (cid LIKE :db_condition_placeholder_0 ESCAPE '\\') ; Array ( [:db_condition_placeholder_0] => field\_info:% ) in cache_clear_all() (line 163 of \includes\cache.inc).

PDOException: SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded; try restarting transaction: SELECT 1 AS expression FROM {sessions} sessions WHERE ( (sid = :db_condition_placeholder_0) AND (ssid = :db_condition_placeholder_1) )

मैंने इसे बढ़ाकर innodb_pool_buffer_sizeऔर wait_timeoutmy.ini में हल करने की कोशिश की, लेकिन काम नहीं किया।

मैंने अपनी कैश टेबल का इंजन इनोडब से MyIasm में बदल दिया। मुद्दा चला गया लेकिन यह एक सही समाधान नहीं है। ड्रुपल के अपग्रेड के बाद टेबल इंजन को बदल दिया जाएगा। यह समस्या साइट पर कुछ भी प्रभावित नहीं करती है लेकिन मैं ऐसा नहीं करना चाहता।

कोई समाधान लोग?


क्या आप आवधिक क्रोन चला रहे हैं? क्या यह सफलतापूर्वक पूरा हो रहा है?
mpdonadio

हाँ क्रोन सफलतापूर्वक चल रहा है।
सुमित मदन

आपको क्या लगता है कि अपग्रेड करते समय कैश टेबल इंजन को बदल दिया जाएगा? यह मेरा अनुभव नहीं रहा है।
कीथम

मेरा मतलब है कि अगर मैं ड्रुपल को अपग्रेड करता हूं तो कैश टेबल MyIasm से Innodb में बदल जाएगा। नहीं???
सुमित मदन

जवाबों:


16

इस पोस्ट को पढ़ें और उसका पालन करें ; यह InnoDB मानता है।

विशेष रूप से, सेटिंग में निम्नलिखित को जोड़ने के लिए कहे जाने वाले भाग को देखें। pp फाइल।

$databases['default']['default']['init_commands'] = array('isolation' => "SET SESSION tx_isolation='READ-COMMITTED'");

लिंक में, वह केवल cache_field गतिरोध के लिए बात कर रहा है। लेकिन मेरी साइट पर, सभी कैश टेबल पर गतिरोध और लॉक प्रतीक्षा समय समाप्त हो रहा है।
सुमित मदन

हे माइक, लिंक के लिए धन्यवाद। मैंने आपकी दूसरी पोस्ट को चेक किया और सेटिंग्स में जोड़ दिया। $databases['default']['default']['init_commands'] = array('isolation' => "SET SESSION tx_isolation='READ-COMMITTED'");पीपीपी ने मेरे स्थानीय सर्वर पर मेरी समस्या को हल कर दिया। मैंने इसे लाइव सर्वर पर अभी तक चेक नहीं किया है। कृपया पुष्टि करें कि यह आपके द्वारा परीक्षण किए जाने पर भविष्य में कोई मुद्दा नहीं देगा? मैं कॉमर्स किकस्टार्ट का उपयोग कर रहा हूं।
सुमित मदन

मैं सभी अनुशंसाओं का उपयोग करता हूँ, रिपोर्ट सुनी है जो drupal.org पढ़ी हुई प्रतिबद्ध है। नवीनतम d7 रिलीज़ का उपयोग करना सुनिश्चित करें क्योंकि इसमें एक डेडलॉक फ़िक्स भी है।
mikeytown2

1
माइकटाउन 2 आप जो कह रहे हैं उससे मैं समझ गया था कि अब ड्रुपल 7 संस्करणों का समाधान हो गया है? इसके बारे में सोचकर मैं अभी भी नवीनतम संस्करण में एक ही समस्या के साथ आता हूं।
मार्को ब्लाजाकोविक

1
@MarkoBlazekovic गतिरोध के साथ अधिकांश प्रमुख मुद्दे D7 में आधे हल हैं। डेटाबेस कैश टेबल के साथ अभी भी कुछ गतिरोध और मेटाडेटा लॉकिंग मुद्दे हैं। मैं उन्हें हल करने के लिए एक मॉड्यूल पर काम कर रहा हूं: drupal.org/project/apdqc । मेरे टेस्टिंग से APDQC कैश टेबल के संबंध में हर एक डेटाबेस लॉकिंग मुद्दे के बारे में हल करता है। एक बार स्थापित होने के बाद स्थिति रिपोर्ट पर सभी मुद्दों को ठीक करना सुनिश्चित करें। ध्यान दें कि मॉड्यूल अभी भी भारी विकास के अधीन है क्योंकि मेरे पास अभी तक इसके एक गैर देव संस्करण को जारी करने के लिए नहीं है।
mikeytown2

4

एक बार और सभी के लिए डेडलॉक त्रुटियों से छुटकारा पाने का सबसे अच्छा तरीका एसिंक्रोनस प्रीफैच डेटाबेस क्वेरी कैश मॉड्यूल है।

मैं इसकी पर्याप्त अनुशंसा नहीं कर सकता। शानदार ढंग से लिखित और शानदार प्रदर्शन।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.