)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"55ac142d8f910b7e51603b0cd91437fe6278fbc7","unresolved":true,"context_lines":[{"line_number":15,"context_line":"preserves the first 100 characters for context and the last"},{"line_number":16,"context_line":"768 characters for the actual error details, inserting a"},{"line_number":17,"context_line":"trimmed marker in between."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Closes-Bug: #2097659"},{"line_number":20,"context_line":"Change-Id: Iade8caf404fb081c40446dfe26b53f4fb3252bad"},{"line_number":21,"context_line":"Signed-off-by: Victor \u003cobiezuevictor@gmail.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"49f10ca8_f3c2793f","line":18,"updated":"2026-03-19 20:21:18.000000000","message":"Greetings, One aspect I\u0027ve noticed makes me think claude was used. And that is okay! When claude is used, we ask folks add an \"assisted-by\" label. You can learn more about that at: https://openinfra.org/legal/ai-policy/","commit_id":"2e9729c1d1cc7923ee20d40bbfa547b43b3d9d06"},{"author":{"_account_id":38704,"name":"Victor","display_name":"victor_obi","email":"obiezuevictor@gmail.com","username":"victor_obi"},"change_message_id":"747ad2db5ae686053fdd1617d205a127219c32f8","unresolved":false,"context_lines":[{"line_number":15,"context_line":"preserves the first 100 characters for context and the last"},{"line_number":16,"context_line":"768 characters for the actual error details, inserting a"},{"line_number":17,"context_line":"trimmed marker in between."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Closes-Bug: #2097659"},{"line_number":20,"context_line":"Change-Id: Iade8caf404fb081c40446dfe26b53f4fb3252bad"},{"line_number":21,"context_line":"Signed-off-by: Victor \u003cobiezuevictor@gmail.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5227d947_16ddf6cb","line":18,"in_reply_to":"49f10ca8_f3c2793f","updated":"2026-04-10 13:15:09.000000000","message":"Done","commit_id":"2e9729c1d1cc7923ee20d40bbfa547b43b3d9d06"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"6f36a2dcb22609b7abe1d365e71911d5fdb9081c","unresolved":true,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Closes-Bug: #2097659"},{"line_number":20,"context_line":"Change-Id: Iade8caf404fb081c40446dfe26b53f4fb3252bad"},{"line_number":21,"context_line":"Signed-off-by: Victor \u003cobiezuevictor@gmail.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"00e0a18f_fbf2ea4e","line":21,"updated":"2026-03-19 20:15:06.000000000","message":"Traditionally, DCOs contain a full legal name since it\u0027s a statement of copyright ownership.\n\nA reminder about commit messages: we are OK with use of AI tooling but please use Generated-by or Assisted-by tags to indicate which tooling you are using. (If this is human-written, double awesome)","commit_id":"2e9729c1d1cc7923ee20d40bbfa547b43b3d9d06"},{"author":{"_account_id":38704,"name":"Victor","display_name":"victor_obi","email":"obiezuevictor@gmail.com","username":"victor_obi"},"change_message_id":"747ad2db5ae686053fdd1617d205a127219c32f8","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Closes-Bug: #2097659"},{"line_number":20,"context_line":"Change-Id: Iade8caf404fb081c40446dfe26b53f4fb3252bad"},{"line_number":21,"context_line":"Signed-off-by: Victor \u003cobiezuevictor@gmail.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"f24d9ca7_35665397","line":21,"in_reply_to":"00e0a18f_fbf2ea4e","updated":"2026-04-10 13:15:09.000000000","message":"Done","commit_id":"2e9729c1d1cc7923ee20d40bbfa547b43b3d9d06"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"55ac142d8f910b7e51603b0cd91437fe6278fbc7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"53903775_4f0afecd","updated":"2026-03-19 20:21:18.000000000","message":"Overall, I think this change is great, but could use a release note and the commit message may need to be advised. I\u0027ve put a comment in there for your assistance.\n\nFor release notes,  https://www.youtube.com/watch?v\u003dB9HEMUhRIqE is a random video off of youtube on how to create a release note, and. you can read about the reno tool at https://opendev.org/openstack/reno","commit_id":"2e9729c1d1cc7923ee20d40bbfa547b43b3d9d06"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"6f36a2dcb22609b7abe1d365e71911d5fdb9081c","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"2d415605_009668d3","updated":"2026-03-19 20:15:06.000000000","message":"This is an operator facing change; please add a relaese note -- https://docs.openstack.org/manila/newton/devref/adding_release_notes.html is a doc from another project on how to do that.","commit_id":"2e9729c1d1cc7923ee20d40bbfa547b43b3d9d06"},{"author":{"_account_id":38704,"name":"Victor","display_name":"victor_obi","email":"obiezuevictor@gmail.com","username":"victor_obi"},"change_message_id":"747ad2db5ae686053fdd1617d205a127219c32f8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"539ae177_4dbfd56d","in_reply_to":"2d415605_009668d3","updated":"2026-04-10 13:15:09.000000000","message":"Done","commit_id":"2e9729c1d1cc7923ee20d40bbfa547b43b3d9d06"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"0ba1f7602d6dd45bda9966c6ea5b78e275825106","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"41ea1248_845a5ffb","updated":"2026-04-04 16:24:01.000000000","message":"Just a heads up, for stuff like this in the future, when you\u0027ve revised and it\u0027s ready for re-review -- mentioning in IRC is good (it got me here), but our formal tracking for that is with hashtags -- just hit \"Show All\" beside the reply button to reveal the \"hashtag\" field and toss \"ironic-week-prio\" in there and it\u0027ll show up in everyone\u0027s review dashboard.\n\nThanks for the contribution!","commit_id":"84a268854079ff5c6644058cd911b5aac291f069"},{"author":{"_account_id":38704,"name":"Victor","display_name":"victor_obi","email":"obiezuevictor@gmail.com","username":"victor_obi"},"change_message_id":"747ad2db5ae686053fdd1617d205a127219c32f8","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"8bd5f788_045d6b22","in_reply_to":"41ea1248_845a5ffb","updated":"2026-04-10 13:15:09.000000000","message":"Noted, thank you.","commit_id":"84a268854079ff5c6644058cd911b5aac291f069"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"ac3c2f60cb868697fda895359f5797826617f3bf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"f6e0feb2_ef6cde25","updated":"2026-04-12 13:50:34.000000000","message":"So the 64k limit is for one column in one row. So I don’t understand why we limit to 100 bytes of the head and 768 bytes of the tail.\n\nThat said the approach of assuming utf8 size in bytes is wrong. Just convert to bytes and truncate that.\n\n```\ndef truncate_event(event: str, max_bytes: int \u003d 65535) -\u003e str:\n    TRIM_MSG \u003d \" ... [truncated] ... \"\n    encoded \u003d event.encode(\"utf-8\")\n    if len(encoded) \u003c\u003d max_bytes:\n        return event\n\n    trim_bytes \u003d TRIM_MSG.encode(\"utf-8\")\n    keep \u003d max_bytes - len(trim_bytes)\n    head \u003d keep // 2\n    tail \u003d keep - head\n\n    return (\n        encoded[:head].decode(\"utf-8\", errors\u003d\"ignore\")\n        + TRIM_MSG\n        + encoded[-tail:].decode(\"utf-8\", errors\u003d\"ignore\")\n    )\n```\n\nWould evenly divide the message and truncate in the middle.","commit_id":"b1eed22f4dea58d77fe257104ddae6b6a3ab23fe"},{"author":{"_account_id":38704,"name":"Victor","display_name":"victor_obi","email":"obiezuevictor@gmail.com","username":"victor_obi"},"change_message_id":"747ad2db5ae686053fdd1617d205a127219c32f8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"95f4a736_ae033b59","updated":"2026-04-10 13:15:09.000000000","message":"recheck","commit_id":"b1eed22f4dea58d77fe257104ddae6b6a3ab23fe"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"5ef84ccfc28b3f9ceb192d10c475ca78984a9e9b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"21e74b59_3558fb9d","updated":"2026-04-21 14:28:58.000000000","message":"recheck","commit_id":"6d8a91202962350688e123619a738db5f61b8e12"}],"ironic/conductor/utils.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"55ac142d8f910b7e51603b0cd91437fe6278fbc7","unresolved":true,"context_lines":[{"line_number":1931,"context_line":"        # then we should record the entry."},{"line_number":1932,"context_line":"        # NOTE(TheJulia): DB API automatically adds in a uuid."},{"line_number":1933,"context_line":"        # TODO(TheJulia): At some point, we should allow custom severity."},{"line_number":1934,"context_line":"        # NOTE: Truncate event to avoid exceeding DB column size limits."},{"line_number":1935,"context_line":"        # We preserve the first 100 characters for context and the last"},{"line_number":1936,"context_line":"        # 768 characters for the actual error, as suggested in the bug"},{"line_number":1937,"context_line":"        # report. This ensures we stay within MySQL TEXT limits."}],"source_content_type":"text/x-python","patch_set":1,"id":"eb350f39_62a2a2c3","line":1934,"range":{"start_line":1934,"start_character":9,"end_line":1934,"end_character":15},"updated":"2026-03-19 20:21:18.000000000","message":"Typically, I\u0027ve seen the bolded NOTE text, considering it is harder to get to on a standard keyboard, is someting we tend to see for AI assisted output. That is okay. Just as a note, the exepcted community format is \"NOTE(yourname):\"","commit_id":"2e9729c1d1cc7923ee20d40bbfa547b43b3d9d06"},{"author":{"_account_id":38704,"name":"Victor","display_name":"victor_obi","email":"obiezuevictor@gmail.com","username":"victor_obi"},"change_message_id":"747ad2db5ae686053fdd1617d205a127219c32f8","unresolved":false,"context_lines":[{"line_number":1931,"context_line":"        # then we should record the entry."},{"line_number":1932,"context_line":"        # NOTE(TheJulia): DB API automatically adds in a uuid."},{"line_number":1933,"context_line":"        # TODO(TheJulia): At some point, we should allow custom severity."},{"line_number":1934,"context_line":"        # NOTE: Truncate event to avoid exceeding DB column size limits."},{"line_number":1935,"context_line":"        # We preserve the first 100 characters for context and the last"},{"line_number":1936,"context_line":"        # 768 characters for the actual error, as suggested in the bug"},{"line_number":1937,"context_line":"        # report. This ensures we stay within MySQL TEXT limits."}],"source_content_type":"text/x-python","patch_set":1,"id":"72e9b0a2_0ce380b1","line":1934,"range":{"start_line":1934,"start_character":9,"end_line":1934,"end_character":15},"in_reply_to":"6874d140_35508172","updated":"2026-04-10 13:15:09.000000000","message":"Done","commit_id":"2e9729c1d1cc7923ee20d40bbfa547b43b3d9d06"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"a337abdc69085b433b8dc472ec9f9fab593160fa","unresolved":true,"context_lines":[{"line_number":1931,"context_line":"        # then we should record the entry."},{"line_number":1932,"context_line":"        # NOTE(TheJulia): DB API automatically adds in a uuid."},{"line_number":1933,"context_line":"        # TODO(TheJulia): At some point, we should allow custom severity."},{"line_number":1934,"context_line":"        # NOTE: Truncate event to avoid exceeding DB column size limits."},{"line_number":1935,"context_line":"        # We preserve the first 100 characters for context and the last"},{"line_number":1936,"context_line":"        # 768 characters for the actual error, as suggested in the bug"},{"line_number":1937,"context_line":"        # report. This ensures we stay within MySQL TEXT limits."}],"source_content_type":"text/x-python","patch_set":1,"id":"6874d140_35508172","line":1934,"range":{"start_line":1934,"start_character":9,"end_line":1934,"end_character":15},"in_reply_to":"eb350f39_62a2a2c3","updated":"2026-03-19 20:26:49.000000000","message":"Whoa. I didn\u0027t even notice it was bold. I\u0027m not even sure I knew there were unicode characters for bolded text","commit_id":"2e9729c1d1cc7923ee20d40bbfa547b43b3d9d06"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"6f36a2dcb22609b7abe1d365e71911d5fdb9081c","unresolved":true,"context_lines":[{"line_number":1938,"context_line":"        _max_event_size \u003d 1024"},{"line_number":1939,"context_line":"        if event and len(event) \u003e _max_event_size:"},{"line_number":1940,"context_line":"            event \u003d (event[:100]"},{"line_number":1941,"context_line":"                     + \u0027 .... [event trimmed] .... \u0027"},{"line_number":1942,"context_line":"                     + event[-768:])"},{"line_number":1943,"context_line":"        node_history.NodeHistory("},{"line_number":1944,"context_line":"            node_id\u003dnode.id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"e1ab8547_ab3bb53d","line":1941,"updated":"2026-03-19 20:15:06.000000000","message":"I don\u0027t love [event trimmed] but do not have a better suggestion, so it\u0027s OK I guess? I wonder if we should i18n this (_()) but I think it\u0027s better to not","commit_id":"2e9729c1d1cc7923ee20d40bbfa547b43b3d9d06"},{"author":{"_account_id":38704,"name":"Victor","display_name":"victor_obi","email":"obiezuevictor@gmail.com","username":"victor_obi"},"change_message_id":"747ad2db5ae686053fdd1617d205a127219c32f8","unresolved":false,"context_lines":[{"line_number":1938,"context_line":"        _max_event_size \u003d 1024"},{"line_number":1939,"context_line":"        if event and len(event) \u003e _max_event_size:"},{"line_number":1940,"context_line":"            event \u003d (event[:100]"},{"line_number":1941,"context_line":"                     + \u0027 .... [event trimmed] .... \u0027"},{"line_number":1942,"context_line":"                     + event[-768:])"},{"line_number":1943,"context_line":"        node_history.NodeHistory("},{"line_number":1944,"context_line":"            node_id\u003dnode.id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"219e071d_5f4f15e6","line":1941,"in_reply_to":"9e411907_036f0df5","updated":"2026-04-10 13:15:09.000000000","message":"Done","commit_id":"2e9729c1d1cc7923ee20d40bbfa547b43b3d9d06"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"c226623ced36bc9e3ab0d7dd248f4f549f9a5f64","unresolved":true,"context_lines":[{"line_number":1938,"context_line":"        _max_event_size \u003d 1024"},{"line_number":1939,"context_line":"        if event and len(event) \u003e _max_event_size:"},{"line_number":1940,"context_line":"            event \u003d (event[:100]"},{"line_number":1941,"context_line":"                     + \u0027 .... [event trimmed] .... \u0027"},{"line_number":1942,"context_line":"                     + event[-768:])"},{"line_number":1943,"context_line":"        node_history.NodeHistory("},{"line_number":1944,"context_line":"            node_id\u003dnode.id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9e411907_036f0df5","line":1941,"in_reply_to":"e1ab8547_ab3bb53d","updated":"2026-03-19 20:23:21.000000000","message":"So, I kind of love it, but I\u0027m used to such in some contexts. As for i18n, it could always be added later, but since we\u0027re not heavily i18n\u0027ed, *shrug*.","commit_id":"2e9729c1d1cc7923ee20d40bbfa547b43b3d9d06"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"d4ad5692a24f36ce94dfad25a379eda0fc82f53f","unresolved":true,"context_lines":[{"line_number":1919,"context_line":"        # No error has occurred, apparently."},{"line_number":1920,"context_line":"        return"},{"line_number":1921,"context_line":""},{"line_number":1922,"context_line":"    _max_event_size \u003d 1024"},{"line_number":1923,"context_line":"    if event and len(event) \u003e _max_event_size:"},{"line_number":1924,"context_line":"        event \u003d ("},{"line_number":1925,"context_line":"            event[:100]"}],"source_content_type":"text/x-python","patch_set":6,"id":"fbf2ea30_7607c8fc","line":1922,"range":{"start_line":1922,"start_character":22,"end_line":1922,"end_character":26},"updated":"2026-04-07 02:42:02.000000000","message":"Can we trim to the actual db limit instead of hardcoded size? Since 1024 appears too small and may truncate too many details.","commit_id":"47e34e631003f5876756698262ef2ca9ae67580f"},{"author":{"_account_id":38704,"name":"Victor","display_name":"victor_obi","email":"obiezuevictor@gmail.com","username":"victor_obi"},"change_message_id":"747ad2db5ae686053fdd1617d205a127219c32f8","unresolved":true,"context_lines":[{"line_number":1919,"context_line":"        # No error has occurred, apparently."},{"line_number":1920,"context_line":"        return"},{"line_number":1921,"context_line":""},{"line_number":1922,"context_line":"    _max_event_size \u003d 1024"},{"line_number":1923,"context_line":"    if event and len(event) \u003e _max_event_size:"},{"line_number":1924,"context_line":"        event \u003d ("},{"line_number":1925,"context_line":"            event[:100]"}],"source_content_type":"text/x-python","patch_set":6,"id":"d830516a_c5100b68","line":1922,"range":{"start_line":1922,"start_character":22,"end_line":1922,"end_character":26},"in_reply_to":"fbf2ea30_7607c8fc","updated":"2026-04-10 13:15:09.000000000","message":"Noted, I\u0027ll implement this in the next batch`","commit_id":"47e34e631003f5876756698262ef2ca9ae67580f"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"fa0bf8ada49bb0a425120ed0aa635b254713f3a3","unresolved":true,"context_lines":[{"line_number":1957,"context_line":"        # NOTE(victor_obi): Truncate event to avoid exceeding DB column size"},{"line_number":1958,"context_line":"        # limits."},{"line_number":1959,"context_line":"        # We preserve the first 100 characters for context and"},{"line_number":1960,"context_line":"        # the remaining available space for the actual error details."},{"line_number":1961,"context_line":""},{"line_number":1962,"context_line":"        node_history.NodeHistory("},{"line_number":1963,"context_line":"            node_id\u003dnode.id,"}],"source_content_type":"text/x-python","patch_set":9,"id":"b80bc87c_a8fa51f5","line":1960,"updated":"2026-04-14 20:56:10.000000000","message":"This isn\u0027t true based on the current implementation.","commit_id":"347849da74d9b4d5b62e754b3febf7ef3f255401"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"6b1afec6b48b951c30d9287f3e6ce2f55345a8b8","unresolved":true,"context_lines":[{"line_number":1939,"context_line":"        # No error has occurred, apparently."},{"line_number":1940,"context_line":"        return"},{"line_number":1941,"context_line":""},{"line_number":1942,"context_line":"    event \u003d _truncate_event(event)"},{"line_number":1943,"context_line":""},{"line_number":1944,"context_line":"    if error:"},{"line_number":1945,"context_line":"        # When the task exits out or is saved, the event"}],"source_content_type":"text/x-python","patch_set":11,"id":"acdb3743_9dff3885","line":1942,"updated":"2026-04-21 18:22:50.000000000","message":"So we likely want this to be part of the DB model. I think we create a custom Text type for this field and then override `process_bind_param()` and call this in there for that type.","commit_id":"6d8a91202962350688e123619a738db5f61b8e12"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"3ceb6632d896cf579f130d3e99a51bae53d2b308","unresolved":true,"context_lines":[{"line_number":1936,"context_line":"        # We preserve an equal amount of the start and end of the event"},{"line_number":1937,"context_line":"        # (head and tail) to ensure both the initial action and the"},{"line_number":1938,"context_line":"        # final traceback details are captured within the database"},{"line_number":1939,"context_line":"        # byte limit."},{"line_number":1940,"context_line":""},{"line_number":1941,"context_line":"        node_history.NodeHistory("},{"line_number":1942,"context_line":"            node_id\u003dnode.id,"}],"source_content_type":"text/x-python","patch_set":12,"id":"ca3ebdc3_5cdf0f69","line":1939,"updated":"2026-04-23 02:38:21.000000000","message":"move the comments to the code","commit_id":"6a5dc02e9b74d18839b288c426b58e629f7c5b43"}],"ironic/db/sqlalchemy/models.py":[{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"3ceb6632d896cf579f130d3e99a51bae53d2b308","unresolved":true,"context_lines":[{"line_number":51,"context_line":"    return None"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"def _truncate_event(event, max_bytes\u003d65535):"},{"line_number":55,"context_line":"    \"\"\"Safely truncate a string to fit within a byte limit.\"\"\""},{"line_number":56,"context_line":"    if not event:"},{"line_number":57,"context_line":"        return event"}],"source_content_type":"text/x-python","patch_set":12,"id":"2d4c7e90_17e3769f","line":54,"updated":"2026-04-23 02:38:21.000000000","message":"require the max_bytes and pass it in from the helper","commit_id":"6a5dc02e9b74d18839b288c426b58e629f7c5b43"}],"ironic/tests/unit/conductor/test_utils.py":[{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"3ceb6632d896cf579f130d3e99a51bae53d2b308","unresolved":true,"context_lines":[{"line_number":3228,"context_line":""},{"line_number":3229,"context_line":"    def test_record_node_history_event_truncation(self):"},{"line_number":3230,"context_line":"        # MySQL TEXT column max is 65535 bytes."},{"line_number":3231,"context_line":"        _MAX_BYTES \u003d 65535"},{"line_number":3232,"context_line":"        _MARKER \u003d \" ... [truncated] ... \""},{"line_number":3233,"context_line":"        _MARKER_LEN \u003d len(_MARKER.encode(\u0027utf-8\u0027))"},{"line_number":3234,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"d6c7b283_6ea3e901","line":3231,"updated":"2026-04-23 02:38:21.000000000","message":"Put this value in the main code so it’s not duplicated in the tests","commit_id":"6a5dc02e9b74d18839b288c426b58e629f7c5b43"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"8ebaf06d02724e99aa76fd4d924913196524e6d3","unresolved":true,"context_lines":[{"line_number":3228,"context_line":""},{"line_number":3229,"context_line":"    def test_record_node_history_event_truncation(self):"},{"line_number":3230,"context_line":"        # MySQL TEXT column max is 65535 bytes."},{"line_number":3231,"context_line":"        _MAX_BYTES \u003d 65535"},{"line_number":3232,"context_line":"        _MARKER \u003d \" ... [truncated] ... \""},{"line_number":3233,"context_line":"        _MARKER_LEN \u003d len(_MARKER.encode(\u0027utf-8\u0027))"},{"line_number":3234,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"5fb2a8d3_8fdbe48c","line":3231,"in_reply_to":"d6c7b283_6ea3e901","updated":"2026-06-05 19:12:30.000000000","message":"Sigh, it is in the main code, but yeah. I guess they did it for the test side calculation.","commit_id":"6a5dc02e9b74d18839b288c426b58e629f7c5b43"}],"releasenotes/notes/node-history-event-truncation-1ff1266dbedda269.yaml":[{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"fa0bf8ada49bb0a425120ed0aa635b254713f3a3","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    Fixed an issue where inserting into the ``node_history`` table could"},{"line_number":5,"context_line":"    fail when the event string exceeded the database column size limit."},{"line_number":6,"context_line":"    Long events are now truncated, preserving the first 100 characters"},{"line_number":7,"context_line":"    for context and the last 768 characters for error details."},{"line_number":8,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":9,"id":"de57d58f_2f1d01d2","line":7,"updated":"2026-04-14 20:56:10.000000000","message":"This isn\u0027t true based on the current implementation.","commit_id":"347849da74d9b4d5b62e754b3febf7ef3f255401"}]}
