A method for managing placement of object replicas in a distributed storage system, comprising: at a first instance of the distributed storage system, having one or more processors and memory, wherein the memory stores a plurality of objects and one or more programs for execution by the one or more processors: opening one or more journals, a journal being a file that contains a group of objects having the same placement policy, a placement policy being a set of constraints imposed on the number and locations of object replicas, for storage of object chunks, wherein each journal is associated with a single respective placement policy; receiving a first object comprising at least a first object chunk, wherein the first object is associated with a first placement policy; storing the first object chunk in a first journal whose associated placement policy matches the first placement policy, wherein the first journal stores only object chunks for objects whose placement policies match the first placement policy; for the first journal, repeating the receiving and storing operations for a first plurality of objects whose associated placement policies match the first placement policy, until a first termination condition occurs; after the first termination condition occurs, performing the following: closing the first journal, thereby preventing any additional object chunks from being stored in the first journal but still enabling content being deleted and compacted; replicating the first journal to a second instance of the distributed storage system in accordance with the first placement policy; deleting object chunks from the journal; compacting the journal by consolidating the stored object chunks into a contiguous block thus reducing the size of the journal, the method further comprising stitching together two or more closed journals to form a single replacement journal, where only journals from which content is being deleted and compacted are stitched together. at a first instance of the distributed storage system, having one or more processors and memory, wherein the memory stores a plurality of objects and one or more programs for execution by the one or more processors: opening one or more journals, a journal being a file that contains a group of objects having the same placement policy, a placement policy being a set of constraints imposed on the number and locations of object replicas, for storage of object chunks, wherein each journal is associated with a single respective placement policy; receiving a first object comprising at least a first object chunk, wherein the first object is associated with a first placement policy; storing the first object chunk in a first journal whose associated placement policy matches the first placement policy, wherein the first journal stores only object chunks for objects whose placement policies match the first placement policy; for the first journal, repeating the receiving and storing operations for a first plurality of objects whose associated placement policies match the first placement policy, until a first termination condition occurs; opening one or more journals, a journal being a file that contains a group of objects having the same placement policy, a placement policy being a set of constraints imposed on the number and locations of object replicas, for storage of object chunks, wherein each journal is associated with a single respective placement policy; receiving a first object comprising at least a first object chunk, wherein the first object is associated with a first placement policy; storing the first object chunk in a first journal whose associated placement policy matches the first placement policy, wherein the first journal stores only object chunks for objects whose placement policies match the first placement policy; for the first journal, repeating the receiving and storing operations for a first plurality of objects whose associated placement policies match the first placement policy, until a first termination condition occurs; after the first termination condition occurs, performing the following: closing the first journal, thereby preventing any additional object chunks from being stored in the first journal but still enabling content being deleted and compacted; replicating the first journal to a second instance of the distributed storage system in accordance with the first placement policy; deleting object chunks from the journal; compacting the journal by consolidating the stored object chunks into a contiguous block thus reducing the size of the journal, the method further comprising stitching together two or more closed journals to form a single replacement journal, where only journals from which content is being deleted and compacted are stitched together. closing the first journal, thereby preventing any additional object chunks from being stored in the first journal but still enabling content being deleted and compacted; replicating the first journal to a second instance of the distributed storage system in accordance with the first placement policy; deleting object chunks from the journal; compacting the journal by consolidating the stored object chunks into a contiguous block thus reducing the size of the journal, the method further comprising stitching together two or more closed journals to form a single replacement journal, where only journals from which content is being deleted and compacted are stitched together.