[SERVER-5723] separate journaling per database Created: 30/Apr/12  Updated: 06/Dec/22  Resolved: 16/Nov/16

Status: Closed
Project: Core Server
Component/s: MMAPv1, Storage
Affects Version/s: 2.1.1
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Eric Milkie Assignee: Backlog - Storage Execution Team
Resolution: Won't Fix Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by SERVER-10658 Journal Per Database Closed
Related
related to SERVER-9245 Separate oplog per database Closed
Assigned Teams:
Storage Execution
Participants:

 Description   

Rather than committing all the open databases at once. This will allow better performance with db level locking, as well as simplifying the GlobalWriteLock consumers.



 Comments   
Comment by Eric Milkie [ 16/Nov/16 ]

No longer considering this for MMAPv1.

Comment by Benjamin Abbott-Scott [ 07/Dec/12 ]

Please consider segregating both journaling AND oplogging per database.

I just broke our replication set (second time in a week I'm going to spend all day rebuilding) by making a copy of the local database. When the secondary went to replicate that copy, rsSync throws:
Fri Dec 7 10:35:33 [rsSync] replSet syncTail: 10156 cannot update system collection: copylocal.system.replset q:

{ _id: "emu_reports" }

u: { _id: "emu_reports", version: 20, members: [

{ _id: 2, host: "<snip>", priority: 0.0, hidden: true }

,

{ _id: 4, host: "<snip>", priority: 5.0 }

,

{ _id: 5, host: "<snip>", priority: 10.0 }

] }, syncing: { ts: Timestamp 1354905297000|120, h: -8769419479077831402, op: "i", ns: "copylocal.system.replset", o: { _id: "emu_reports", version: 20, members: [

{ _id: 2, host: "<snip>", priority: 0.0, hidden: true }

,

{ _id: 4, host: "<snip>", priority: 5.0 }

,

{ _id: 5, host: "<snip>", priority: 10.0 }

] } }

And three hours later, our oplog runs out. grr. A failure in one database taking down a whole replica set seems avoidable by this sort of segregation.

Comment by Andy Schwerin [ 30/Apr/12 ]

To clarify, we'd have a single journal, still, just we wouldn't do the journal committing for all dbs at once.

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