[SERVER-20858] Invariant failure in OplogStones for non-capped oplog creation Created: 09/Oct/15  Updated: 12/Jan/16  Resolved: 29/Oct/15

Status: Closed
Project: Core Server
Component/s: Storage, WiredTiger
Affects Version/s: 3.1.9
Fix Version/s: 3.0.9, 3.2.0-rc2

Type: Bug Priority: Minor - P4
Reporter: Scott Hernandez (Inactive) Assignee: Max Hirschhorn
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by SERVER-20912 rs.initiate allows the creation of a ... Closed
Related
is related to SERVER-22030 Abort if oplog is uncapped when start... Closed
Backwards Compatibility: Major Change
Operating System: ALL
Backport Completed:
Sprint: QuInt B (11/02/15)
Participants:

 Description   

If you insert or create an oplog collection which is not capped this invariant hits:

2015-10-09T17:47:21.640-0400 I STORAGE  [conn1] Starting WiredTigerRecordStoreThread local.oplog.rs
2015-10-09T17:47:21.640-0400 I -        [conn1] Invariant failure rs->isCapped() src/mongo/db/storage/wiredtiger/wiredtiger_record_store.cpp 150
2015-10-09T17:47:21.640-0400 I -        [conn1] 
 
***aborting after invariant() failure
 
 
2015-10-09T17:47:21.650-0400 F -        [conn1] warning: log line attempted (10k) over max size (10k), printing beginning and end ... Got signal: 6 (Abort trap: 6).
 
 0x101dc278a 0x101dc213f 0x7fff95569f1a 0x60 0x7fff9b56fb53 0x101d64cb6 0x101b99255 0x101b9c35a 0x101b9c61f 0x101b96a03 0x101b099c4 0x101614db2 0x1016cf6b8 0x1016cf5f6 0x1016ccb48 0x1016c98f8 0x1016c9068 0x1016c7f99 0x1016d0bd4 0x1016ed160 0x1016ec232 0x1016410bd 0x1017e8d59 0x1014eafec 0x101d80403 0x101d7fbf1 0x7fff92ccc268 0x7fff92ccc1e5 0x7fff92cca41d
