)]}'
{
  "log": [
    {
      "commit": "ada6b145d0938662464d13a9642118691237f829",
      "tree": "02ec85adc68b5eb3a5e3fa860d99bcb7fe44bd47",
      "parents": [
        "2c82795dcc50f7263543ccd1cf4b0ce2bb7cc951"
      ],
      "author": {
        "name": "Siyao Meng",
        "email": "50227127+smengcl@users.noreply.github.com",
        "time": "Thu Oct 29 18:57:26 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 29 18:57:26 2026 -0700"
      },
      "message": "HADOOP-20040. SecurityUtil host resolver cache shares one mutable InetAddress per IP literal, leaking reverse lookups to other callers. (#8880)\n\nCo-authored-by: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "2c82795dcc50f7263543ccd1cf4b0ce2bb7cc951",
      "tree": "319dac9fbfd481dfac0cf71216ba4fa15018ae60",
      "parents": [
        "a2d306c65a84bdf11a6eb5251cfff1bfe110546e"
      ],
      "author": {
        "name": "Siyao Meng",
        "email": "50227127+smengcl@users.noreply.github.com",
        "time": "Thu Oct 29 18:13:01 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 29 18:13:01 2026 -0700"
      },
      "message": "YARN-12032. RM builds node HTTP and RPC addresses without brackets for IPv6 NodeId hosts (#8878)\n\nCo-authored-by: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "a2d306c65a84bdf11a6eb5251cfff1bfe110546e",
      "tree": "5099a19fec88e03cab816e35e033a3bb2e296012",
      "parents": [
        "4b84e9f1007e3e951c03d7b8f6440675598c9d8f"
      ],
      "author": {
        "name": "luoyuan3471",
        "email": "46600375+luoyuan3471@users.noreply.github.com",
        "time": "Wed Oct 28 16:06:12 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 28 13:36:12 2026 +0530"
      },
      "message": "YARN-12044. Close the ZooKeeper cluster in TestLeaderElectorService teardown (#8874). Contributed by Yuan Luo "
    },
    {
      "commit": "4b84e9f1007e3e951c03d7b8f6440675598c9d8f",
      "tree": "9d592d075d69ea65a8ff7b9fc508427ae09c74d3",
      "parents": [
        "6980beafb9ed7d672c0a61bd4eec1a3246db1ae1"
      ],
      "author": {
        "name": "Potato",
        "email": "tanxinyu@apache.org",
        "time": "Wed Oct 28 15:59:35 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 28 13:29:35 2026 +0530"
      },
      "message": "HADOOP-17611. Preserve DistCp file times after chunk concatenation. (#8858). Contributed by Xinyu Tan"
    },
    {
      "commit": "6980beafb9ed7d672c0a61bd4eec1a3246db1ae1",
      "tree": "6413b02204cb62660e8a91f46b2e244220398010",
      "parents": [
        "f842297570243587f0ed7a81ebe80bb178098bca"
      ],
      "author": {
        "name": "Siyao Meng",
        "email": "50227127+smengcl@users.noreply.github.com",
        "time": "Tue Oct 27 11:56:04 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 27 11:56:04 2026 -0700"
      },
      "message": "HDFS-17999. Parse IPv6 DataNode addresses in WebHDFS excludedatanodes and favored nodes (#8853)\n\nCo-authored-by: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "f842297570243587f0ed7a81ebe80bb178098bca",
      "tree": "17187e3fc0e6408b5f1e19b7fffeedf1385a2301",
      "parents": [
        "d760975ecbfd56174d13e240ef2beebe70288fc2"
      ],
      "author": {
        "name": "Siyao Meng",
        "email": "50227127+smengcl@users.noreply.github.com",
        "time": "Mon Oct 26 10:40:21 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 26 10:40:21 2026 -0700"
      },
      "message": "HDFS-18011. DataTransferSaslUtil.getPeerAddress fails on IPv6 peer addresses (#8851)\n\nCo-authored-by: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "d760975ecbfd56174d13e240ef2beebe70288fc2",
      "tree": "7b9b678e66ab445bcb64fdbe3fb127e3ca92e985",
      "parents": [
        "c776f22c2231335a280bf46cba7497d473449831"
      ],
      "author": {
        "name": "ABHISHEK HANAMANT KINAGI",
        "email": "kinagiabhishek842@gmail.com",
        "time": "Mon Oct 26 07:56:37 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 26 10:26:37 2026 +0800"
      },
      "message": "YARN-11991. Fix counting virtual memory in cgroup v2 (#8764)\n\nAuthored-by: ABHISHEK HANAMANT KINAGI \u003cPES1UG24CS018@stu.pes.edu\u003e\nReviewed-by: Shilun Fan \u003cslfan1989@apache.org\u003e\nReviewed-by: Benjamin Teke \u003cbteke@apache.org\u003e\nSigned-off-by: Cheng Pan \u003cchengpan@apache.org\u003e"
    },
    {
      "commit": "c776f22c2231335a280bf46cba7497d473449831",
      "tree": "4c0763a6674b69b8758f90305eb802c176a18791",
      "parents": [
        "0ddc399200c53d2b0ebb9b7178a3eec9f2352486"
      ],
      "author": {
        "name": "luoyuan3471",
        "email": "46600375+luoyuan3471@users.noreply.github.com",
        "time": "Sat Oct 24 22:03:46 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 24 19:33:46 2026 +0530"
      },
      "message": "MAPREDUCE-7550. Fix typos in MapReduce documentation and Javadocs (#8859). Contributed by Yuan Luo"
    },
    {
      "commit": "0ddc399200c53d2b0ebb9b7178a3eec9f2352486",
      "tree": "741e4ee87db73613c0d02185a1ab17b37e096e79",
      "parents": [
        "871458737e2dc17ac0766cb19adc0257a0c665da"
      ],
      "author": {
        "name": "PJ Fanning",
        "email": "pjfanning@users.noreply.github.com",
        "time": "Sat Oct 24 15:02:20 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 24 19:32:20 2026 +0530"
      },
      "message": "HADOOP-20032. Bump Jackson to 2.18.12 due to CVEs (#8848). Contributed by PJ Fanning"
    },
    {
      "commit": "871458737e2dc17ac0766cb19adc0257a0c665da",
      "tree": "3b5429802845f575efdefa8e4e2e131edf476c01",
      "parents": [
        "daf4a54d578360794178536f067b261a45336192"
      ],
      "author": {
        "name": "PJ Fanning",
        "email": "pjfanning@users.noreply.github.com",
        "time": "Sat Oct 24 15:00:32 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 24 19:30:32 2026 +0530"
      },
      "message": "HADOOP-20033. Upgrade lz4-java 1.12.0 due to CVEs (#8849). Contributed by PJ Fanning"
    },
    {
      "commit": "daf4a54d578360794178536f067b261a45336192",
      "tree": "708a53818fbc2ae5476d5160f99831c20280b1c6",
      "parents": [
        "dead2676895ba003ed042413dad22bf3d99d9953"
      ],
      "author": {
        "name": "ksikocinski-relativity",
        "email": "krzysztof.sikocinski@relativity.com",
        "time": "Sat Oct 24 15:42:03 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 24 14:42:03 2026 +0100"
      },
      "message": "HADOOP-20035. Upgrade JLine to 3.30.14 to fix (unreachable) CVE-2026-56740 and CVE-2026-56741 (#8734)\n\n\n* Upgrade JLine to 3.30.14 to fix CVE-2026-56740 and CVE-2026-56741\n\nHadoop pins the org.jline:jline uber jar at 3.9.0. That jar bundles the\njline-remote-telnet classes, which are affected by two high-severity\ndenial-of-service issues:\n\n* CVE-2026-56740 - the Telnet server does not limit the number of\n  environment variables a client may inject via the NEW-ENVIRON option,\n  so an unauthenticated client can exhaust the JVM heap.\n* CVE-2026-56741 - the Telnet server does not bound terminal dimensions\n  received via the NAWS option, so an unauthenticated client can force\n  continuous expensive rendering work and exhaust CPU.\n\nBoth are fixed in JLine 3.30.14, 4.0.16 and 4.2.1. This moves the pinned\nversion to 3.30.14, staying on the 3.x line to avoid the API changes\nthat come with the 4.x major.\n\nNo Hadoop code starts a JLine Telnet server, so the vulnerable classes\nwere never reachable at runtime; the upgrade removes them from the\ndistribution so the artifacts no longer carry the affected code.\n\nContains content generated by  Claude Sonnet 5 \n\nContributed by  Krzysztof Sikociński"
    },
    {
      "commit": "dead2676895ba003ed042413dad22bf3d99d9953",
      "tree": "ee4b710ab78806868325672b0f93c8383d928b1e",
      "parents": [
        "55263a72089db66e8749989ce122066acce7d290"
      ],
      "author": {
        "name": "Jose Luis López López",
        "email": "joseluisll@gmail.com",
        "time": "Sat Oct 24 07:30:48 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 23 22:30:48 2026 -0700"
      },
      "message": "HADOOP-20022. Use ExitUtil instead of Runtime.exit in SecurityUtil.doAsLoginUserOrFatal (#8827)\n\nCo-authored-by: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\nCo-authored-by: copilot-swe-agent[bot] \u003c198982749+Copilot@users.noreply.github.com\u003e"
    },
    {
      "commit": "55263a72089db66e8749989ce122066acce7d290",
      "tree": "5c48bee748812af77b3a87ae1057809766b537ec",
      "parents": [
        "25065c25ca652629c795cad47e25ca871ee91e4f"
      ],
      "author": {
        "name": "Siyao Meng",
        "email": "50227127+smengcl@users.noreply.github.com",
        "time": "Fri Oct 23 14:34:53 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 23 14:34:53 2026 -0700"
      },
      "message": "HADOOP-20028. SecurityUtil.getByName rejects bracketed IPv6 literals when token service use_ip is false. (#8855)\n\nGenerated-by: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "25065c25ca652629c795cad47e25ca871ee91e4f",
      "tree": "eaf54b211311e3fa8fa98756d413ad9fd5b9ff0a",
      "parents": [
        "364614fa79ce9472bf091c8d4fe2e578a8a8aef7"
      ],
      "author": {
        "name": "luoyuan3471",
        "email": "46600375+luoyuan3471@users.noreply.github.com",
        "time": "Fri Oct 23 17:08:11 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 23 14:38:11 2026 +0530"
      },
      "message": "YARN-12041. Fix spelling mistakes in NodeManager diagnostics and comments (#8857). Contributed by Yuan Luo "
    },
    {
      "commit": "364614fa79ce9472bf091c8d4fe2e578a8a8aef7",
      "tree": "6e61788dabfdd39a87f47d98f553251831838d93",
      "parents": [
        "e96f04236763bb0b5945e5281d5bb3c6939e7add"
      ],
      "author": {
        "name": "luoyuan3471",
        "email": "46600375+luoyuan3471@users.noreply.github.com",
        "time": "Fri Oct 23 16:32:44 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 23 14:02:44 2026 +0530"
      },
      "message": "YARN-12040. Fix spelling mistakes in ResourceManager logs and Javadocs (#8856). Contributed by Yuan Luo\n\nCo-authored-by: luoyuan \u003cluoyuan@shopee.com\u003e"
    },
    {
      "commit": "e96f04236763bb0b5945e5281d5bb3c6939e7add",
      "tree": "172e3abf128b6eaa5a6f4991f5bf03568ec50c05",
      "parents": [
        "fa19fda0dbc9e620b744144aa5af7d43b36d45c5"
      ],
      "author": {
        "name": "Jose Luis López López",
        "email": "joseluisll@gmail.com",
        "time": "Fri Oct 23 10:10:19 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 23 01:10:19 2026 -0700"
      },
      "message": "HADOOP-20010. Use ExitUtil instead of Runtime.exit in ExpiredTokenRemover. (#8805)\n\nCo-authored-by: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "fa19fda0dbc9e620b744144aa5af7d43b36d45c5",
      "tree": "7f1c370ace7534bcd74509ae562a2b6432f5e913",
      "parents": [
        "2c01c36fe650a843e1c00c000570f51cfd118c9d"
      ],
      "author": {
        "name": "Siyao Meng",
        "email": "50227127+smengcl@users.noreply.github.com",
        "time": "Thu Oct 22 16:50:45 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 22 16:50:45 2026 -0700"
      },
      "message": "HDFS-18010. DatanodeID builds unbracketed IPv6 host:port strings (#8850)\n\nCo-authored-by: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "2c01c36fe650a843e1c00c000570f51cfd118c9d",
      "tree": "c711d5ed5d9b92d5bb381c93a5bf661ec78705a8",
      "parents": [
        "35bbaa10e886f10947f35f1ae32e86e6c4c52ef1"
      ],
      "author": {
        "name": "Siyao Meng",
        "email": "50227127+smengcl@users.noreply.github.com",
        "time": "Thu Oct 22 00:45:00 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 22 00:45:00 2026 -0700"
      },
      "message": "HDFS-18014. Fix slow peer lookup for IPv6 DataNodes in DatanodeManager (#8852)\n\nGenerated-by: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "35bbaa10e886f10947f35f1ae32e86e6c4c52ef1",
      "tree": "7b1a870fb60dc2723f632d22ccb9908db920c3c5",
      "parents": [
        "c6e938a0c2a4f031419d41fc692268f99773910d"
      ],
      "author": {
        "name": "Siyao Meng",
        "email": "50227127+smengcl@users.noreply.github.com",
        "time": "Wed Oct 21 11:34:42 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 11:34:42 2026 -0700"
      },
      "message": "HDFS-17998. MiniDFSCluster: allow binding to an IPv6 loopback address (#8842)\n\nGenerated-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "c6e938a0c2a4f031419d41fc692268f99773910d",
      "tree": "2eee84d2b83fc70ebacca71346246c05ce1ab489",
      "parents": [
        "82bf55c9a7cc3541518ebb65550263f325071a6c"
      ],
      "author": {
        "name": "luoyuan3471",
        "email": "46600375+luoyuan3471@users.noreply.github.com",
        "time": "Wed Oct 21 17:32:10 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 15:02:10 2026 +0530"
      },
      "message": "YARN-12021. Clamp CapacityScheduler resource bar width in the web UI (#8813). Contributed by Yuan Luo"
    },
    {
      "commit": "82bf55c9a7cc3541518ebb65550263f325071a6c",
      "tree": "0a95b7866c2ce5ccb2ddf7c96ce5845c60230354",
      "parents": [
        "d00e645f12e22f9993a84b836e15c263db223213"
      ],
      "author": {
        "name": "Gera Shegalov",
        "email": "gera@apache.org",
        "time": "Tue Oct 20 23:48:04 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 20 23:48:04 2026 -0700"
      },
      "message": "YARN-12007. Avoid intermediate overflow in YARN unit conversion (#8817)\n\nContains content generated by OpenAI Codex.\n\nSigned-off-by: Gera Shegalov \u003cgshegalov@nvidia.com\u003e\nReviewed-by:  Shilun Fan \u003cslfan1989@apache.org\u003e"
    },
    {
      "commit": "d00e645f12e22f9993a84b836e15c263db223213",
      "tree": "d4b2c5f10e456b1721b2cad0d0f0cb9119cc2810",
      "parents": [
        "07055f28f287f83d255f883e4c2ffe5744f88c0b"
      ],
      "author": {
        "name": "Siyao Meng",
        "email": "50227127+smengcl@users.noreply.github.com",
        "time": "Tue Oct 20 15:33:01 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 20 15:33:01 2026 -0700"
      },
      "message": "HDFS-18000. Bracket IPv6 literals when building NameNode URIs and host:port strings (#8843)\n\nCo-authored-by: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "07055f28f287f83d255f883e4c2ffe5744f88c0b",
      "tree": "ba0f5f0a98d9b5e5dc384d9b629de2e39c38c0c6",
      "parents": [
        "e93556d81b97f4973c9f9a1a7fc33ee40f6bd6e1"
      ],
      "author": {
        "name": "Benjamin Teke",
        "email": "brumi1024@users.noreply.github.com",
        "time": "Mon Oct 19 21:53:50 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 19 21:53:50 2026 +0200"
      },
      "message": "YARN-12014. Move Capacity Scheduler queue configuration checks into shared functions (#8802)\n\nCapacity, label, state, hierarchy transition, structure, limit, allocation\nand placement checks move into static helpers next to QueueStateHelper.\nEach returns null or the exact existing message, and the queue code throws\nthe same exception type at the same point, so conditions, messages and\nevaluation order are unchanged. Placement checks read queues through a\nnarrow QueueIndex so they can later run without the queue manager."
    },
    {
      "commit": "e93556d81b97f4973c9f9a1a7fc33ee40f6bd6e1",
      "tree": "1177037f601f61522c4e1aa61d9c320a6e5f1b7e",
      "parents": [
        "271719d6914ff8a600cb6ed82033ad1aa9bc35b8"
      ],
      "author": {
        "name": "Jose Luis López López",
        "email": "joseluisll@gmail.com",
        "time": "Mon Oct 19 16:19:41 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 19 16:19:41 2026 +0200"
      },
      "message": "YARN-12026. Timeline service v2 reader and collector register only the Jackson JSON provider (#8837)\n\nTimelineReaderServer and NodeTimelineCollectorManager registered both\nJettisonFeature and YarnJacksonJaxbJsonProvider, so JAXB beans without a\ndedicated writer, such as error bodies, were written by whichever one\nJersey picked. Register only the Jackson provider, as branch-3.4 did.\n\nCo-authored-by: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "271719d6914ff8a600cb6ed82033ad1aa9bc35b8",
      "tree": "398f4001e55731850624f4080ce02b336d16c1c5",
      "parents": [
        "1097744bc490b65cad5ab2fbeafff35687971357"
      ],
      "author": {
        "name": "Benjamin Teke",
        "email": "brumi1024@users.noreply.github.com",
        "time": "Mon Oct 19 16:10:30 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 19 16:10:30 2026 +0200"
      },
      "message": "YARN-12013. Build an immutable, prefix-indexed Capacity Scheduler configuration snapshot once per refresh (#8801)\n\nConfigSnapshot holds the scheduler properties with variables substituted\nonce, the raw values where they differ, and the prefix index that used to\nlive in ConfigurationProperties. ConfigurationProperties becomes a raw-value\nview over it, and the queue context installs the snapshot where the\nconfiguration is installed at startup and refresh. Template entries written\nfor dynamic queues stay outside the snapshot, as they stayed outside the\nlazily built index before."
    },
    {
      "commit": "1097744bc490b65cad5ab2fbeafff35687971357",
      "tree": "51b8f45838af38823b759f212343bef8c44fd52c",
      "parents": [
        "9ede2e95c6fb577d7ae8664833d5e151cbfc47c9"
      ],
      "author": {
        "name": "Siyao Meng",
        "email": "50227127+smengcl@users.noreply.github.com",
        "time": "Sun Oct 18 17:55:53 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 18 17:55:53 2026 -0700"
      },
      "message": "HADOOP-20019. Support the IPv6 wildcard address in Kerberos _HOST substitution (#8821)\n\nCo-authored-by: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "9ede2e95c6fb577d7ae8664833d5e151cbfc47c9",
      "tree": "04ac3b6ea67d12ebd950f740cc103da38e82bde0",
      "parents": [
        "0efa73b439bd721575a7393119202a3bc245e366"
      ],
      "author": {
        "name": "yang",
        "email": "51194507017@stu.ecnu.edu.cn",
        "time": "Sun Oct 18 16:01:15 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 18 16:01:15 2026 +0800"
      },
      "message": "HADOOP-20021. hadoop-bos: fix hierarchy bucket rename/create and slim shaded jar. (#8823) Contributed by yangdongdong\n\nHADOOP-20021. Fix BOS hierarchy bucket operations and reduce shaded dependencies.\n\nUpgrade bce-java-sdk to 0.10.332 to handle missing owner information when listing a bucket root.\n\nFor hierarchy buckets, rename into existing directories using the source name, reject renames into descendants, and throw ParentNotDirectoryException when creating a file beneath a file.\nMap HTTP 400 InvalidArgument to BosException to avoid retrying it as an expired session token.\n\nUse Hadoop-provided Guava, HttpClient, HttpCore and Commons Codec instead of bundling them. Retain httpcore-nio and httpasyncclient for SDK initialization, and update LICENSE-binary.\n\nAdd credential-free unit tests covering hierarchy bucket operations and HTTP error-to-exception mapping.\n\nContains content generated by Claude Code.\n\nCo-authored-by: yangdongdong01 \u003cyangdongdong01@baidu.com\u003e\nCo-authored-by: Claude Code \u003cnoreply@anthropic.com\u003e\nSigned-off-by: Shilun Fan \u003cslfan1989@apache.org\u003e"
    },
    {
      "commit": "0efa73b439bd721575a7393119202a3bc245e366",
      "tree": "d2d3d3df4e237aa11a173110dd9315f429feee37",
      "parents": [
        "df8e2a775ffac80e37ca8df09a7e4fa50b12a8dc"
      ],
      "author": {
        "name": "Jose Luis López López",
        "email": "joseluisll@gmail.com",
        "time": "Sat Oct 17 14:38:17 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 17 13:38:17 2026 +0100"
      },
      "message": "HDFS-17987. TestDataNodeLifeline: stub NameNode spies before installing them in BPServiceActor (#8792)\n\n\nAddressing issues with Mockito setup/teardown across threads\n\nContains content generated by Claude Opus 5.5\n\nContributed by Jose Luis López López"
    },
    {
      "commit": "df8e2a775ffac80e37ca8df09a7e4fa50b12a8dc",
      "tree": "c60b842f3077e5365da23dc1cc4f472da8ebbf8b",
      "parents": [
        "6f3d71bc35f5eaab0487283533e6057c58038ae4"
      ],
      "author": {
        "name": "Siyao Meng",
        "email": "50227127+smengcl@users.noreply.github.com",
        "time": "Wed Oct 14 23:38:24 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 14 23:38:24 2026 -0700"
      },
      "message": "HADOOP-20020. DNS.reverseDns throws NullPointerException when the answer has no PTR record (#8820)\n\nCo-authored-by: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "6f3d71bc35f5eaab0487283533e6057c58038ae4",
      "tree": "ce2176977d15377b315e8cfe180b06bf86e91cae",
      "parents": [
        "f41bb2ebdcf86937c7b732dec40dba48ddb40700"
      ],
      "author": {
        "name": "Vikas Kumar",
        "email": "talktovikasbit@gmail.com",
        "time": "Wed Oct 14 20:36:48 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 14 08:06:48 2026 -0700"
      },
      "message": "HADOOP-19996: Fix to drain the unread chunk terminator bytes from inp… (#8816)\n\nGenerated-by: Cursor \u003ccursoragent@cursor.com\u003e"
    },
    {
      "commit": "f41bb2ebdcf86937c7b732dec40dba48ddb40700",
      "tree": "f520ce09b0392fc2d31c3984ffd804d1bc38a5c1",
      "parents": [
        "baaeebe5e41648fb17792775afee1897b6788a66"
      ],
      "author": {
        "name": "CapMoon",
        "email": "49219380+CapMoon@users.noreply.github.com",
        "time": "Wed Oct 14 17:51:24 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 14 17:51:24 2026 +0800"
      },
      "message": "HDFS-17982. RBF should return StandbyException when no Active NameNode is known (#8760)"
    },
    {
      "commit": "baaeebe5e41648fb17792775afee1897b6788a66",
      "tree": "f6f8789ab4c7945961d221149003330ad0c89011",
      "parents": [
        "90a3271609155685a1d37a2efbfbf605d3a9af2e"
      ],
      "author": {
        "name": "Siyao Meng",
        "email": "50227127+smengcl@users.noreply.github.com",
        "time": "Wed Oct 14 01:47:51 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 14 01:47:51 2026 -0700"
      },
      "message": "HADOOP-19961. Support IPv6 authorities in KMS client provider URIs (#8819)\n\nCo-authored-by: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "90a3271609155685a1d37a2efbfbf605d3a9af2e",
      "tree": "c95ff8faa155d3ba8474128e6620f00e92b6a64b",
      "parents": [
        "86e6c2038166f7716872104f5c37dafb08aba268"
      ],
      "author": {
        "name": "Siyao Meng",
        "email": "50227127+smengcl@users.noreply.github.com",
        "time": "Tue Oct 13 01:06:35 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 13 01:06:35 2026 -0700"
      },
      "message": "HADOOP-19962. Support IPv6 CIDR rules in MachineList (#8812)"
    },
    {
      "commit": "86e6c2038166f7716872104f5c37dafb08aba268",
      "tree": "b81ff2c6c74909f1cbf36bfcccdd1373653b48a4",
      "parents": [
        "12248ae6b507e71cfd710424def2cc93ae4666be"
      ],
      "author": {
        "name": "Benjamin Teke",
        "email": "brumi1024@users.noreply.github.com",
        "time": "Mon Oct 12 10:49:32 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 12 10:49:32 2026 +0200"
      },
      "message": "YARN-12012. Collect Capacity Scheduler application ordering policy parameters without copying the configuration (#8800)"
    },
    {
      "commit": "12248ae6b507e71cfd710424def2cc93ae4666be",
      "tree": "dfe7002150fceb86491de68697b540625b725557",
      "parents": [
        "3aeb542f5df374444ce47caa3a8f73eb3743efe6"
      ],
      "author": {
        "name": "Benjamin Teke",
        "email": "brumi1024@users.noreply.github.com",
        "time": "Mon Oct 12 09:58:17 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 12 09:58:17 2026 +0200"
      },
      "message": "YARN-12011. Add Capacity Scheduler configuration tests and a load, refresh and validation benchmark (#8799)"
    },
    {
      "commit": "3aeb542f5df374444ce47caa3a8f73eb3743efe6",
      "tree": "142d042e6616535221d925ad5f56f1b4ed9f135b",
      "parents": [
        "16aa23404b98736213de4b546a5a6fb95022ec76"
      ],
      "author": {
        "name": "Siyao Meng",
        "email": "50227127+smengcl@users.noreply.github.com",
        "time": "Sun Oct 11 15:20:24 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 11 15:20:24 2026 -0700"
      },
      "message": "HADOOP-19960. Support IPv6 reverse DNS names in DNS.reverseDns (#8807)\n\nCo-authored-by: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "16aa23404b98736213de4b546a5a6fb95022ec76",
      "tree": "9aac2d49caab8f10c9c9f31f895875a199fa087a",
      "parents": [
        "d07707b418e69e2300d97c949578348ee423dccd"
      ],
      "author": {
        "name": "Jose Luis López López",
        "email": "joseluisll@gmail.com",
        "time": "Sun Oct 11 03:45:30 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 11 09:45:30 2026 +0800"
      },
      "message": "YARN-11984. Federation mock sub-cluster and router do not stop cleanly on SIGTERM. (#8681) Contributed by Jose Luis López\n\n* YARN-11984. Shut down federation mock services cleanly on SIGTERM.\n\nTestMockSubCluster and TestMockRouter run in separate JVMs without shutdown hooks, \nso terminating them skips service cleanup and leaves ZooKeeper sessions to expire.\n\nRegister CompositeServiceShutdownHook before initializing each service. Reuse the mock Router\u0027s existing FederationStateStore and close it in a lower-priority hook after the Router\u0027s shutdown hook.\n\nAllow 90 seconds for the sub-cluster\u0027s three NodeManagers to stop. Disable the container SIGTERM grace period while preserving the pid-file wait timeout.  Signal all child JVMs before waiting for them to exit so their shutdown hooks run concurrently.\n\nChanges are limited to test code. On Linux, TestYarnFederationWithCapacityScheduler passes all 38 tests, and all\nthree child JVMs complete their shutdown hooks and close their ZooKeeper sessions without timing out.\n\nContains content generated by Claude Code.\nCo-authored-by: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\nCo-authored-by: Shilun Fan \u003cslfan1989@apache.org\u003e\nReviewed-by: Shilun Fan \u003cslfan1989@apache.org\u003e\nSigned-off-by: Shilun Fan \u003cslfan1989@apache.org\u003e"
    },
    {
      "commit": "d07707b418e69e2300d97c949578348ee423dccd",
      "tree": "0b2ec88703ef300652e6ed245bf84388c61fa2eb",
      "parents": [
        "7d8dc187523c38d2df607fa251693fc11bb6de0d"
      ],
      "author": {
        "name": "Jose Luis López López",
        "email": "joseluisll@gmail.com",
        "time": "Sat Oct 10 07:49:55 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 10 13:49:55 2026 +0800"
      },
      "message": "YARN-12002. Stop the Router delegation token secret manager on service stop. (#8808) Contributed by Jose Luis López\n\n* YARN-12002. Stop the Router delegation token secret manager on service stop.\n\nRouterClientRMService starts the secret manager\u0027s ExpiredTokenRemover thread but never stops it, allowing the thread to continue accessing the federation state store after the service has stopped.\n\nCall stopThreads() during serviceStop(), after stopping the RPC server, following the ResourceManager\u0027s shutdown pattern. Guard userPipelineMap against null so an initialized but unstarted service stops cleanly.\n\nAdd regression tests covering both shutdown paths. \nThis supports the federation mock Router cleanup in YARN-11984.\n\nContains content generated by Claude Code.\n\nCo-authored-by: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\nCo-authored-by: Shilun Fan \u003cslfan1989@apache.org\u003e\nReviewed-by: Shilun Fan \u003cslfan1989@apache.org\u003e\nSigned-off-by: Shilun Fan \u003cslfan1989@apache.org\u003e"
    },
    {
      "commit": "7d8dc187523c38d2df607fa251693fc11bb6de0d",
      "tree": "0baef016269fdb1d62c008544357122b76ab4da3",
      "parents": [
        "bedcf3844d344539f7a55ac1671b414da4fc7239"
      ],
      "author": {
        "name": "Gera Shegalov",
        "email": "gshegalov@nvidia.com",
        "time": "Fri Oct 09 19:36:24 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 10 10:36:24 2026 +0800"
      },
      "message": "YARN-11995. Preserve custom resource allocations in timeline container history (#8770) Contributed by Gera Shegalov\n\n* YARN-11995. Preserve custom resource allocations in timeline container history.\n\nPersist nonzero custom resource allocations and their units in YARN_CONTAINER_ALLOCATED_RESOURCES. Update all three timeline publishers and both history report converters, preserving compatibility with existing memory/vcore fields and legacy entities.\n\nSnapshot allocations before asynchronous publication. Convert stored values to the reader\u0027s configured units, skip unknown or malformed entries individually, and omit the field when no custom allocation exists.\n\nAdd regression tests and document the stored format, resource-type configuration requirements, and limitations for older history data.\n\nContains content generated by OpenAI Codex.\n\nReviewed-by: Jose Luis López López \u003cjoseluisll@gmail.com\u003e\nReviewed-by: Shilun Fan \u003cslfan1989@apache.org\u003e\nSigned-off-by: Gera Shegalov \u003cgshegalov@nvidia.com\u003e"
    },
    {
      "commit": "bedcf3844d344539f7a55ac1671b414da4fc7239",
      "tree": "2c79e639e70003468e5b6fb179ccf3384c03ce90",
      "parents": [
        "2ca361ff2818114d8578bf9354c47d2a26c4131e"
      ],
      "author": {
        "name": "slfan1989",
        "email": "55643692+slfan1989@users.noreply.github.com",
        "time": "Sat Oct 10 09:40:13 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 10 09:40:13 2026 +0800"
      },
      "message": "MAPREDUCE-7541. Fix AM WebUI attempts page. (#8804) Contributed by Shilun Fan\n\n* MAPREDUCE-7541. Fix AM WebUI attempts page. (#8804)\n\nBind App in request scope so the controller and view share the job selected for the current request, allowing the attempts page to render correctly.\n\nAdd an HTTP regression test covering map and reduce attempt IDs and task-type filtering. Set connection and read timeouts, close HTTP connections, and stop the client service and MRApp in finally blocks.\n\nReviewed-by: Hualong Zhang \u003czhtttylz@apache.org\u003e\nCo-authored-by: D M Murali Krishna Reddy \u003cmuralikrishna.dmmkr@gmail.com\u003e\nSigned-off-by: Shilun Fan \u003cslfan1989@apache.org\u003e"
    },
    {
      "commit": "2ca361ff2818114d8578bf9354c47d2a26c4131e",
      "tree": "cba21c4451cbf3128d1ceb7690ddf51481ee5f17",
      "parents": [
        "1c50c01f68924eeb4a81d9b97fb17cda47100d63"
      ],
      "author": {
        "name": "Jose Luis López López",
        "email": "joseluisll@gmail.com",
        "time": "Sat Oct 10 03:31:43 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 10 09:31:43 2026 +0800"
      },
      "message": "YARN-12003. Shut down the Router scheduled executor on service stop (#8785) Contributed by Jose Luis López\n\n* YARN-12003. Shut down the Router scheduled executor on service stop. (#8785)\n\nShut down the executor that runs SubClusterCleaner before stopping the Router\u0027s child services, preventing periodic cleaner tasks from continuing after the Router stops.\n\nUse HadoopExecutors.shutdown() to allow up to 5 seconds for graceful termination, then interrupt remaining tasks and wait up to 5 seconds more. Shutdown is best effort: tasks that ignore interruption may outlive the Router.\n\nAdd a TestRouter regression test verifying that the scheduled executor terminates when the Router stops.\n\nContains content generated by Claude Code and OpenAI Codex.\n\nCo-authored-by: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\nCo-authored-by: Shilun Fan \u003cslfan1989@apache.org\u003e\nReviewed-by: Shilun Fan \u003cslfan1989@apache.org\u003e\nSigned-off-by: Shilun Fan \u003cslfan1989@apache.org\u003e"
    },
    {
      "commit": "1c50c01f68924eeb4a81d9b97fb17cda47100d63",
      "tree": "1af311680869db87479628edf9fc6ddfe678011c",
      "parents": [
        "768188c4128e47a8db6ab5fed3846c96a23cf83b"
      ],
      "author": {
        "name": "slfan1989",
        "email": "55643692+slfan1989@users.noreply.github.com",
        "time": "Thu Oct 08 14:11:12 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 08 14:11:12 2026 +0800"
      },
      "message": "HADOOP-20009. Ensure token manager cleanup in testNodesLoadedAfterRestart. (#8797) Contributed by Shilun Fan\n\n* HADOOP-20009. Ensure token manager cleanup in testNodesLoadedAfterRestart.\n\nDestroy both the original and restarted DelegationTokenManager in finally blocks, including when initialization or assertions fail.\n\nThis prevents leftover ExpiredTokenRemover threads from accessing ZooKeeper after teardown and terminating the Surefire JVM with exit code 255, including in the inherited HDFS-RBF test.\n\nReviewed-by: Hualong Zhang \u003czhtttylz@apache.org\u003e\nSigned-off-by: Shilun Fan \u003cslfan1989@apache.org\u003e\n\n\n\nPreserve the existing cache-load and token-expiration assertions."
    },
    {
      "commit": "768188c4128e47a8db6ab5fed3846c96a23cf83b",
      "tree": "60a92191890c76c17bab863ce2b171ee2c8f9eb4",
      "parents": [
        "b216a3a01b79aa0e379f12488357b01fc7c3f6b7"
      ],
      "author": {
        "name": "Jose Luis López López",
        "email": "joseluisll@gmail.com",
        "time": "Wed Oct 07 11:02:13 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 07 17:02:13 2026 +0800"
      },
      "message": "YARN-11993. PublicLocalizer thread exits permanently when pending.remove() returns null (#8755) Contributed by Jose Luis López\n\n* YARN-11993. Keep PublicLocalizer running after an unknown download.\n\nWhen pending.remove(completed) returns null, PublicLocalizer.run() returns and shuts down the download pool in its finally block. Subsequent public-resource localization requests are rejected until the NodeManager restarts.\n\nSkip the unknown result with continue so the localizer keeps processing downloads. Remove the obsolete SpotBugs exclusion for PublicLocalizer.work, which no longer exists.\n\nAdd a regression test that waits for one unknown result to be processed, then submits another and verifies it is processed too.  This proves the localizer continues consuming the queue and detects the original failure.\n\nContains content generated by Claude Code.\n\nCo-authored-by: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\nReviewed-by: Gera Shegalov \u003cgera@apache.org\u003e\nReviewed-by: Shilun Fan \u003cslfan1989@apache.org\u003e\nSigned-off-by: Shilun Fan \u003cslfan1989@apache.org\u003e"
    },
    {
      "commit": "b216a3a01b79aa0e379f12488357b01fc7c3f6b7",
      "tree": "6b8e86ef1cfacf209aafe1daee69f8707d86eaa1",
      "parents": [
        "1f1b21510da9da0c21fbadb2a0830193de584267"
      ],
      "author": {
        "name": "Jose Luis López López",
        "email": "joseluisll@gmail.com",
        "time": "Wed Oct 07 10:47:40 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 07 16:47:40 2026 +0800"
      },
      "message": "YARN-12005. Fix flaky TestRouterWebServicesREST#testUpdateNodeResource (#8788) Contributed by Jose Luis López\n\nYARN-12005. Fix flaky TestRouterWebServicesREST#testUpdateNodeResource.\n\nThe RM applies node resource updates asynchronously, so the POST response\nand subsequent GET can still report the old memory and vcores.\n\nWait for the updated resources to become visible, then repeat the\nidempotent update to verify the Router\u0027s POST response. Close both POST\nresponses in finally blocks and configure HTTP connect and read timeouts\nto prevent requests from hanging indefinitely.\n\nContains content generated by Claude Code.\n\nCo-authored-by: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\nCo-authored-by: Shilun Fan \u003cslfan1989@apache.org\u003e\nReviewed-by: Shilun Fan \u003cslfan1989@apache.org\u003e\nSigned-off-by: Shilun Fan \u003cslfan1989@apache.org\u003e"
    },
    {
      "commit": "1f1b21510da9da0c21fbadb2a0830193de584267",
      "tree": "959b713f355cedacce99cee2f925db84e3e994a6",
      "parents": [
        "e5defed2918af161969d7054ded97a8ffc33e847"
      ],
      "author": {
        "name": "Wei-Chiu Chuang",
        "email": "weichiu@apache.org",
        "time": "Wed Oct 07 02:27:20 2026 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 07 16:27:20 2026 +0800"
      },
      "message": "HADOOP-19993. Fix SpotBugs SE_BAD_FIELD in McpHttpServlet (#8753) Contributed by Wei-Chiu Chuang\n\n* HADOOP-19993. Fix SpotBugs SE_BAD_FIELD in McpHttpServlet.\n\nMark requestHandler as transient to fix SE_BAD_FIELD. Keep objectMapper non-transient because ObjectMapper implements Serializable, avoiding SE_TRANSIENT_FIELD_NOT_RESTORED.\n\nThis removes the existing hadoop-common SpotBugs warning without introducing new warnings.\n\nReviewed-by: Ayush Saxena \u003cayushsaxena@apache.org\u003e\nReviewed-by: Jose Luis López López \u003cjoseluisll@gmail.com\u003e\nReviewed-by: Shilun Fan \u003cslfan1989@apache.org\u003e\nSigned-off-by: Shilun Fan \u003cslfan1989@apache.org\u003e"
    },
    {
      "commit": "e5defed2918af161969d7054ded97a8ffc33e847",
      "tree": "d1569ec32694adcfad5c56f331effa0c172c93f9",
      "parents": [
        "c9c53f2db5d054bd75f11f7673c219bd8305ce8a"
      ],
      "author": {
        "name": "Jose Luis López López",
        "email": "joseluisll@gmail.com",
        "time": "Tue Oct 06 11:47:17 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 06 17:47:17 2026 +0800"
      },
      "message": "YARN-12004. Fix Router-vs-RM read races in TestRouterWebServicesREST. (#8787) Contributed by Jose Luis López\n\n* YARN-12004. Fix Router-vs-RM read races in TestRouterWebServicesREST.\n\ntestAppXML, testAppStateXML, testAppAttemptXML and testGetContainersXML compare Router and RM responses while the RM\u0027s application state may\nstill be changing, causing intermittent assertion failures.\n\nAdd assertRouterMatchesRM to read RM, Router and RM again, retrying for up to 10 seconds until both RM reads agree and the Router matches.\nCompare container IDs rather than counts to detect container replacements.\n\nExtract performGetCall to share request handling and close each client.\nIncrease the four affected tests\u0027 timeouts to 30 seconds.\n\nContains content generated by Claude Code.\n\nCo-authored-by: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\nCo-authored-by: Shilun Fan \u003cslfan1989@apache.org\u003e\nSigned-off-by: Shilun Fan \u003cslfan1989@apache.org\u003e"
    },
    {
      "commit": "c9c53f2db5d054bd75f11f7673c219bd8305ce8a",
      "tree": "e577ea0d1b7792b7f83b318d0d5d3c20c5be8a7d",
      "parents": [
        "1b57d3286aeb01c6d26daebb10af6a979d00d65d"
      ],
      "author": {
        "name": "Jose Luis López López",
        "email": "joseluisll@gmail.com",
        "time": "Tue Oct 06 05:05:38 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 06 11:05:38 2026 +0800"
      },
      "message": "HADOOP-19994. Start PhantomJS with OPENSSL_CONF\u003d/dev/null for catalog webapp Jasmine tests (#8757) Contributed by Jose Luis López\n\nHADOOP-19994. Start PhantomJS with OPENSSL_CONF\u003d/dev/null for Jasmine tests.\n\nPhantomJS 2.1.1 bundles OpenSSL 1.x, which cannot read the OpenSSL 3 configuration used by the Ubuntu Noble precommit image. \nIt exits before opening its WebDriver port, causing the catalog-webapp Jasmine tests to fail with UnreachableBrowserException.\n\nAdd a Unix-only profile that launches PhantomJS through /bin/sh with OPENSSL_CONF\u003d/dev/null, \nusing the phantomjs.binary.path and phantomjs.cli.args capabilities. \nThe workaround applies only to the PhantomJS process and allows the existing Jasmine specs to run.\nWindows continues to launch PhantomJS directly.\n\nCo-authored-by: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\nCo-authored-by: Shilun Fan \u003cslfan1989@apache.org\u003e\nSigned-off-by: Shilun Fan \u003cslfan1989@apache.org\u003e"
    },
    {
      "commit": "1b57d3286aeb01c6d26daebb10af6a979d00d65d",
      "tree": "29d57617594f62d3eb64a0a863840e95bfcca974",
      "parents": [
        "14b55ba5be09a19ca020932769fdd59022bc0002"
      ],
      "author": {
        "name": "Jose Luis López López",
        "email": "joseluisll@gmail.com",
        "time": "Tue Oct 06 04:38:37 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 06 10:38:37 2026 +0800"
      },
      "message": "YARN-12006. Wait for the first attempt in TestRouterWebServicesREST.getAppAttempt. (#8791) Contributed by Jose Luis López\n\n* YARN-12006. Wait for the first attempt in TestRouterWebServicesREST.\n\nApplication submission can return before the RM creates the first attempt. Reading getAttempts().get(0) immediately can therefore throw IndexOutOfBoundsException.\n\nWait up to 10 seconds for an attempt and close the client after each request. Increase the timeouts of testGetAppAttemptXML and testGetContainersXML to 30 seconds to accommodate the wait.\n\nContains content generated by Claude Code.\n\nCo-authored-by: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\nCo-authored-by: Shilun Fan \u003cslfan1989@apache.org\u003e\nSigned-off-by: Shilun Fan \u003cslfan1989@apache.org\u003e"
    },
    {
      "commit": "14b55ba5be09a19ca020932769fdd59022bc0002",
      "tree": "cde9a53464d5d0bb7fe76b32b20582a32b689173",
      "parents": [
        "6a2309f03649b1da4cbe7173321a85740a03a5cc"
      ],
      "author": {
        "name": "Jose Luis López López",
        "email": "joseluisll@gmail.com",
        "time": "Tue Oct 06 04:20:22 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 06 10:20:22 2026 +0800"
      },
      "message": "MAPREDUCE-7547. HsWebApp should bind App request-scoped instead of singleton (#8790)\n\nMAPREDUCE-7547. HsWebApp should bind App request-scoped instead of singleton\n\nApp carries per-request job/task state from the controller to the view.\nBinding it as a singleton lets concurrent JobHistoryServer requests overwrite each other\u0027s state. Use request scope so the controller and view share one App within a request while keeping requests isolated.\n\nAdd regression tests for the App binding scope and attempts page rendering through a real HsWebApp. Set connection and read timeouts in the page test and disconnect in a finally block.\n\nCo-authored-by: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\nCo-authored-by: Shilun Fan \u003cslfan1989@apache.org\u003e\nSigned-off-by: Shilun Fan \u003cslfan1989@apache.org\u003e"
    },
    {
      "commit": "6a2309f03649b1da4cbe7173321a85740a03a5cc",
      "tree": "644566a364f28be250a1217aec8a4dd7088210b7",
      "parents": [
        "2b813b9d1b3c707238c0bf989202e79e9e491728"
      ],
      "author": {
        "name": "Jose Luis López López",
        "email": "joseluisll@gmail.com",
        "time": "Sun Oct 04 08:48:37 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 04 14:48:37 2026 +0800"
      },
      "message": "MAPREDUCE-7545. Make TaskId.hashCode independent of the JVM. (#8754) Contributed by Jose Luis López\n\n* MAPREDUCE-7545. Make TaskId.hashCode independent of the JVM. \n\nTaskId.hashCode() includes getTaskType().hashCode(), which uses the enum\u0027s identity hash. This value can vary with the JVM environment, affecting the iteration order of HashMaps keyed by TaskId.\n\nTestRuntimeEstimators depends on task iteration order when scheduling speculative attempts. \nSome orders produce only one successful speculation instead of the expected three. \nThis occurs on GitHub Actions with the classpath produced by HADOOP-19970, while the same commit passes locally. \nConsuming four additional identity hashes before the test starts also reproduces the failure locally.\n\nUse the task type\u0027s ordinal instead, making the hash depend only on the task\u0027s fields and removing this source of environment-dependent ordering.\nAdd a regression test covering every TaskType while preserving the equals/hashCode contract.\n\nCo-authored-by: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\nCo-authored-by: Shilun Fan \u003cslfan1989@apache.org\u003e\nSigned-off-by: Shilun Fan \u003cslfan1989@apache.org\u003e"
    },
    {
      "commit": "2b813b9d1b3c707238c0bf989202e79e9e491728",
      "tree": "b74e94f7372f0c28dcdf2ef9c2e9b37d2732e7d9",
      "parents": [
        "49e4b9f6a21c1cfa48a287ed8cd4640583f9a134"
      ],
      "author": {
        "name": "Jose Luis López López",
        "email": "joseluisll@gmail.com",
        "time": "Sun Oct 04 08:37:49 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 04 14:37:49 2026 +0800"
      },
      "message": "MAPREDUCE-7546. Restore TestTextInputFormat.main() so MapredTestDriver can register its programs. (#8759) Contributed by Jose Luis López\n\n* MAPREDUCE-7546. Restore TestTextInputFormat.main() so MapredTestDriver can register its programs.\n\nMAPREDUCE-7421 commented out TestTextInputFormat.main() during the JUnit 5 migration, while MapredTestDriver continued to register the class as \"testtextinputformat\".\n\nProgramDriver.addClass() throws NoSuchMethodException when looking up main(String[]) reflectively. \nMapredTestDriver catches the exception and stops registering subsequent programs, leaving sleep, nnbench, TestDFSIO, SliveTest, minicluster, and other commands unavailable. \n\nInvoking these commands through the jobclient tests jar fails with exit code 255.\n\nRestore main() and add TestMapredTestDriver to verify that all program registrations succeed and that sleep is registered.\n\nCo-authored-by: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\nCo-authored-by: Shilun Fan \u003cslfan1989@apache.org\u003e\nSigned-off-by: Shilun Fan \u003cslfan1989@apache.org\u003e"
    },
    {
      "commit": "49e4b9f6a21c1cfa48a287ed8cd4640583f9a134",
      "tree": "d8bdf0618825dc92af0af07f5ede7bfca2469a08",
      "parents": [
        "1fb690cfce1668b7d28c2691a1b9a293a62c3e3b"
      ],
      "author": {
        "name": "slfan1989",
        "email": "55643692+slfan1989@users.noreply.github.com",
        "time": "Sun Oct 04 14:27:30 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 04 14:27:30 2026 +0800"
      },
      "message": "YARN-11999. Fix race when checking application log directory deletion in TestLogAggregationService. (#8776) Contributed by Shilun Fan\n\n* YARN-11999. Fix race when checking application log directory deletion in TestLogAggregationService.\n\nDeletionService removes log files and the application log directory asynchronously. \nIndividual files can disappear before the directory is removed, causing testLocalFileDeletionAfterUpload to fail intermittently.\n\nReplace the individual file checks and immediate directory assertion with a bounded wait for the application log directory to disappear.\nRecursive directory deletion also covers the contained files. \nRetain the existing polling interval and timeout, and report the directory path if deletion does not complete.\n\nReviewed-by: Hualong Zhang \u003czhtttylz@apache.org\u003e\nSigned-off-by: Shilun Fan \u003cslfan1989@apache.org\u003e"
    },
    {
      "commit": "1fb690cfce1668b7d28c2691a1b9a293a62c3e3b",
      "tree": "70e34b04a0ad57b5244a865c9ab7aedf57185163",
      "parents": [
        "6670ae6bb725907afa64959abacbde4b650a5407"
      ],
      "author": {
        "name": "slfan1989",
        "email": "55643692+slfan1989@users.noreply.github.com",
        "time": "Sun Oct 04 14:11:13 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 04 14:11:13 2026 +0800"
      },
      "message": "YARN-12000. Fix flaky TestLeafQueue.testMaxApplicationsWithNodeLabels. (#8779) Contributed by Shilun Fan\n\nYARN-12000. Fix flaky TestLeafQueue.testMaxApplicationsWithNodeLabels. \n\nThe test stubs getClusterResource() after the scheduler has started.\nConcurrent access to the scheduler spy by background threads can cause Mockito WrongTypeOfReturnValue errors.\n\nRegister a test node in the scheduler\u0027s NodeTracker instead of stubbing getClusterResource(), \npreserving the original cluster resource total and capacity assertions while avoiding concurrent stubbing.\n\nReviewed-by: Ayush Saxena \u003cayushsaxena@apache.org\u003e\nReviewed-by: Hualong Zhang \u003czhtttylz@apache.org\u003e\nSigned-off-by: Shilun Fan \u003cslfan1989@apache.org\u003e"
    },
    {
      "commit": "6670ae6bb725907afa64959abacbde4b650a5407",
      "tree": "718d630443f49b9cda23760108c66837361f16ba",
      "parents": [
        "b4daa4632196c5a0024675283533177710676719"
      ],
      "author": {
        "name": "slfan1989",
        "email": "55643692+slfan1989@users.noreply.github.com",
        "time": "Sat Oct 03 08:17:27 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 03 08:17:27 2026 +0800"
      },
      "message": "YARN-11998. Resolve SpotBugs nullness warning in PublicLocalizer.run(). (#8775) Contributed by Shilun Fan\n\nMove the null check for the localization request association outside the inner try block, returning early when no association is found. \nThis ensures that the ExecutionException handler only accesses a non-null association.\n\nPreserve the existing error logging and early-return behavior without suppressing the SpotBugs warning.\n\nValidation:\n- SpotBugs reported no warnings in the NodeManager module.\n- All 18 tests in TestResourceLocalizationService passed.\n\nReviewed-by: Ayush Saxena \u003cayushsaxena@apache.org\u003e\nSigned-off-by: Shilun Fan \u003cslfan1989@apache.org\u003e"
    },
    {
      "commit": "b4daa4632196c5a0024675283533177710676719",
      "tree": "1772a25e58f672c7e03b422f729f61cc3ca30a8f",
      "parents": [
        "ea26edd8cfcc7ab10f5cb71b7a662f91a88e1af2"
      ],
      "author": {
        "name": "Gera Shegalov",
        "email": "gshegalov@nvidia.com",
        "time": "Fri Oct 02 11:35:27 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 03 00:05:27 2026 +0530"
      },
      "message": "YARN-11056. Correct NVIDIA capitalization in YARN documentation (#8769). Contributed by Gera Shegalov"
    },
    {
      "commit": "ea26edd8cfcc7ab10f5cb71b7a662f91a88e1af2",
      "tree": "14c937239cf2f43fbe12d33770bffe39762bd039",
      "parents": [
        "438a993cb52aa5738d2756f008cd1481f9b21fb0"
      ],
      "author": {
        "name": "Siyao Meng",
        "email": "50227127+smengcl@users.noreply.github.com",
        "time": "Fri Oct 02 08:15:35 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 02 09:15:35 2026 -0600"
      },
      "message": "HADOOP-19958. Support IPv6 delegation token service addresses (#8669)\n\nMerged after local build and TestNetUtils/TestSecurityUtil passed on PR branch."
    },
    {
      "commit": "438a993cb52aa5738d2756f008cd1481f9b21fb0",
      "tree": "e0ca6986bef044ec206e3bc584c475478ba147e2",
      "parents": [
        "997fa7c12a407c441855f1a409767f198db68cd3"
      ],
      "author": {
        "name": "Jose Luis López López",
        "email": "joseluisll@gmail.com",
        "time": "Fri Oct 02 06:10:43 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 02 12:10:43 2026 +0800"
      },
      "message": "HADOOP-19995. Fix the trunk SpotBugs warnings in hadoop-resourceestimator (#8772) Contributed by Jose Luis López\n\nHADOOP-19731 created dev-support/findbugs-exclude-global.xml and wired it\ninto the spotbugs plugin configuration of ~30 modules, but\nhadoop-resourceestimator was missed. As the only hadoop-tools module without\na spotbugs plugin configuration, it inherits the root plugin with no exclude\nfilters, so CT_CONSTRUCTOR_THROW and EI_EXPOSE_REP/EI_EXPOSE_REP2 findings\nare reported as errors and turn red every precommit that touches this module\n(e.g. PR #8704 / HADOOP-19972).\n\nThis adds the spotbugs plugin configuration to the module pom, pointing at\nthe shared global exclude file like the sibling modules do. No code changes.\n\nVerified locally: mvn -pl hadoop-tools/hadoop-resourceestimator\ncompile spotbugs:check -\u003e 0 findings (was: 12 bugs, BUILD FAILURE without\nthis change). Module unit tests: 47 run, 0 failures.\n\nCo-authored-by: Shilun Fan \u003cslfan1989@apache.org\u003e\nSigned-off-by: Shilun Fan \u003cslfan1989@apache.org\u003e"
    },
    {
      "commit": "997fa7c12a407c441855f1a409767f198db68cd3",
      "tree": "8bf986e116426487a540d450779ec55d53250ec8",
      "parents": [
        "8545d5e3a949746f5f23a9587d5cad8e72d2e741"
      ],
      "author": {
        "name": "Ferenc Erdelyi",
        "email": "55103964+ferdelyi@users.noreply.github.com",
        "time": "Wed Sep 30 11:10:38 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 30 11:10:38 2026 +0200"
      },
      "message": "MAPREDUCE-7539. JobHistoryServer API fails to serve aggregated logs due to uuid mismatch (#8556)"
    },
    {
      "commit": "8545d5e3a949746f5f23a9587d5cad8e72d2e741",
      "tree": "1b2c6aa92e0b05ae1d0e93aa950b60d2ec5da074",
      "parents": [
        "e8783aa59255e86f37dcb8c5cc629821638052c0"
      ],
      "author": {
        "name": "Deepak Jain (DJ)",
        "email": "deepujain@users.noreply.github.com",
        "time": "Sun Sep 27 10:06:11 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Sep 27 18:06:11 2026 +0100"
      },
      "message": "HADOOP-19815. Document Path trailing slash and URI resolution semantics (#8307)\n\n\nContributed by Deepak Jain"
    },
    {
      "commit": "e8783aa59255e86f37dcb8c5cc629821638052c0",
      "tree": "a67a487d89ddea1acbfddc912885302412beee6a",
      "parents": [
        "90f0d1da37c294cf1bb9b379ce6af9111ee20f4f"
      ],
      "author": {
        "name": "Le Van Toan",
        "email": "87959341+vt921102@users.noreply.github.com",
        "time": "Sat Sep 26 15:10:21 2026 +0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 26 13:40:21 2026 +0530"
      },
      "message": "HADOOP-19973. Hadoop file system can not browse the folder that has children folder with colon in Windows. (#8536)\n\nContributed by Le Van Toan"
    },
    {
      "commit": "90f0d1da37c294cf1bb9b379ce6af9111ee20f4f",
      "tree": "3927275dd46517f5abed59f8ea12994066bc176e",
      "parents": [
        "a7c2bea723df4f9c785b75c608fff21ac265a165"
      ],
      "author": {
        "name": "Stephen O\u0027Donnell",
        "email": "stephen.odonnell@gmail.com",
        "time": "Fri Sep 25 04:27:43 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 24 20:27:43 2026 -0700"
      },
      "message": "HDFS-17981. Make the bind address for HDFS NFS Gateway configurable (#8744)"
    },
    {
      "commit": "a7c2bea723df4f9c785b75c608fff21ac265a165",
      "tree": "7a65fcbcb902f6626e920c454f3f907bb91c461c",
      "parents": [
        "0aac4b3da8fe2139f7a0120badad236ade513e3d"
      ],
      "author": {
        "name": "Jose Luis López López",
        "email": "joseluisll@gmail.com",
        "time": "Fri Sep 25 01:29:59 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 25 07:29:59 2026 +0800"
      },
      "message": "MAPREDUCE-7544. JobEndNotifier should log through SLF4J (#8751) Contributed by Jose Luis López\n\n* MAPREDUCE-7544. JobEndNotifier should log through SLF4J.\n\nJobEndNotifier was the only class under src/main in the Hadoop tree\nstill logging through Jetty\u0027s org.eclipse.jetty.util.log.Log facade.\nReplace it with a standard SLF4J Logger and convert the 14 call sites\nfrom string concatenation to {} placeholder style, keeping the trailing\nexception argument where an exception was already being logged.\n\nAlso fix a pre-existing missing space in one warning, which rendered as\n\"couldn\u0027t parse configuredproxy\u0027s port\".\n\nNo pom change is needed: hadoop-mapreduce-client, the module\u0027s parent,\nalready declares org.slf4j:slf4j-api.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n\n* MAPREDUCE-7544. Add a test for JobEndNotifier\u0027s SLF4J logging.\n\nCapture the JobEndNotifier SLF4J logger and check that an unparseable\nproxy port is reported with the corrected \"configured proxy\u0027s port\"\nmessage, so the logging change is covered by a test.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\nClaude-Session: https://claude.ai/code/session_01SUT17GaRVsSz54UMidefv4\n\n---------\n\nCo-authored-by: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n\n---------\nCo-authored-by: Shilun Fan \u003cslfan1989@apache.org\u003e\nSigned-off-by: Shilun Fan \u003cslfan1989@apache.org\u003e"
    },
    {
      "commit": "0aac4b3da8fe2139f7a0120badad236ade513e3d",
      "tree": "efcb0d5b88ea5c2ff4878bae5557286fb2baa07b",
      "parents": [
        "2014707f8c31a620bffb4256d7f67245de5b94a3"
      ],
      "author": {
        "name": "Rajan Dhabalia",
        "email": "rdhabalia@apache.org",
        "time": "Thu Sep 24 02:42:39 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 24 17:42:39 2026 +0800"
      },
      "message": "HDFS-17977. Add a compact standalone HDFS DataNode read/write stress tester (#8719). Contributed by Rajan Dhabalia.\n\nSigned-off-by: He Xiaoqiao \u003chexiaoqiao@apache.org\u003e"
    },
    {
      "commit": "2014707f8c31a620bffb4256d7f67245de5b94a3",
      "tree": "fd25a4ed23ea75d384dc55e523f2c1043d086048",
      "parents": [
        "2fc3bb28fbf8ffcb4a946ea31a7841985c183c16"
      ],
      "author": {
        "name": "Conifer",
        "email": "48652137+JHSUYU@users.noreply.github.com",
        "time": "Tue Sep 22 23:52:26 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 22 20:52:26 2026 -0700"
      },
      "message": "HDFS-17960. Fix snapshot count drift during edit log replay (#8672)"
    },
    {
      "commit": "2fc3bb28fbf8ffcb4a946ea31a7841985c183c16",
      "tree": "345c19213882954d57920900c8f4fc851c8ba8db",
      "parents": [
        "3f440d242312af8b56615b1f32807207ade61f95"
      ],
      "author": {
        "name": "Sadanand Shenoy",
        "email": "sadanand.shenoy4898@gmail.com",
        "time": "Mon Sep 21 08:17:04 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Sep 20 19:47:04 2026 -0700"
      },
      "message": "HDFS-17980. Propagate Rename.TO_TRASH in authorization context for external enforcers. (#8741)\n\nGenerated-by: Cursor \u003ccursoragent@cursor.com\u003e"
    },
    {
      "commit": "3f440d242312af8b56615b1f32807207ade61f95",
      "tree": "1bdf7548dd880cc43ddd315c1c2981c510ce914d",
      "parents": [
        "a3febb258a28c1023a09ba29bc41c1b98a2c2cc7"
      ],
      "author": {
        "name": "Yubi Lee",
        "email": "eubnara@gmail.com",
        "time": "Sun Sep 20 02:06:17 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 19 22:36:17 2026 +0530"
      },
      "message": "HDFS-17965. DFSInputStream.close() should release the block reader even if the DFSClient is already closed (#8690)"
    },
    {
      "commit": "a3febb258a28c1023a09ba29bc41c1b98a2c2cc7",
      "tree": "3e587a779519f057c24a0e514bcdc5059148005b",
      "parents": [
        "2a5191965d2a7d37e23c373834ba792f0939f333"
      ],
      "author": {
        "name": "Cheng Pan",
        "email": "chengpan@apache.org",
        "time": "Fri Sep 18 12:30:00 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 18 12:30:00 2026 +0800"
      },
      "message": "HADOOP-19980. Document non-interactive start-build-env.sh usage and refresh build docs. (#8722)\n\nAuthored-by: Cheng Pan \u003cchengpan@apache.org\u003e\nReviewed-by: He Xiaoqiao \u003chexiaoqiao@apache.org\u003e\nReviewed-by: Ayush Saxena \u003cayushsaxena@apache.org\u003e\nSigned-off-by: Cheng Pan \u003cchengpan@apache.org\u003e"
    },
    {
      "commit": "2a5191965d2a7d37e23c373834ba792f0939f333",
      "tree": "3c995f7c2e53a2eb6d4888c282a060dc403b0ee3",
      "parents": [
        "fa368e813f023ae26a6860345df19bdb03742ad1"
      ],
      "author": {
        "name": "Sanjay Malakar",
        "email": "iamsanjaymalakar@gmail.com",
        "time": "Thu Sep 17 21:17:58 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 18 12:17:58 2026 +0800"
      },
      "message": "HDFS-17978. Ensure requestShortCircuitFdsForRead() closes the block stream when metadata-stream setup fails (#8731). Contributed by  Sanjay Malakar.\n\nSigned-off-by: He Xiaoqiao \u003chexiaoqiao@apache.org\u003e"
    },
    {
      "commit": "fa368e813f023ae26a6860345df19bdb03742ad1",
      "tree": "856abb73fe1c6dd4de9f09a37c1d2298924dc5d2",
      "parents": [
        "5b7e28c1679fa17866ae620161eb8c8376739d2d"
      ],
      "author": {
        "name": "Jose Luis López López",
        "email": "joseluisll@gmail.com",
        "time": "Fri Sep 18 06:06:46 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 18 12:06:46 2026 +0800"
      },
      "message": "HADOOP-19986. MiniDFSCluster.shutdownDataNodes() should signal all DataNodes before joining any (#8723). Contributed by Jose Luis López.\n\nSigned-off-by: He Xiaoqiao \u003chexiaoqiao@apache.org\u003e"
    },
    {
      "commit": "5b7e28c1679fa17866ae620161eb8c8376739d2d",
      "tree": "f1377a912bde068227d11094d83c8cdfca82d60e",
      "parents": [
        "32f4c9a56977f75c87a5145dc4bd1cdc40f4883f"
      ],
      "author": {
        "name": "Conifer",
        "email": "48652137+JHSUYU@users.noreply.github.com",
        "time": "Thu Sep 17 17:39:11 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 17 14:39:11 2026 -0700"
      },
      "message": "HDFS-17967. Handle InvalidEncryptionKeyException in data-transfer connection setup paths (#8698)"
    },
    {
      "commit": "32f4c9a56977f75c87a5145dc4bd1cdc40f4883f",
      "tree": "ea438e66985da6422651031254ec3060c8c3b373",
      "parents": [
        "90b043bd820a840e1393f73c0dfdc2b521f7680c"
      ],
      "author": {
        "name": "Manish Bhatt",
        "email": "52626736+bhattmanish98@users.noreply.github.com",
        "time": "Wed Sep 16 12:09:35 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 16 12:09:35 2026 +0530"
      },
      "message": "HADOOP-19941. ABFS: Support Photon (Apache Arrow) ListBlobs on the Blob endpoint (#8611)\n\nContributed by Manish Bhatt"
    },
    {
      "commit": "90b043bd820a840e1393f73c0dfdc2b521f7680c",
      "tree": "067e10a8dc047a0e318bc2fc1cafa85da5f9d04a",
      "parents": [
        "7104bb9734727c416e5d97bda8685aaae11f9a60"
      ],
      "author": {
        "name": "K0K0V0K",
        "email": "109747532+K0K0V0K@users.noreply.github.com",
        "time": "Tue Sep 15 15:23:29 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 15 15:23:29 2026 +0200"
      },
      "message": "YARN-11977. Add a Hadoop-native MCP HTTP server framework in hadoop-common (#8665)\n\nIntroduce org.apache.hadoop.mcp with JSON-RPC streamable HTTP transport and McpHttpServer/McpServer."
    },
    {
      "commit": "7104bb9734727c416e5d97bda8685aaae11f9a60",
      "tree": "877b5bd24de0bc229d4d021ff5f7c0652b418260",
      "parents": [
        "64f1d314a26441d6ed77120fe1b37337ac8d5c23"
      ],
      "author": {
        "name": "Sanjay Malakar",
        "email": "iamsanjaymalakar@gmail.com",
        "time": "Mon Sep 14 22:22:15 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 15 10:52:15 2026 +0530"
      },
      "message": "HDFS-17979. TeeOutputStream.close() should close every wrapped output (#8732). Contributed by Sanjay Malakar"
    },
    {
      "commit": "64f1d314a26441d6ed77120fe1b37337ac8d5c23",
      "tree": "7268d79f3a67b8070415ae6d959c06ae569b6eb2",
      "parents": [
        "40433c51b4826127535c76035a970ba688cac82b"
      ],
      "author": {
        "name": "Akira Ajisaka",
        "email": "aajisaka@apache.org",
        "time": "Tue Sep 15 09:14:21 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 15 09:14:21 2026 +0900"
      },
      "message": "HDFS-16021. heap-use-after-free in hdfsThreadDestructor (#8739)\n\nlibhdfs registers a pthread TLS destructor, hdfsThreadDestructor, that\ndetaches the current thread from the JVM whenever it finds a cached\nJNIEnv.  It does so regardless of who attached the thread.  When the\nJVM (or an embedding application) attached the thread, the JNIEnv it\nstill holds may already have been freed by the time the destructor\nruns, so dereferencing it reads freed memory (heap-use-after-free,\nSIGSEGV).\n\nTrack in ThreadLocalState whether libhdfs attached the thread itself,\ndetermined in getGlobalJNIEnv via GetEnv before attaching, and skip\nthe JNI detach in hdfsThreadDestructor for threads libhdfs did not\nattach.\n\nAssisted-by: OpenCode (GLM-5.3-Flash)\nReviewed-by: Ayush Saxena \u003cayushsaxena@apache.org\u003e"
    },
    {
      "commit": "40433c51b4826127535c76035a970ba688cac82b",
      "tree": "4940327b8d541b55d0833d32dc01143ad3f52bbd",
      "parents": [
        "7609530caaa260261a6302a4fb20fa6a26c65110"
      ],
      "author": {
        "name": "Steve Loughran",
        "email": "stevel@apache.org",
        "time": "Tue Sep 08 10:52:21 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 08 10:52:21 2026 +0100"
      },
      "message": "HADOOP-19930. ObjectWritable to validate class on load (#8640)\n\n\nNew reflection validation in ReflectionUtils\n-Pulls up class type checking to before actual class load; fails fast\n-Add check of array length.\n-Limit recursive depth to 100.\n\nThis is used in SequenceFile, InputSplits and elsewhere that\nWritable subclasses instantiate classes. \n\nContributed by Steve Loughran\nAssisted-by: Claude.ai\n\n\"This is Ripley, last survivor of the Nostromo, signing off.\"\n9589683f-369f-4a30-8c93-e9f5d04ceb5a"
    },
    {
      "commit": "7609530caaa260261a6302a4fb20fa6a26c65110",
      "tree": "28d3d8b457817c50df928c9f0de8d73766e21c6d",
      "parents": [
        "706d4dcb3266f35fcd5df77add1352a5541d28c4"
      ],
      "author": {
        "name": "Gautham B A",
        "email": "gautham.bangalore@gmail.com",
        "time": "Mon Sep 07 19:04:19 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 07 19:04:19 2026 +0530"
      },
      "message": "HADOOP-19977. winutils: GetFileInformationByName collides with Windows SDK 10.0.26100 (#8713)\n\nWindows SDK 10.0.26100.0 added its own GetFileInformationByName to\nWinBase.h, guarded by NTDDI_WIN11_ZN. It collides with the winutils\nhelper of the same name that Hadoop has carried for years.\n\nThe two differ in signature, so in C++ they would ordinarily overload.\nOverloading requires C++ linkage, but both have C linkage: winutils.h\nwraps its declarations in extern \"C\", and so does the SDK header. The\ncompiler therefore rejects the pair, and libwinutils fails to build:\n\n  winutils.h(129,7): error C2733: \u0027GetFileInformationByName\u0027: you\n  cannot overload a function with \u0027extern \"C\"\u0027 linkage\n\nSDK 10.0.22621.0 does not declare the symbol, which is why this has\nonly now started breaking.\n\nThe SDK name cannot be changed, so rename the Hadoop helper to\nGetFileInformationByPathName, the by-path counterpart to the SDK\u0027s\nexisting GetFileInformationByHandle. This is a pure rename of one\ninternal helper and its call sites: no behaviour change, and no change\nto any public or JNI-visible surface."
    },
    {
      "commit": "706d4dcb3266f35fcd5df77add1352a5541d28c4",
      "tree": "3f7e1f8f3ec4d8169c24aca6ed723ee7e42a1505",
      "parents": [
        "6e82d7b5f7805a32ac7a885cb66bf62b8ad15db4"
      ],
      "author": {
        "name": "Jose Luis López López",
        "email": "joseluisll@gmail.com",
        "time": "Fri Sep 04 15:57:40 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 04 21:57:40 2026 +0800"
      },
      "message": "HDFS-17972. TestDFSClientRetries: restore the fault injector and release its latch when the deadlock test dies (#8712)\n\nAuthored-by: Jose Luis López López \u003cjoseluisll@gmail.com\u003e\nSigned-off-by: Cheng Pan \u003cchengpan@apache.org\u003e"
    },
    {
      "commit": "6e82d7b5f7805a32ac7a885cb66bf62b8ad15db4",
      "tree": "0648d3558750b3602c3d43e05337aacbc3a4b94d",
      "parents": [
        "2f4034762495fb5c19e20b647164f49fdca9be49"
      ],
      "author": {
        "name": "Yubi Lee",
        "email": "eubnara@gmail.com",
        "time": "Fri Sep 04 16:22:06 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 04 15:22:06 2026 +0800"
      },
      "message": "YARN-11987. container-executor delete-as-user fails to rmdir private filecache directories. (#8700)\n\nAuthored-by: Yubi Lee \u003ceubnara@naver.com\u003e\nReviewed-by: Shilun Fan \u003cslfan1989@apache.org\u003e\nSigned-off-by: Cheng Pan \u003cchengpan@apache.org\u003e"
    },
    {
      "commit": "2f4034762495fb5c19e20b647164f49fdca9be49",
      "tree": "df79046d36a63b0d537383fba81b55d44e220c76",
      "parents": [
        "abbc78d44168ead0a604b49b195fe677931a8cd2"
      ],
      "author": {
        "name": "CapMoon",
        "email": "49219380+CapMoon@users.noreply.github.com",
        "time": "Thu Sep 03 18:31:17 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 03 18:31:17 2026 +0800"
      },
      "message": "HDFS-17962. NNTop may lose user metrics during expired window cleanup (#8677)"
    },
    {
      "commit": "abbc78d44168ead0a604b49b195fe677931a8cd2",
      "tree": "095ad9fbe9cf9a34b3966497faa4af83228081a3",
      "parents": [
        "3a2c2c8c6653a58cf8d0d6f6034485577bd2e6ce"
      ],
      "author": {
        "name": "slfan1989",
        "email": "55643692+slfan1989@users.noreply.github.com",
        "time": "Sun Aug 30 21:21:41 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 30 21:21:41 2026 +0800"
      },
      "message": "HDFS-17971. Fix RAT check failure for vendored JSON.java in hadoop-hdfs-rbf. (#8708) Contributed by Shilun Fan\n\n* HDFS-17971. Fix RAT check failure for vendored JSON.java in hadoop-hdfs-rbf.\n\nExclude the vendored JSON.java source from the Apache RAT scan. The file retains its upstream EPL-1.0/Apache-2.0 dual-license header, which RAT does not recognize as the standard ASF license header. \nThis avoids the false positive without modifying the original licensing notice.\n\nReviewed-by: Hualong Zhang \u003chualong.z@hotmail.com\u003e\nSigned-off-by: Shilun Fan \u003cslfan1989@apache.org\u003e"
    },
    {
      "commit": "3a2c2c8c6653a58cf8d0d6f6034485577bd2e6ce",
      "tree": "d40edef4d8b73fddde6e57d85e38d433a57fb4a1",
      "parents": [
        "c48027aee9adedbcfa574647b5e06d851ca6f55b"
      ],
      "author": {
        "name": "Susheel Gupta",
        "email": "38013283+susheelgupta7@users.noreply.github.com",
        "time": "Sun Aug 30 15:36:41 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 30 18:06:41 2026 +0800"
      },
      "message": "YARN-11985: Placement rule does not allow to select Leaf Queue as Parent although Dynamic Queue Creation is turned on (#8686) Contributed by Susheel Gupta.\n\n* YARN-11985. Allow dynamically creatable queues as placement rule parents\n\nInclude queues with legacy or flexible dynamic queue creation enabled in the placement rule parent queue options, even when they have no static children.\nHonor staged auto-creation settings over the live scheduler state and add tests covering live and staged enable/disable scenarios.\n\nCo-authored-by: Shilun Fan \u003cslfan1989@apache.org\u003e\nSigned-off-by: Shilun Fan \u003cslfan1989@apache.org\u003e"
    },
    {
      "commit": "c48027aee9adedbcfa574647b5e06d851ca6f55b",
      "tree": "7b10da91c7297eada4044496425ff281121df358",
      "parents": [
        "26b0b5a0d9a287e2a7d2052bcc583090ae4dd700"
      ],
      "author": {
        "name": "Siyao Meng",
        "email": "50227127+smengcl@users.noreply.github.com",
        "time": "Thu Aug 27 14:51:12 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 27 14:51:12 2026 -0700"
      },
      "message": "HADOOP-19935. Windows: make preferIPv4Stack overridable, matching hadoop-functions.sh. (#8592)"
    },
    {
      "commit": "26b0b5a0d9a287e2a7d2052bcc583090ae4dd700",
      "tree": "4a77eb6e55f1aa38f2f8ec8b21900122ce633734",
      "parents": [
        "33237971fa49f7ba0a0f4e2790dfdd7b792e8acc"
      ],
      "author": {
        "name": "Steve Loughran",
        "email": "stevel@apache.org",
        "time": "Wed Aug 26 14:09:02 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 26 14:09:02 2026 +0100"
      },
      "message": "HADOOP-19965. GHA update build status runs in forked repos (#8702)\n\n\nContributed by Steve Loughran"
    },
    {
      "commit": "33237971fa49f7ba0a0f4e2790dfdd7b792e8acc",
      "tree": "88c2dc9cbdedc5b31bdae568a6a804f4066af0ef",
      "parents": [
        "2add9630210752f88ceb1bb74eb65e37bf41da8e"
      ],
      "author": {
        "name": "singer-bin",
        "email": "m17809206755@163.com",
        "time": "Mon Aug 24 18:22:35 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 24 18:22:35 2026 +0800"
      },
      "message": "HDFS-17953. Fix DataNode OOM when pendingIBRs unlimited grows while NameNode is unreachable. (#8626). Contributed by yanbin.zhang\n\nSigned-off-by: He Xiaoqiao \u003chexiaoqiao@apache.org\u003e"
    },
    {
      "commit": "2add9630210752f88ceb1bb74eb65e37bf41da8e",
      "tree": "e137a8cccd605bcc71a0dd6157bb81aae8d80508",
      "parents": [
        "5d1cd61f994d005242ce72706b1a64de35281db4"
      ],
      "author": {
        "name": "PJ Fanning",
        "email": "pjfanning@users.noreply.github.com",
        "time": "Fri Aug 21 10:07:46 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 21 17:07:46 2026 +0800"
      },
      "message": "HADOOP-19969. Upgrade httpcore5 and httpclient5 due to security issues (#8696)\n\nAuthored-by: PJ Fanning \u003cfanningpj@apache.org\u003e\nReviewed-by: Ayush Saxena \u003cayushsaxena@apache.org\u003e\nReviewed-by: Shilun Fan \u003cslfan1989@apache.org\u003e\nSigned-off-by: Cheng Pan \u003cchengpan@apache.org\u003e"
    },
    {
      "commit": "5d1cd61f994d005242ce72706b1a64de35281db4",
      "tree": "397f8455d11ff196273acb831e07f23e98840212",
      "parents": [
        "d75c9a9347547ba069c89d1b000d6e4eecce8493"
      ],
      "author": {
        "name": "PJ Fanning",
        "email": "pjfanning@users.noreply.github.com",
        "time": "Fri Aug 21 10:03:47 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 21 17:03:47 2026 +0800"
      },
      "message": "HADOOP-19968. Upgrade to log4j 2.26.1 due to CVE-2026-49844 (#8695)\n\nAuthored-by: PJ Fanning \u003cfanningpj@apache.org\u003e\nReviewed-by: Shilun Fan \u003cslfan1989@apache.org\u003e\nSigned-off-by: Cheng Pan \u003cchengpan@apache.org\u003e"
    },
    {
      "commit": "d75c9a9347547ba069c89d1b000d6e4eecce8493",
      "tree": "5b030b02ec66178fac89475549124e4acc287ad9",
      "parents": [
        "54171ce074faa8d252caa698d8f6c33297f2b54c"
      ],
      "author": {
        "name": "PJ Fanning",
        "email": "pjfanning@users.noreply.github.com",
        "time": "Fri Aug 21 10:01:22 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 21 17:01:22 2026 +0800"
      },
      "message": "HADOOP-19967. Upgrade to Jackson 2.18.10 due to security issues (#8694)\n\nAuthored-by: PJ Fanning \u003cfanningpj@apache.org\u003e\nSigned-off-by: Cheng Pan \u003cchengpan@apache.org\u003e"
    },
    {
      "commit": "54171ce074faa8d252caa698d8f6c33297f2b54c",
      "tree": "bc3f4aad92dbc53b0ea0a94749201a9923f8c4c0",
      "parents": [
        "d57814e30154a65ce40b38816900e12b02858436"
      ],
      "author": {
        "name": "PJ Fanning",
        "email": "pjfanning@users.noreply.github.com",
        "time": "Fri Aug 21 09:59:27 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 21 16:59:27 2026 +0800"
      },
      "message": "HADOOP-19951. Remove use of jetty-util-ajax and use jackson instead (#8654)\n\nAuthored-by: PJ Fanning \u003cfanningpj@apache.org\u003e\nReviewed-by: Aaron Fabbri \u003cfabbri@apache.org\u003e\nSigned-off-by: Cheng Pan \u003cchengpan@apache.org\u003e"
    },
    {
      "commit": "d57814e30154a65ce40b38816900e12b02858436",
      "tree": "f5e8de1c452f7b6c6ea021846a280551acaf07f5",
      "parents": [
        "ff1cc80864786a6e70051cffb8d8d5f3079293d2"
      ],
      "author": {
        "name": "Jose Luis López López",
        "email": "joseluisll@gmail.com",
        "time": "Wed Aug 19 10:52:45 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 19 16:52:45 2026 +0800"
      },
      "message": "HADOOP-19963. Shut down leaked mini-cluster instances in hadoop-distcp and hadoop-streaming. (#8678)\n\nAuthored-by: Jose Luis López López \u003cjoseluisll@gmail.com\u003e\nSigned-off-by: Cheng Pan \u003cchengpan@apache.org\u003e"
    },
    {
      "commit": "ff1cc80864786a6e70051cffb8d8d5f3079293d2",
      "tree": "2bcf1a67efbf68506cb9cd79cef41b0f4ed01b7d",
      "parents": [
        "d4c6f02e64a7e88f6c4268a7e32a9d7c71d02175"
      ],
      "author": {
        "name": "nishat shabbir",
        "email": "nishat@bugqore.com",
        "time": "Wed Aug 19 11:39:31 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 19 14:09:31 2026 +0800"
      },
      "message": "MAPREDUCE-7543: Constant-time compare when verifying the shuffle HMAC (#8687)\n\nAuthored-by: nishat shabbir \u003cnishat@bugqore.com\u003e\nSigned-off-by: Cheng Pan \u003cchengpan@apache.org\u003e"
    },
    {
      "commit": "d4c6f02e64a7e88f6c4268a7e32a9d7c71d02175",
      "tree": "51a353547f480212f2460859252314f0605b0d41",
      "parents": [
        "7e7884795e21b7f259db4bf8b4a5f1099515450a"
      ],
      "author": {
        "name": "Jose Luis López López",
        "email": "joseluisll@gmail.com",
        "time": "Tue Aug 18 04:29:06 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 18 10:29:06 2026 +0800"
      },
      "message": "HDFS-17957. Shut down leaked mini-cluster instances and review timeout values in hadoop-hdfs-project tests. (#8659). Contributed by Jose Luis López\n\nSigned-off-by: He Xiaoqiao \u003chexiaoqiao@apache.org\u003e"
    },
    {
      "commit": "7e7884795e21b7f259db4bf8b4a5f1099515450a",
      "tree": "15657ab4f038e3610c65972e58631242d61eece2",
      "parents": [
        "a9cf9661145f8d6f110689e8d314f0c27c6bd094"
      ],
      "author": {
        "name": "CapMoon",
        "email": "49219380+CapMoon@users.noreply.github.com",
        "time": "Mon Aug 17 10:35:23 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 17 10:35:23 2026 +0800"
      },
      "message": "HDFS-17961. Fix ineffective bucket-size validation in RollingWindow constructor (#8673)"
    },
    {
      "commit": "a9cf9661145f8d6f110689e8d314f0c27c6bd094",
      "tree": "e330649437e992d2c8a666c19dde07420dcb0540",
      "parents": [
        "a0f38bc617ceefe80b022ed85cd34e14c89a05d1"
      ],
      "author": {
        "name": "Jose Luis López López",
        "email": "joseluisll@gmail.com",
        "time": "Sat Aug 15 06:40:03 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 15 12:40:03 2026 +0800"
      },
      "message": "YARN-11983. Shut down leaked mini-cluster instances. (#8679)\n\nTwo YARN test classes leak MiniYARNCluster instances.\n\nTestFederationRMFailoverProxyProvider#testProxyProvider, the helper both\nfailover tests drive, stopped its cluster only after the last assertion,\nso the cluster leaked exactly when the test failed. The method body now\nruns under try/finally and the stop covers every exit.\n\nTestMiniYarnClusterNodeUtilization holds its cluster in a field with no\nteardown in the class or its ancestors; @BeforeEach builds and starts a\nfresh cluster for each of the two test methods, so every run leaked two\nclusters even when the tests passed. A new @AfterEach stops whatever\nsetup() built.\n\nA leaked cluster keeps threads, heap and ports alive under the remaining\ntests of the class. This is the hadoop-yarn slice of the mini-cluster\nleak scan behind HDFS-17957. Test-only, no production code touched; both\nmodules test-compile clean.\n\nContains content generated by Claude Code.\nGenerated-by: Claude Code (Fable 5)\n\nCo-authored-by: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n\nCo-authored-by: Shilun Fan \u003cslfan1989@apache.org\u003e\nSigned-off-by: Shilun Fan \u003cslfan1989@apache.org\u003e"
    },
    {
      "commit": "a0f38bc617ceefe80b022ed85cd34e14c89a05d1",
      "tree": "e89f850ea1f81d3b17a1ecd7f26b2b1ee76324b8",
      "parents": [
        "d76ea36efb930e415486a692f08fb6562eaa6546"
      ],
      "author": {
        "name": "Jose Luis López López",
        "email": "joseluisll@gmail.com",
        "time": "Sat Aug 15 04:22:36 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 15 10:22:36 2026 +0800"
      },
      "message": "MAPREDUCE-7542. Shut down leaked mini-cluster instances. (#8680)\n\nTwo mapreduce-client-jobclient test classes hold mini-cluster\nreferences that can outlive the tests that build them.\n\nTestNNBench#testNNBenchCrossCluster shut its MiniDFSCluster down only\nafter the last assertion, so the cluster leaked exactly when the test\nfailed. The method body now runs under try/finally and the shutdown\ncovers every exit.\n\nTestDelegationToken builds a MiniMRCluster into a field from\n@BeforeEach with no teardown in the class or its ancestors. The class\nis currently @Disabled at class level, so the leak bites only when the\nclass is re-enabled; the new @AfterEach shuts down whatever setup()\nbuilt and makes re-enabling safe.\n\nA leaked cluster keeps threads, heap and ports alive under the\nremaining tests of the class. This is the hadoop-mapreduce slice of the\nmini-cluster leak scan behind HDFS-17957. Test-only, no production code\ntouched; the module test-compiles clean.\n\nContains content generated by Claude Code.\nGenerated-by: Claude Code (Fable 5)\n\nCo-authored-by: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\nCo-authored-by: Shilun Fan \u003cslfan1989@apache.org\u003e"
    },
    {
      "commit": "d76ea36efb930e415486a692f08fb6562eaa6546",
      "tree": "eca0bc7845d5cf3aa6dcf0324f48c56e9513b5b1",
      "parents": [
        "5a2a4923d52bc62ed0c114150a607bdb37aca8aa"
      ],
      "author": {
        "name": "PJ Fanning",
        "email": "pjfanning@users.noreply.github.com",
        "time": "Sat Aug 15 02:57:57 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 15 09:57:57 2026 +0800"
      },
      "message": "HADOOP-19956. Upgrade lz4-java to 1.11.2 due to security issues (#8666) Contributed by PJ Fanning\n\n* HADOOP-19956. Upgrade lz4-java to 1.11.2 due to security issues\nReviewed-by: Ayush Saxena \u003cayushsaxena@apache.org\u003e\nSigned-off-by: Shilun Fan \u003cslfan1989@apache.org\u003e"
    },
    {
      "commit": "5a2a4923d52bc62ed0c114150a607bdb37aca8aa",
      "tree": "8b214a8c5c4b8959d7eb172e9ca723c3ca73947a",
      "parents": [
        "e749fe090a9a19ca4b53e9668508b3bba7a66f1b"
      ],
      "author": {
        "name": "PJ Fanning",
        "email": "pjfanning@users.noreply.github.com",
        "time": "Sat Aug 15 02:56:43 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 15 09:56:43 2026 +0800"
      },
      "message": "HADOOP-19957. Upgrade Netty to 4.1.137 due to CVEs (#8667) Contributed by PJ Fanning\n\n* HADOOP-19957. Upgrade Netty to 4.1.136 due to CVE-2026-59901\n\nReviewed-by: Ayush Saxena \u003cayushsaxena@apache.org\u003e\nSigned-off-by: Shilun Fan \u003cslfan1989@apache.org\u003e"
    },
    {
      "commit": "e749fe090a9a19ca4b53e9668508b3bba7a66f1b",
      "tree": "1090b01d20491645419f6684a636c183780a2388",
      "parents": [
        "0d5da677c316a804ef142db6891cfb7a37840631"
      ],
      "author": {
        "name": "Felix Nguyen",
        "email": "23214709+kokonguyen191@users.noreply.github.com",
        "time": "Thu Aug 13 11:47:48 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 13 11:47:48 2026 +0800"
      },
      "message": "HDFS-17933. [ARR] Add metrics to track async router queue size (#8539)"
    },
    {
      "commit": "0d5da677c316a804ef142db6891cfb7a37840631",
      "tree": "090a5c53c7684f3d8271b39ce338763a5ead991e",
      "parents": [
        "dccedc252716e9d4b046e79cae7b5187104c25ac"
      ],
      "author": {
        "name": "CapMoon",
        "email": "49219380+CapMoon@users.noreply.github.com",
        "time": "Thu Aug 13 11:42:01 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 13 11:42:01 2026 +0800"
      },
      "message": "HDFS-17939. StripedReader should only scan data blocks when initializing zero stripe indices (#8563)"
    },
    {
      "commit": "dccedc252716e9d4b046e79cae7b5187104c25ac",
      "tree": "1a2d9bbee39506d1a20382d038ee1c193f6706c3",
      "parents": [
        "388394cfd450ec1fd19aae1a4461d0accadc24ef"
      ],
      "author": {
        "name": "Cheng Pan",
        "email": "chengpan@apache.org",
        "time": "Fri Aug 07 11:08:32 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 07 11:08:32 2026 +0800"
      },
      "message": "HADOOP-19950. Capture surefire diagnostics on fork timeout in CI (#8651)\n\nAuthored-by: Cheng Pan \u003cchengpan@apache.org\u003e\nAssisted-by: GLM 5.2\nReviewed-by: Aaron Fabbri \u003cfabbri@apache.org\u003e\nSigned-off-by: Cheng Pan \u003cchengpan@apache.org\u003e"
    },
    {
      "commit": "388394cfd450ec1fd19aae1a4461d0accadc24ef",
      "tree": "2701723d2467143e4ce7882ec6ed18dfe3961e4b",
      "parents": [
        "73c119ad19ced60232bd2a115b4f25c2abf0a5c8"
      ],
      "author": {
        "name": "Raphael Azzolini",
        "email": "azzolini@amazon.com",
        "time": "Wed Aug 05 20:23:05 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 05 20:23:05 2026 -0700"
      },
      "message": "HADOOP-19197. S3A: KMS Encryption Context support: follow-up (#8185)\n\nFollowup the main HADOOP-19197 patch to address serialization\nand compilation issues\n\n* Recreate serialization ID\n* Restore two arg constructor\n* Define DEFAULT_S3_ENCRYPTION_CONTEXT to specify what the\n  default value is (just \"\", but being explicit)\n* Restore ability to unmarshal old version encryption secrets.\n* Tests\n\nThis allows for YARN services to load DTs supplied by older releases.\n\nIf they marshall the secrets again the fact they were the older version\nis lost, they get upgraded. This may complicate any worker node launch\nwhere the DT list is modified before passing to the launched process"
    }
  ],
  "next": "73c119ad19ced60232bd2a115b4f25c2abf0a5c8"
}
