[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: |
|
||||||||||||||||
| 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: 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. |