{
 "number": 36214,
 "repo": "bitcoin/bitcoin",
 "url": "https://github.com/bitcoin/bitcoin/pull/36214",
 "title": "test: cover cluster limits during reorgs",
 "author": "yuvicc",
 "author_association": "CONTRIBUTOR",
 "created_at": "2026-09-10T04:10:57Z",
 "updated_at": "2026-09-10T13:21:54Z",
 "age_days": 7,
 "draft": false,
 "labels": [
  "Tests"
 ],
 "milestone": null,
 "base": "master",
 "head_sha": "f396df91a79be76dcf93b1551632bb7e14407282",
 "head_ref": "2026-7-add_reorg_test_cluster_mempoool",
 "head_repo": "yuvicc/bitcoin",
 "head_history": [],
 "additions": 233,
 "deletions": 0,
 "changed_files": 1,
 "commit_count": 1,
 "size_bucket": "M",
 "mergeable_state": "clean",
 "bot": {
  "drahtbot": {
   "present": true,
   "reviews": {},
   "conflicts": []
  }
 },
 "acks_parsed": {},
 "acks_tally": {
  "ack": 0,
  "stale_ack": 0,
  "concept_ack": 0,
  "approach_ack": 0,
  "nack": 0,
  "concept_nack": 0,
  "approach_nack": 0
 },
 "reviews": {
  "approved": 0,
  "changes_requested": 0,
  "distinct_reviewers": [
   "fanquake",
   "instagibbs"
  ]
 },
 "signals": {
  "needs_rebase": false,
  "ci_failed": false,
  "mergeable_state": "clean",
  "last_author_activity": "2026-09-10T13:21:54Z",
  "last_reviewer_activity": "2026-09-10T12:32:07Z",
  "last_reviewer": "instagibbs",
  "author_silent_days": 7,
  "waiting_on_author_days": 0,
  "days_since_update": 7
 },
 "refs": {
  "mentioned": [],
  "depends_on": [],
  "fixes": [],
  "linked_issues": [],
  "references": [],
  "conflicts": []
 },
 "stack": {
  "shares_commits_with": [],
  "based_on": [],
  "base_for": []
 },
 "review_paths": [],
 "body": "This PR adds functional test coverage for cluster-limit handling during reorgs.\n\nTransactions resurrected from disconnected blocks are added before their existing mempool children are linked in the transaction graph. Once those dependencies are restored, oversized clusters must be trimmed back within their configured count and size limits.",
 "commits": [
  {
   "sha": "f396df91a79be76dcf93b1551632bb7e14407282",
   "date": "2026-09-10T04:09:06Z",
   "message": "test: cover cluster limits during reorgs"
  }
 ],
 "timeline": [
  {
   "t": "2026-09-10T08:56:11Z",
   "kind": "comment",
   "who": "fanquake",
   "assoc": "MEMBER",
   "text": "cc @instagibbs @sipa"
  },
  {
   "t": "2026-09-10T12:32:07Z",
   "kind": "comment",
   "who": "instagibbs",
   "assoc": "MEMBER",
   "text": "I think the only thing this test adds over `test_chainlimits_exceeded` and `transaction_graph_test` is testing the pre-existing mempool children are added back in to the clusters. Thoughts?"
  },
  {
   "t": "2026-09-10T13:21:54Z",
   "kind": "comment",
   "who": "yuvicc",
   "assoc": "CONTRIBUTOR",
   "text": "[quoted text omitted]\n\nAgree, `transaction_graph_test` covers reconnecting existing children. These tests cover clusters that become oversized only after reconnecting existing children, exercising `Trim()` for count, size, and merged clusters."
  }
 ],
 "labels_log": [
  {
   "t": "2026-09-10T04:11:00Z",
   "action": "labeled",
   "label": "Tests",
   "who": "DrahtBot"
  }
 ],
 "state_log": [],
 "text_chars": 877,
 "text_tokens_estimate": 219,
 "changed_paths": [
  "test/functional/mempool_cluster.py"
 ],
 "files": [
  {
   "path": "test/functional/mempool_cluster.py",
   "add": 233,
   "del": 0
  }
 ],
 "test_lines": 233,
 "git": {
  "head": "f396df91a79be76dcf93b1551632bb7e14407282",
  "head_matches_backup": true,
  "base": "a24110cef7fa36138620f1876cd0722944618d07",
  "commits": [
   {
    "sha": "f396df91a7",
    "subject": "test: cover cluster limits during reorgs",
    "files": 1,
    "add": 233,
    "del": 0
   }
  ],
  "patch_truncated": false
 },
 "input_hash": "8f96aa16a3ae11e4",
 "extracted_at": "2026-09-17T16:15:31+00:00"
}