আমাদের মঙ্গোদবের সাম্প্রতিকতম স্বয়ংক্রিয় আপডেটের সময় PRIMARY
, যখন পদক্ষেপটি PRIMARY
স্থায়ীভাবে স্থিতিপথে একটি ROLLBACK
অবস্থায় চলে যায় ।
ROLLBACK
রাজ্যে বেশ কয়েক ঘন্টা থাকার পরেও মংগদ্ব ডাটাবেস ডিরেক্টরিতে ডিরেক্টরিটিতে এখনও কোনও রোলব্যাক .bson
ফাইল নেই rollback
। এটি এবং আমাদের লগ ফাইলে এই লাইনটিও: প্রক্রিয়াটি ব্যর্থ হয়েছে [rsSync] replSet syncThread: 13410 replSet too much data to roll back
বলে মনে হয় ROLLBACK
।
আমি ঠিক কী ভুল হয়েছে তা বিশ্লেষণ করতে কিছু সহায়তা চাই।
- এটি আমাদের লগগুলিতে দুটি পৃথক রোলব্যাকগুলি উপস্থিত হয়েছিল। এটি কি ঘটনাটি ছিল নাকি এটিতে 3 ঘন্টা সময় লেগেছিল?
- যদি প্রথম রোলব্যাকটি (19:00 ঘন্টা এ) সফল হয় তবে ওউ
rollback
ডিরেক্টরিতে কেন কিছু উপস্থিত হয়নি ? - এই সমস্ত সতর্কতার কারণ হিসাবে কোন অনুমান? এটি কি রোলব্যাক ব্যর্থতার সাথে সম্পর্কিত হতে পারে?
- আমরা কি প্রথমটির কারণে 18 সেকেন্ডের ডেটা হারিয়েছি
ROLLBACK
? - "আটকে থাকা" সমস্যার কোনও জেনেরিক সমাধান রয়েছে কি
ROLLBACK
? আমরা আমাদের সম্পূর্ণ ডিবিটিকে পায়ের পাতার মোজাবিশেষ এবং প্রাথমিক থেকে পুনরায় সিঙ্ক করতে শেষ করেছি।
সম্পর্কিত লগ লাইনগুলি হ'ল:
# Primary coming back after restart...
Tue May 15 19:01:01 [initandlisten] MongoDB starting : pid=3684 port=27017 dbpath=/var/lib/mongodb 64-bit host=magnesium
Tue May 15 19:01:01 [initandlisten] db version v2.0.5, pdfile version 4.5
# ... init stuff
Tue May 15 19:01:01 [initandlisten] journal dir=/var/lib/mongodb/journal
Tue May 15 19:01:01 [initandlisten] recover : no journal files present, no recovery needed
# ... More init stuff
Tue May 15 19:01:03 [rsStart] trying to contact rs1arb1.c9w.co:27017
Tue May 15 19:01:03 [rsStart] trying to contact rs1m2.c9w.co:27017
Tue May 15 19:01:03 [rsStart] replSet STARTUP2
Tue May 15 19:01:03 [rsHealthPoll] replSet member rs1arb1.c9w.co:27017 is up
Tue May 15 19:01:03 [rsHealthPoll] replSet member rs1arb1.c9w.co:27017 is now in state ARBITER
Tue May 15 19:01:03 [rsSync] replSet SECONDARY
Tue May 15 19:01:05 [rsHealthPoll] replSet member rs1m2.c9w.co:27017 is up
Tue May 15 19:01:05 [rsHealthPoll] replSet member rs1m2.c9w.co:27017 is now in state PRIMARY
Tue May 15 19:01:09 [rsSync] replSet syncing to: rs1m2.c9w.co:27017
Tue May 15 19:01:09 [rsSync] replSet our last op time written: May 15 19:00:51:6
Tue May 15 19:01:09 [rsSync] replSet rollback 0
Tue May 15 19:01:09 [rsSync] replSet ROLLBACK
Tue May 15 19:01:09 [rsSync] replSet rollback 1
Tue May 15 19:01:09 [rsSync] replSet rollback 2 FindCommonPoint
Tue May 15 19:01:09 [rsSync] replSet info rollback our last optime: May 15 19:00:51:6
Tue May 15 19:01:09 [rsSync] replSet info rollback their last optime: May 15 19:01:09:19
Tue May 15 19:01:09 [rsSync] replSet info rollback diff in end of log times: -18 seconds
Tue May 15 19:01:10 [rsSync] replSet WARNING ignoring op on rollback no _id TODO : nimbus.system.indexes { ts: Timestamp 1337108400000|17, h: 1628369028235805797, op: "i", ns: "nimbus.system.indexes", o: { unique: true, name: "pascalquery_ns_key_start_ts_keyvals", key: { __ns__: 1, _key: 1, start_ts: 1, _keyval.a: 1, _keyval.b: 1, _keyval.c: 1, _keyval.d: 1, _keyval.e: 1, _keyval.f: 1, _keyval.g: 1, _keyval.h: 1 }, ns: "nimbus.wifi_daily_series", background: true } }
# ...
# Then for several minutes there are similar warnings
# ...
Tue May 15 19:03:52 [rsSync] replSet WARNING ignoring op on rollback no _id TODO : nimbus.system.indexes { ts: Timestamp 1337097600000|204, h: -3526710968279064473, op: "i", ns: "nimbus.system.indexes", o: { unique: true, name: "pascalquery_ns_key_start_ts_keyvals", key: { __ns__: 1, _key: 1, start_ts: 1, _keyval.a: 1, _keyval.b: 1, _keyval.c: 1, _keyval.d: 1, _keyval.e: 1, _keyval.f: 1, _keyval.g: 1, _keyval.h: 1 }, ns: "nimbus.wifi_daily_series", background: true } }
Tue May 15 19:03:54 [rsSync] replSet rollback found matching events at May 15 15:59:13:181
Tue May 15 19:03:54 [rsSync] replSet rollback findcommonpoint scanned : 6472020
Tue May 15 19:03:54 [rsSync] replSet replSet rollback 3 fixup
তারপরে পরে কোনও কারণে আর একটি রোলব্যাক দেখা দেয় ...
Tue May 15 22:14:24 [rsSync] replSet rollback re-get objects: 13410 replSet too much data to roll back
Tue May 15 22:14:26 [rsSync] replSet syncThread: 13410 replSet too much data to roll back
Tue May 15 22:14:37 [rsSync] replSet syncing to: rs1m2.c9w.co:27017
Tue May 15 22:14:37 [rsSync] replSet syncThread: 13106 nextSafe(): { $err: "capped cursor overrun during query: local.oplog.rs", code: 13338 }
Tue May 15 22:14:48 [rsSync] replSet syncing to: rs1m2.c9w.co:27017
Tue May 15 22:15:30 [rsSync] replSet our last op time written: May 15 19:00:51:6
Tue May 15 22:15:30 [rsSync] replSet rollback 0
Tue May 15 22:15:30 [rsSync] replSet rollback 1
Tue May 15 22:15:30 [rsSync] replSet rollback 2 FindCommonPoint
Tue May 15 22:15:30 [rsSync] replSet info rollback our last optime: May 15 19:00:51:6
Tue May 15 22:15:30 [rsSync] replSet info rollback their last optime: May 15 22:15:30:9
Tue May 15 22:15:30 [rsSync] replSet info rollback diff in end of log times: -11679 seconds
# More warnings matching the above warnings
Tue May 15 22:17:30 [rsSync] replSet rollback found matching events at May 15 15:59:13:181
Tue May 15 22:17:30 [rsSync] replSet rollback findcommonpoint scanned : 7628640
Tue May 15 22:17:30 [rsSync] replSet replSet rollback 3 fixup
রোলব্যাকগুলিতে কেবলমাত্র দরকারী তথ্য হ'ল এই নোটগুলি হ'ল "রোলব্যাকের পরিস্থিতিতে আটকে আছে" address http://www.mongodb.org/display/DOCS/Replica+Sets+-+ রোলব্যাকস http://www.snailinaturtleneck.com/blog/2011/01/19/how-to-use-replica-set-rolbacks/