----- BEGIN BACKTRACE -----
{"backtrace":[{"b":"1014E1000","o":"8E178A"},{"b":"1014E1000","o":"8E113F"},{"b":"7FFF95565000","o":"4F1A"},{"b":"0","o":"60"},{"b":"7FFF9B512000","o":"5DB53"},{"b":"1014E1000","o":"883CB6"},{"b":"1014E1000","o":"6B8255"},{"b":"1014E1000","o":"6BB35A"},{"b":"1014E1000","o":"6BB61F"},{"b":"1014E1000","o":"6B5A03"},{"b":"1014E1000","o":"6289C4"},{"b":"1014E1000","o":"133DB2"},{"b":"1014E1000","o":"1EE6B8"},{"b":"1014E1000","o":"1EE5F6"},{"b":"1014E1000","o":"1EBB48"},{"b":"1014E1000","o":"1E88F8"},{"b":"1014E1000","o":"1E8068"},{"b":"1014E1000","o":"1E6F99"},{"b":"1014E1000","o":"1EFBD4"},{"b":"1014E1000","o":"20C160"},{"b":"1014E1000","o":"20B232"},{"b":"1014E1000","o":"1600BD"},{"b":"1014E1000","o":"307D59"},{"b":"1014E1000","o":"9FEC"},{"b":"1014E1000","o":"89F403"},{"b":"1014E1000","o":"89EBF1"},{"b":"7FFF92CC9000","o":"3268"},{"b":"7FFF92CC9000","o":"31E5"},{"b":"7FFF92CC9000","o":"141D"}],"processInfo":{ "mongodbVersion" : "3.1.10-pre-", "gitVersion" : "0b2638388f5336222682f355501ecb6af042297a", "compiledModules" : [], "uname" : { "sysname" : "Darwin", "release" : "14.3.0", "version" : "Darwin Kernel Version 14.3.0: Mon Mar 23 20:23:44 PDT 2015; root:xnu-2782.20.48~8/RELEASE_X86_64", "machine" : "x86_64" }, "somap" : [ { "path" : "/Users/scotthernandez/git/mongo/./mongod", "machType" : 2, "b" : "1014E1000", "buildId" : "BBB582429C113F77B35D449A3CC298E3" }, { "path" : "/usr/lib/libSystem.B.dylib", "machType" : 6, "b" : "7FFF93C58000", "buildId" : "CCEC13A5D0D931C5B0B01C564B4A20A6" }, { "path" : "/usr/lib/libc++.1.dylib", "machType" : 6, "b" : "7FFF92E59000", "buildId" : "1B9530FD989B3174BB1CBDC159501710" }, { "path" : "/usr/lib/system/libcache.dylib", "machType" : 6, "b" : "7FFF955B5000", "buildId" : "45E9A2E799C436B2BEE30C4E11614AD1" }, { "path" : "/usr/lib/system/libcommonCrypto.dylib", "machType" : 6, "b" : "7FFF8C37A000", "buildId" : "D381EBC669D831D380845A80A32CB748" }, { "path" : "/usr/lib/system/libcompiler_rt.dylib", "machType" : 6, "b" : "7FFF9779E000", "buildId" : "BF8FC133EE103DA69B9092039E28678F" }, { "path" : "/usr/lib/system/libcopyfile.dylib", "machType" : 6, "b" : "7FFF9086E000", "buildId" : "0C68D3A6ACDD3EF3991ACC82C32AB836" }, { "path" : "/usr/lib/system/libcorecrypto.dylib", "machType" : 6, "b" : "7FFF931D9000", "buildId" : "E178980139853949B7366B3378873301" }, { "path" : "/usr/lib/system/libdispatch.dylib", "machType" : 6, "b" : "7FFF96715000", "buildId" : "502CF32B669B3709886208188225E4F0" }, { "path" : "/usr/lib/system/libdyld.dylib", "machType" : 6, "b" : "7FFF8F216000", "buildId" : "9EACCA38291D38CC811F7E9D1451E2D3" }, { "path" : "/usr/lib/system/libkeymgr.dylib", "machType" : 6, "b" : "7FFF9473F000", "buildId" : "77845842DE703CC5BD01C3D14227CED5" }, { "path" : "/usr/lib/system/liblaunch.dylib", "machType" : 6, "b" : "7FFF98CC2000", "buildId" : "FA89A113696E32718FE1A0D7324E8481" }, { "path" : "/usr/lib/system/libmacho.dylib", "machType" : 6, "b" : "7FFF90866000", "buildId" : "126CA2EDDE91308F8881B9DAEC3C63B6" }, { " .......... 9000", "buildId" : "2EE8E4365CDC34C599595BA218D507FB" } ] }}
 mongod(_ZN5mongo15printStackTraceERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEE+0x3A) [0x101dc278a]
 mongod(_ZN5mongo12_GLOBAL__N_110abruptQuitEi+0xAF) [0x101dc213f]
 libsystem_platform.dylib(_sigtramp+0x1A) [0x7fff95569f1a]
 ??? [0x60]
 libsystem_c.dylib(abort+0x81) [0x7fff9b56fb53]
 mongod(_ZN5mongo15invariantFailedEPKcS1_j+0x2F6) [0x101d64cb6]
 mongod(_ZN5mongo21WiredTigerRecordStore11OplogStonesC2EPNS_16OperationContextEPS0_+0x245) [0x101b99255]
 mongod(_ZN5mongo21WiredTigerRecordStoreC2EPNS_16OperationContextENS_10StringDataES3_bxxPNS_14CappedCallbackEPNS_20WiredTigerSizeStorerE+0x89A) [0x101b9c35a]
 mongod(_ZN5mongo21WiredTigerRecordStoreC1EPNS_16OperationContextENS_10StringDataES3_bxxPNS_14CappedCallbackEPNS_20WiredTigerSizeStorerE+0x3F) [0x101b9c61f]
 mongod(_ZN5mongo18WiredTigerKVEngine14getRecordStoreEPNS_16OperationContextENS_10StringDataES3_RKNS_17CollectionOptionsE+0x143) [0x101b96a03]
 mongod(_ZN5mongo22KVDatabaseCatalogEntry16createCollectionEPNS_16OperationContextENS_10StringDataERKNS_17CollectionOptionsEb+0x3D4) [0x101b099c4]
 mongod(_ZN5mongo8Database16createCollectionEPNS_16OperationContextENS_10StringDataERKNS_17CollectionOptionsEb+0x302) [0x101614db2]
 mongod(_ZN5mongo18WriteBatchExecutor16ExecInsertsState17_lockAndCheckImplEPNS_12_GLOBAL__N_113WriteOpResultEb+0x988) [0x1016cf6b8]
 mongod(_ZN5mongo18WriteBatchExecutor16ExecInsertsState17_lockAndCheckImplEPNS_12_GLOBAL__N_113WriteOpResultEb+0x8C6) [0x1016cf5f6]
 mongod(_ZN5mongo18WriteBatchExecutor13execOneInsertEPNS0_16ExecInsertsStateEPPNS_16WriteErrorDetailE+0x838) [0x1016ccb48]
 mongod(_ZN5mongo18WriteBatchExecutor11execInsertsERKNS_21BatchedCommandRequestEPNSt3__16vectorIPNS_16WriteErrorDetailENS4_9allocatorIS7_EEEE+0x3E8) [0x1016c98f8]
 mongod(_ZN5mongo18WriteBatchExecutor11bulkExecuteERKNS_21BatchedCommandRequestEPNSt3__16vectorIPNS_19BatchedUpsertDetailENS4_9allocatorIS7_EEEEPNS5_IPNS_16WriteErrorDetailENS8_ISD_EEEE+0x248) [0x1016c9068]
 mongod(_ZN5mongo18WriteBatchExecutor12executeBatchERKNS_21BatchedCommandRequestEPNS_22BatchedCommandResponseE+0x349) [0x1016c7f99]
 mongod(_ZN5mongo8WriteCmd3runEPNS_16OperationContextERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEERNS_7BSONObjEiRS9_RNS_14BSONObjBuilderE+0x1E4) [0x1016d0bd4]
 mongod(_ZN5mongo7Command3runEPNS_16OperationContextERKNS_3rpc16RequestInterfaceEPNS3_21ReplyBuilderInterfaceE+0x9B0) [0x1016ed160]
 mongod(_ZN5mongo7Command11execCommandEPNS_16OperationContextEPS0_RKNS_3rpc16RequestInterfaceEPNS4_21ReplyBuilderInterfaceE+0xB52) [0x1016ec232]
 mongod(_ZN5mongo11runCommandsEPNS_16OperationContextERKNS_3rpc16RequestInterfaceEPNS2_21ReplyBuilderInterfaceE+0x21D) [0x1016410bd]
 mongod(_ZN5mongo16assembleResponseEPNS_16OperationContextERNS_7MessageERNS_10DbResponseERKNS_11HostAndPortE+0x1669) [0x1017e8d59]
 mongod(_ZN5mongo16MyMessageHandler7processERNS_7MessageEPNS_21AbstractMessagingPortE+0xBC) [0x1014eafec]
 mongod(_ZN5mongo17PortMessageServer17handleIncomingMsgEPv+0x253) [0x101d80403]
 mongod(_ZNSt3__114__thread_proxyINS_5tupleIJNS_6__bindIPFPvS3_EJPN5mongo12_GLOBAL__N_124MessagingPortWithHandlerEEEEEEEEES3_S3_+0x61) [0x101d7fbf1]
 libsystem_pthread.dylib(_pthread_body+0x83) [0x7fff92ccc268]
 libsystem_pthread.dylib(_pthread_body+0x0) [0x7fff92ccc1e5]
 libsystem_pthread.dylib(thread_start+0xD) [0x7fff92cca41d]



 Comments   
