)]}'
{
  "commit": "efcb8830e3879e2d6c17a9c9abefbd5e546b55aa",
  "tree": "99056a61c5b3a238b5fb4cb23d8a8bd99e4e2387",
  "parents": [
    "5ff11f69b715abf3c499558e906f9a67900c2ace"
  ],
  "author": {
    "name": "Lee Rhodes",
    "email": "leerho@users.noreply.github.com",
    "time": "Thu Nov 12 11:55:38 2026 -0800"
  },
  "committer": {
    "name": "Lee Rhodes",
    "email": "leerho@users.noreply.github.com",
    "time": "Thu Nov 12 11:55:38 2026 -0800"
  },
  "message": "KLL: allocate heap item storage on first use; add ensureCapacity()\n\nHeap KLL sketches (doubles, floats, longs and items) no longer allocate\nitem storage when they are created, when an empty image is heapified,\nor on reset(). The storage is allocated on the first update, or on the\nfirst merge of a non-empty sketch, before anything else changes.\nensureCapacity() allocates it up front. It has no effect once the\nstorage exists, nor for sketches backed by a MemorySegment.\n\nThis follows the lazy allocation convention agreed on dev@. Results and\nthe serialized form are unchanged. An OutOfMemoryError from the first\nallocation now comes from the first update or merge instead of the\nconstructor; the class javadoc says so.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2981d3628cd4193b0c0c92dd82830cb46ed886d8",
      "old_mode": 33188,
      "old_path": "src/main/java/org/apache/datasketches/kll/KllDoublesSketch.java",
      "new_id": "9adaca31f0295fd5cc646229949fed9b23b3005b",
      "new_mode": 33188,
      "new_path": "src/main/java/org/apache/datasketches/kll/KllDoublesSketch.java"
    },
    {
      "type": "modify",
      "old_id": "b2741047c74f8faab4fdfefd20ac23a1ece98980",
      "old_mode": 33188,
      "old_path": "src/main/java/org/apache/datasketches/kll/KllFloatsSketch.java",
      "new_id": "90e3da5fe8a2758c86345653a243d6a58ba5ee2b",
      "new_mode": 33188,
      "new_path": "src/main/java/org/apache/datasketches/kll/KllFloatsSketch.java"
    },
    {
      "type": "modify",
      "old_id": "c6de1a5d8c29a33512e8eb6e0c8017844f09d5fc",
      "old_mode": 33188,
      "old_path": "src/main/java/org/apache/datasketches/kll/KllHeapDoublesSketch.java",
      "new_id": "dc82e07967a9da4695493773438b46b63cb813b4",
      "new_mode": 33188,
      "new_path": "src/main/java/org/apache/datasketches/kll/KllHeapDoublesSketch.java"
    },
    {
      "type": "modify",
      "old_id": "55b990d3cb09d31747d0cb29af2f337dae4a18dd",
      "old_mode": 33188,
      "old_path": "src/main/java/org/apache/datasketches/kll/KllHeapFloatsSketch.java",
      "new_id": "becba9a402ac318b3c15254952665d77b0a58959",
      "new_mode": 33188,
      "new_path": "src/main/java/org/apache/datasketches/kll/KllHeapFloatsSketch.java"
    },
    {
      "type": "modify",
      "old_id": "74640e90262c8565706d013ea7d24946d93b6ccf",
      "old_mode": 33188,
      "old_path": "src/main/java/org/apache/datasketches/kll/KllHeapItemsSketch.java",
      "new_id": "9d64d2459050cc5777b42293ce57139aaabc011f",
      "new_mode": 33188,
      "new_path": "src/main/java/org/apache/datasketches/kll/KllHeapItemsSketch.java"
    },
    {
      "type": "modify",
      "old_id": "21851b8b89e0fa94699c69946ac8bfcdc4ab4a62",
      "old_mode": 33188,
      "old_path": "src/main/java/org/apache/datasketches/kll/KllHeapLongsSketch.java",
      "new_id": "9eb0ff41af36cb508338bd93869656c3c32eb519",
      "new_mode": 33188,
      "new_path": "src/main/java/org/apache/datasketches/kll/KllHeapLongsSketch.java"
    },
    {
      "type": "modify",
      "old_id": "d71c75a85095cbf19581ac2cc1bcdc90fe005957",
      "old_mode": 33188,
      "old_path": "src/main/java/org/apache/datasketches/kll/KllItemsSketch.java",
      "new_id": "5c147b2c7d7bac67e00aaa44328ffc4080694c4e",
      "new_mode": 33188,
      "new_path": "src/main/java/org/apache/datasketches/kll/KllItemsSketch.java"
    },
    {
      "type": "modify",
      "old_id": "4826d8392fed5264f359b7bcb881a9880a9e5a4e",
      "old_mode": 33188,
      "old_path": "src/main/java/org/apache/datasketches/kll/KllLongsSketch.java",
      "new_id": "22e6925a120e09008406b98cab6a6c9270f5bf37",
      "new_mode": 33188,
      "new_path": "src/main/java/org/apache/datasketches/kll/KllLongsSketch.java"
    },
    {
      "type": "modify",
      "old_id": "2a3f992dd6e75780eccd12d0e6cd93cb323e64f7",
      "old_mode": 33188,
      "old_path": "src/main/java/org/apache/datasketches/kll/KllSketch.java",
      "new_id": "a91ee50e8097aa96758790a0786013bf6fe9ff34",
      "new_mode": 33188,
      "new_path": "src/main/java/org/apache/datasketches/kll/KllSketch.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e54275bd1715dbf1a7af074fc24b2e1ff1d3739e",
      "new_mode": 33188,
      "new_path": "src/test/java/org/apache/datasketches/kll/KllLazyAllocationTest.java"
    }
  ]
}
