MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

डेटा ट्रांसफर में TO-shard संलग्न करने में MoveChunk विफल रहा:नए भाग स्वीकार नहीं कर सकता क्योंकि

इस तरह की समस्या को देखना आम बात नहीं है, लेकिन मैंने इसे छिटपुट रूप से होते देखा है।

यहां करने के लिए सबसे अच्छा उपचारात्मक कार्रवाई संदर्भित टू शार्ड के प्राथमिक को नीचे ले जाना है जो पृष्ठभूमि को हटा देगा। हटाए गए धागे केवल वर्तमान प्राथमिक पर मौजूद हैं (उन्हें उस प्राथमिक से oplog के माध्यम से दोहराया जाएगा जैसा कि उन्हें संसाधित किया जाता है)। जब आप इसे नीचे ले जाते हैं, तो यह एक माध्यमिक बन जाता है, धागे अब नहीं लिख सकते हैं और आपको एक नया प्राथमिक मिलता है जिसमें कोई लंबित डिलीट नहीं होता है। आप पुराने कर्सर को हटाने के लिए स्टेप डाउन के बाद पूर्व प्राथमिक को फिर से शुरू करना चाह सकते हैं, लेकिन यह आमतौर पर जरूरी नहीं है।

एक बार जब आप ऐसा कर लेते हैं, तो आपके पास बड़ी संख्या में अनाथ दस्तावेज़ रह जाएंगे, जो cleanUpOrphaned आदेश जिसे मैं कम ट्रैफ़िक समय पर चलाने की सलाह दूंगा (यदि आपके पास ऐसा समय है)।

संदर्भ के लिए, यदि यह एक आवर्ती समस्या है, तो यह संभव है कि प्राथमिक लोड के मामले में थोड़ा संघर्ष कर रहे हों, और हटाए जाने की कतार से बचने के लिए आप _waitForDelete विकल्प बैलेंसर के लिए सही (डिफ़ॉल्ट रूप से गलत) निम्नानुसार है:

use config
db.settings.update(
   { "_id" : "balancer" },
   { $set : { "_waitForDelete" : true } },
   { upsert : true }
)

इसका मतलब यह होगा कि प्रत्येक माइग्रेशन धीमा है (शायद काफी हद तक) लेकिन इससे बैकग्राउंड डिलीट जमा नहीं होगा।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. नेस्टेड दस्तावेज़ के साथ मोंगोडब $लुकअप

  2. MongoDB जावा ड्राइवर:आईडी द्वारा फ़िल्टर करें

  3. MongoDB में खुले कनेक्शन के साथ सॉकेटटाइमआउट

  4. समूह MongoDB महीने के हिसाब से संग्रह और मंथन/राजस्व चार्ट के लिए कुल राजस्व

  5. कॉस्मॉस डीबी मोंगो एपीआई अनुरोध दर का प्रबंधन कैसे करें बड़ी स्थिति है