Comment by Githook User [ 12/Jan/16 ]

Author:

{u'username': u'visemet', u'name': u'Max Hirschhorn', u'email': u'max.hirschhorn@mongodb.com'}

Message: SERVER-20858 Reject creation of non-capped oplog collections.

(cherry picked from commit bee7144f59bc8782c3c8e76c45a9f9e0e39cb1e6)
Branch: v3.0
https://github.com/mongodb/mongo/commit/afcc50b846742189d4250a8f2ac9786f66e70e05

Comment by Githook User [ 29/Oct/15 ]

Author:

{u'username': u'visemet', u'name': u'Max Hirschhorn', u'email': u'max.hirschhorn@mongodb.com'}

Message: SERVER-20858 Reject creation of non-capped oplog collections.
Branch: master
https://github.com/mongodb/mongo/commit/bee7144f59bc8782c3c8e76c45a9f9e0e39cb1e6

Comment by Scott Hernandez (Inactive) [ 26/Oct/15 ]

david.hows, this happens well before replication is involved or initiated; I'm not sure how a change to replSetInitiate will help here and why this is a duplicate of that cleanup.

To repro this all you need to do is start the server (no replication needed) and run:

> db.getSiblingDB("local").createCollection("oplog.rs")
// or
> db.getSiblingDB("local").oplog.rs.insert({})
// or use mongorestore, or any other tool for that matter.

Generated at Thu Feb 08 03:55:31 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.