Michael Dürig

OAK-936: Site checkin for project Oak Documentation-1.12-SNAPSHOT
  1. … 57 more files in changeset.
OAK-301: Document Oak

Memoirs in Garbage Collection (WIP):

- Cleanup before compaction in Oak 1.10

OAK-301: Document Oak

Memoirs in Garbage Collection (WIP):

- Describe usage of MemoryNodeBuilder in Compactor to handle many direct child nodes and track the stableId

OAK-936: Site checkin for project Oak Documentation-1.12-SNAPSHOT
  1. … 55 more files in changeset.
OAK-301: Document Oak

Memoirs in Garbage Collection (WIP):

- Describe checkpoint rebasing and tail compaction in Oak 1.8

OAK-936: Site checkin for project Oak Documentation-1.12-SNAPSHOT
  1. … 97 more files in changeset.
OAK-936: Site checkin for project Oak Documentation-1.12-SNAPSHOT
  1. … 97 more files in changeset.
OAK-301: Document Oak

Memoirs in Garbage Collection:

- Improved cross referencing into GitHub

- Paragraph about how reachability is used for bulk segments in Oak 1.6 to determine reclaimability for those

OAK-936: Site checkin for project Oak Documentation-1.12-SNAPSHOT
  1. … 107 more files in changeset.
OAK-301: Document Oak

Memoirs in Garbage Collection: description of compaction and cleanup in Oak 1.4 and before. Special mention of the potential for cycles in the segment graph

OAK-936: Site checkin for project Oak Documentation-1.12-SNAPSHOT
  1. … 5258 more files in changeset.
OAK-301: Document Oak

Memoirs in Garbage Collection (WIP)

OAK-8094: JMX monitoring to detect commits carrying over from previous GC generation can block other threads from committing

Expose gc generation of commit

OAK-8094: JMX monitoring to detect commits carrying over from previous GC generation can block other threads from committing

Track and expose commit in progress and queued, dequed and applied time stamps per commit

OAK-8094: JMX monitoring to detect commits carrying over from previous GC generation can block other threads from committing

Add timestamp to monitoring of queued commits

OAK-8094: JMX monitoring to detect commits carrying over from previous GC generation can block other threads from committing

Simplify CommitsTrackerTest

OAK-8094: JMX monitoring to detect commits carrying over from previous GC generation can block other threads from committing

Always handle commits as queued even when the lock is free to avoid races between checking the number of available permits and actually acquiring the lock

OAK-8066: Nodes with many direct children can lead to OOME when saving

Flush modified child nodes to disk in regular intervals

OAK-8066: Nodes with many direct children can lead to OOME when saving

Removed left over comment

OAK-8066: Nodes with many direct children can lead to OOME when saving

Test case

OAK-8071: Logging to detect commits carrying over from previous GC generation can block other threads from committing

> Merged r1854515

OAK-8071: Logging to detect commits carrying over from previous GC generation can block other threads from committing

Merged r1854515

OAK-8071: Logging to detect commits carrying over from previous GC generation can block other threads from committing

Log warnings for commits being blocked on the current commit taking a long time or the current commit crossing a gc boundary.

OAK-8069: Log warning for too many transient modifications of direct child nodes

Merged r1854058

OAK-8069: Log warning for too many transient modifications of direct child nodes

Merged r1854058

OAK-8069: Log warning for too many transient modifications of direct child nodes
OAK-8033: Node states sometimes refer to more than a single generation of segments after a full compaction

Merged revision 1853429

OAK-8033: Node states sometimes refer to more than a single generation of segments after a full compaction

Merged revision 1853429

OAK-8033: Node states sometimes refer to more than a single generation of segments after a full compaction

Merged revision 1853429

OAK-8033: Node states sometimes refer to more than a single generation of segments after a full compaction

Use the gc-generation of the current write operation instead of the one of the repository head state when allocating new segment buffer writers in the course of a write operation.