{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":6358188,"defaultBranch":"master","name":"druid","ownerLogin":"apache","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2012-10-23T19:08:07.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/47359?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1715386615.0","currentOid":""},"activityList":{"items":[{"before":"9459722ebf6565d7161edab671d91588ff2c6e1b","after":"1601a0f8f8d6b95d23b65f8cce9b54455c49f015","ref":"refs/heads/master","pushedAt":"2024-05-11T09:54:52.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"FrankChen021","name":"Frank Chen","path":"/FrankChen021","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6525742?s=80&v=4"},"commit":{"message":"add ignore path (#16429)","shortMessageHtmlLink":"add ignore path (#16429)"}},{"before":"811dcd1726145ff083a514347d8502aba69ab731","after":"9459722ebf6565d7161edab671d91588ff2c6e1b","ref":"refs/heads/master","pushedAt":"2024-05-11T09:53:22.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"FrankChen021","name":"Frank Chen","path":"/FrankChen021","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6525742?s=80&v=4"},"commit":{"message":"Use canonical hostname instead of ip by default (#16386)\n\nCo-authored-by: Andrew Ho ","shortMessageHtmlLink":"Use canonical hostname instead of ip by default (#16386)"}},{"before":"cb7c2c1e375da239a4740f02ecd898b66bf6e1c3","after":"811dcd1726145ff083a514347d8502aba69ab731","ref":"refs/heads/master","pushedAt":"2024-05-11T09:52:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"FrankChen021","name":"Frank Chen","path":"/FrankChen021","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6525742?s=80&v=4"},"commit":{"message":"update protobuf.md (#16434)","shortMessageHtmlLink":"update protobuf.md (#16434)"}},{"before":"bc95b988f001fa2dcb8c224c4148486085c1a51d","after":null,"ref":"refs/heads/dependabot/maven/org.apache.maven.plugins-maven-failsafe-plugin-3.2.5","pushedAt":"2024-05-11T00:16:55.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":"34cb55423e7190ca4773042d5e6230d46faeefd7","after":"f3d207c321f558337913ad6b1abb41b87905190b","ref":"refs/heads/30.0.0","pushedAt":"2024-05-10T15:52:02.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"cryptoe","name":"Karan Kumar","path":"/cryptoe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2260045?s=80&v=4"},"commit":{"message":"Downgrade the version of Apache Curator from 5.5.0 to 5.3.0 to avoid a bug in the new version (#16425) (#16430)\n\nCo-authored-by: Benedict Jin ","shortMessageHtmlLink":"Downgrade the version of Apache Curator from 5.5.0 to 5.3.0 to avoid …"}},{"before":"305abae8b198cd10f8f718d6da053348e3e5ac89","after":"34cb55423e7190ca4773042d5e6230d46faeefd7","ref":"refs/heads/30.0.0","pushedAt":"2024-05-10T13:45:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"adarshsanjeev","name":"Adarsh Sanjeev","path":"/adarshsanjeev","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9818861?s=80&v=4"},"commit":{"message":"Fix the bug in Immutable RTree object strategy (#16389) (#16426)\n\n* Fix the bug in Immutable Node object strategy\r\n\r\n* Adding comments in code\r\n\r\nCo-authored-by: Pranav ","shortMessageHtmlLink":"Fix the bug in Immutable RTree object strategy (#16389) (#16426)"}},{"before":"279b60e5b518a66839da19448a88f0569c89eecf","after":"305abae8b198cd10f8f718d6da053348e3e5ac89","ref":"refs/heads/30.0.0","pushedAt":"2024-05-10T09:45:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"adarshsanjeev","name":"Adarsh Sanjeev","path":"/adarshsanjeev","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9818861?s=80&v=4"},"commit":{"message":"Fix another deadlock which can occur while acquiring merge buffers (#16372) (#16427)\n\nFixes a deadlock while acquiring merge buffers\r\n\r\nCo-authored-by: Laksh Singla ","shortMessageHtmlLink":"Fix another deadlock which can occur while acquiring merge buffers (#…"}},{"before":"3b847512332dc1608f9ca13459fc24d97d58d050","after":"cb7c2c1e375da239a4740f02ecd898b66bf6e1c3","ref":"refs/heads/master","pushedAt":"2024-05-10T09:38:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"cryptoe","name":"Karan Kumar","path":"/cryptoe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2260045?s=80&v=4"},"commit":{"message":"Downgrade the version of Apache Curator from 5.5.0 to 5.3.0 to avoid a bug in the new version (#16425)","shortMessageHtmlLink":"Downgrade the version of Apache Curator from 5.5.0 to 5.3.0 to avoid …"}},{"before":"cb1bc70d3f1f204c2f1711692477ddc2829885ee","after":"279b60e5b518a66839da19448a88f0569c89eecf","ref":"refs/heads/30.0.0","pushedAt":"2024-05-10T08:31:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"adarshsanjeev","name":"Adarsh Sanjeev","path":"/adarshsanjeev","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9818861?s=80&v=4"},"commit":{"message":"Fix NPE in SegmentSchemaCache (#16404) (#16421)\n\nVerify that schema backfill count metric is emitted for each datasource.\r\n Fix potential NPE in SegmentSchemaCache#markMetadataQueryResultPublished.","shortMessageHtmlLink":"Fix NPE in SegmentSchemaCache (#16404) (#16421)"}},{"before":"d0f3fdab370aff104acc4e69a6e90a9a76ffb08b","after":"3b847512332dc1608f9ca13459fc24d97d58d050","ref":"refs/heads/master","pushedAt":"2024-05-10T01:08:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kfaraz","name":"Kashif Faraz","path":"/kfaraz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18635897?s=80&v=4"},"commit":{"message":"Remove unused task action SegmentLockReleaseAction (#16422)\n\nChanges:\r\n- Remove `SegmentLockReleaseAction` as it is not used anywhere.\r\nIt is not even registered as a known sub-type of `TaskAction`.\r\n- Minor refactor in `TaskLockbox`. No functional change.\r\n- Remove `ExpectedException` from `TaskLockboxTest`","shortMessageHtmlLink":"Remove unused task action SegmentLockReleaseAction (#16422)"}},{"before":"2d0b4e5f1eb2a67cb21dbf78e775b89060d49c3d","after":"d0f3fdab370aff104acc4e69a6e90a9a76ffb08b","ref":"refs/heads/master","pushedAt":"2024-05-10T01:07:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kfaraz","name":"Kashif Faraz","path":"/kfaraz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18635897?s=80&v=4"},"commit":{"message":"Allow using different lock types for kill task, remove markAsUnused parameter (#16362)\n\nChanges:\r\n- Remove deprecated `markAsUnused` parameter from `KillUnusedSegmentsTask`\r\n- Allow `kill` task to use `REPLACE` lock when `useConcurrentLocks` is true\r\n- Use `EXCLUSIVE` lock by default","shortMessageHtmlLink":"Allow using different lock types for kill task, remove markAsUnused p…"}},{"before":"30f3cf50174ef88e059cfb8560772c8de9fe528b","after":"2d0b4e5f1eb2a67cb21dbf78e775b89060d49c3d","ref":"refs/heads/master","pushedAt":"2024-05-09T15:57:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vtlim","name":"Victoria Lim","path":"/vtlim","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7747997?s=80&v=4"},"commit":{"message":"Update sidebar to organize tutorials + other minor improvements (#16184)\n\nCo-authored-by: 317brian <53799971+317brian@users.noreply.github.com>\r\nCo-authored-by: Victoria Lim ","shortMessageHtmlLink":"Update sidebar to organize tutorials + other minor improvements (#16184)"}},{"before":"7fc7389acebeeda400343a4db0138079bde879cd","after":"cb1bc70d3f1f204c2f1711692477ddc2829885ee","ref":"refs/heads/30.0.0","pushedAt":"2024-05-09T12:21:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"cryptoe","name":"Karan Kumar","path":"/cryptoe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2260045?s=80&v=4"},"commit":{"message":"[Backport] Add validation for reindex with realtime sources (#16410)\n\n* Add validation for reindex with realtime sources (#16390)\r\n\r\nAdd validation for reindex with realtime sources.\r\n\r\nWith the addition of concurrent compaction, it is possible to ingest data while querying from realtime sources with MSQ into the same datasource. This could potentially lead to issues if the interval that is ingested into is replaced by an MSQ job, which has queried only some of the data from the realtime task.\r\n\r\nThis PR adds validation to check that the datasource being ingested into is not being queried from, if the query includes realtime sources.\r\n\r\n* Fix conflicts","shortMessageHtmlLink":"[Backport] Add validation for reindex with realtime sources (#16410)"}},{"before":"36bfd2b2e2fb45c6144f0efcb027ef2ff62963bd","after":"7fc7389acebeeda400343a4db0138079bde879cd","ref":"refs/heads/30.0.0","pushedAt":"2024-05-09T12:17:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"cryptoe","name":"Karan Kumar","path":"/cryptoe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2260045?s=80&v=4"},"commit":{"message":"change ownership of /opt/shared to druid (#16253) (#16399)\n\nCo-authored-by: Charles Smith ","shortMessageHtmlLink":"change ownership of /opt/shared to druid (#16253) (#16399)"}},{"before":"0176be9e4042373892013370870f92dc0d3acb92","after":"36bfd2b2e2fb45c6144f0efcb027ef2ff62963bd","ref":"refs/heads/30.0.0","pushedAt":"2024-05-09T12:17:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"cryptoe","name":"Karan Kumar","path":"/cryptoe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2260045?s=80&v=4"},"commit":{"message":"Maintain a connection while exporting results with MSQ (#16381) (#16414)\n\n* Maintain a connection while exporting results with MSQ\r\n\r\n* Fix checkstyle\r\n\r\n* Fix checkstyle\r\n\r\n* Move initialization from constructor\r\n\r\n* Add null check\r\n\r\n* Address review comments","shortMessageHtmlLink":"Maintain a connection while exporting results with MSQ (#16381) (#16414)"}},{"before":"181167475364b2d47ab2f636522ac612dfdb266d","after":"30f3cf50174ef88e059cfb8560772c8de9fe528b","ref":"refs/heads/master","pushedAt":"2024-05-09T07:32:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kfaraz","name":"Kashif Faraz","path":"/kfaraz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18635897?s=80&v=4"},"commit":{"message":"Add more info in MSQ export log message (#16363)","shortMessageHtmlLink":"Add more info in MSQ export log message (#16363)"}},{"before":"775d654a6c84fc6afbb1935010f11fed1bc35d18","after":"181167475364b2d47ab2f636522ac612dfdb266d","ref":"refs/heads/master","pushedAt":"2024-05-09T07:21:02.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kgyrtkirk","name":"Zoltan Haindrich","path":"/kgyrtkirk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1902540?s=80&v=4"},"commit":{"message":"Enable quidem tests to use different suppliers (#16382)\n\n* enable quidem uri support for `druidtest:///?ComponentSupplier=Nested` and similar\r\n* changes the way `SqlTestFrameworkConfig` is being applied; all options will have their own annotation (its kinda impossible to detect that an annotation has a set value or its the default)\r\n* enables hierarchical processing of config annotation (was needed to enable class level supplier annotation)\r\n* moves uri processing related string2config stuff into `SqlTestFrameworkConfig`","shortMessageHtmlLink":"Enable quidem tests to use different suppliers (#16382)"}},{"before":"a6ebb963c726094f2acee651274176af12a5fe78","after":"775d654a6c84fc6afbb1935010f11fed1bc35d18","ref":"refs/heads/master","pushedAt":"2024-05-09T05:51:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"cryptoe","name":"Karan Kumar","path":"/cryptoe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2260045?s=80&v=4"},"commit":{"message":"Load only the required lookups for MSQ tasks (#16358)\n\nWith this PR changes, MSQ tasks (MSQControllerTask and MSQWorkerTask) only load the required lookups during querying and ingestion, based on the value of CTX_LOOKUPS_TO_LOAD key in the query context.","shortMessageHtmlLink":"Load only the required lookups for MSQ tasks (#16358)"}},{"before":"eb4e957db1579b2830720b284b7e47305d3738e1","after":"a6ebb963c726094f2acee651274176af12a5fe78","ref":"refs/heads/master","pushedAt":"2024-05-09T05:43:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"cryptoe","name":"Karan Kumar","path":"/cryptoe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2260045?s=80&v=4"},"commit":{"message":"Fix NPE in SegmentSchemaCache (#16404)\n\n\r\n\r\n Verify that schema backfill count metric is emitted for each datasource.\r\n Fix potential NPE in SegmentSchemaCache#markMetadataQueryResultPublished.","shortMessageHtmlLink":"Fix NPE in SegmentSchemaCache (#16404)"}},{"before":"47ebe804a4b0ddf24b17c84552a809e436754496","after":null,"ref":"refs/heads/dependabot/maven/org.openrewrite.maven-rewrite-maven-plugin-5.29.0","pushedAt":"2024-05-09T00:10:12.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":null,"after":"abd173c9d7e828b51f336769c90cc3d63b2e750e","ref":"refs/heads/dependabot/maven/org.openrewrite.maven-rewrite-maven-plugin-5.30.0","pushedAt":"2024-05-09T00:10:07.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Bump org.openrewrite.maven:rewrite-maven-plugin from 5.27.0 to 5.30.0\n\nBumps [org.openrewrite.maven:rewrite-maven-plugin](https://github.com/openrewrite/rewrite-maven-plugin) from 5.27.0 to 5.30.0.\n- [Release notes](https://github.com/openrewrite/rewrite-maven-plugin/releases)\n- [Commits](https://github.com/openrewrite/rewrite-maven-plugin/compare/v5.27.0...v5.30.0)\n\n---\nupdated-dependencies:\n- dependency-name: org.openrewrite.maven:rewrite-maven-plugin\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"Bump org.openrewrite.maven:rewrite-maven-plugin from 5.27.0 to 5.30.0"}},{"before":"c6f1321e2d78d8b325b0f45d12adeef46fdb0ba0","after":null,"ref":"refs/heads/sod","pushedAt":"2024-05-08T21:17:26.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"vogievetsky","name":"Vadim Ogievetsky","path":"/vogievetsky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/177816?s=80&v=4"}},{"before":"d6c2eabed99037af3ba062705454fd68aea7ebee","after":"c6f1321e2d78d8b325b0f45d12adeef46fdb0ba0","ref":"refs/heads/sod","pushedAt":"2024-05-08T21:15:45.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"vogievetsky","name":"Vadim Ogievetsky","path":"/vogievetsky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/177816?s=80&v=4"},"commit":{"message":"top values query","shortMessageHtmlLink":"top values query"}},{"before":"dded473ac0a87e67033cd5dbbe67f1c9fa4b335d","after":"eb4e957db1579b2830720b284b7e47305d3738e1","ref":"refs/heads/master","pushedAt":"2024-05-08T20:51:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"xvrl","name":"Xavier Léauté","path":"/xvrl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/815147?s=80&v=4"},"commit":{"message":"Remove software.amazon.ion:ion-java from the licenses (#16413)\n\nRemove software.amazon.ion:ion-java from the licenses as it is no longer a transient dependency of aws-java-sdk-core\r\nVerified that after version 1.12.638 of aws-java-sdk-core doesnt have the ion-java as a dependency","shortMessageHtmlLink":"Remove software.amazon.ion:ion-java from the licenses (#16413)"}},{"before":"f0a68a9010d409eafb04063d35b47cc39ec134b4","after":"0176be9e4042373892013370870f92dc0d3acb92","ref":"refs/heads/30.0.0","pushedAt":"2024-05-08T09:18:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"cryptoe","name":"Karan Kumar","path":"/cryptoe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2260045?s=80&v=4"},"commit":{"message":"SCALAR_IN_ARRAY: Optimization and behavioral follow-ups. (#16311) (#16398)\n\n* Four changes to scalar_in_array as follow-ups to #16306:\r\n\r\n1) Align behavior for `null` scalars to the behavior of the native `in` and `inType` filters: return `true` if the array itself contains null, else return `null`.\r\n\r\n2) Rename the class to more closely match the function name.\r\n\r\n3) Add a specialization for constant arrays, where we build a `HashSet`.\r\n\r\n4) Use `castForEqualityComparison` to properly handle cross-type comparisons.\r\n Additional tests verify comparisons between LONG and DOUBLE are now\r\n handled properly.\r\n\r\n* Fix spelling.\r\n\r\n* Adjustments from review.\r\n\r\nCo-authored-by: Gian Merlino ","shortMessageHtmlLink":"SCALAR_IN_ARRAY: Optimization and behavioral follow-ups. (#16311) (#1…"}},{"before":"03566b0115a75547e451055783670afa259b9e1e","after":"dded473ac0a87e67033cd5dbbe67f1c9fa4b335d","ref":"refs/heads/master","pushedAt":"2024-05-08T09:03:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"LakshSingla","name":"Laksh Singla","path":"/LakshSingla","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30999375?s=80&v=4"},"commit":{"message":"Fix another deadlock which can occur while acquiring merge buffers (#16372)\n\nFixes a deadlock while acquiring merge buffers","shortMessageHtmlLink":"Fix another deadlock which can occur while acquiring merge buffers (#…"}},{"before":"f82cc34e5b21028831ac3ea9ee71c39938c9b5c6","after":"03566b0115a75547e451055783670afa259b9e1e","ref":"refs/heads/master","pushedAt":"2024-05-08T08:39:15.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"adarshsanjeev","name":"Adarsh Sanjeev","path":"/adarshsanjeev","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9818861?s=80&v=4"},"commit":{"message":"Fix script and improve documentation (#16401)\n\nFixes a few minor issues with scripts.\r\n\r\n- Add additional information around since it was confusing, and not clear that the number was the ID from github and not just the major version number.\r\n- Fix an issue where the milestone displayed in an output message was the milestone supplied as an argument, instead of the number of the milestone the PR is already tagged against in Github, from the sent request.","shortMessageHtmlLink":"Fix script and improve documentation (#16401)"}},{"before":"269e035e76850e18b125dd8cce77ca90c7f93730","after":"f82cc34e5b21028831ac3ea9ee71c39938c9b5c6","ref":"refs/heads/master","pushedAt":"2024-05-08T06:04:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"cryptoe","name":"Karan Kumar","path":"/cryptoe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2260045?s=80&v=4"},"commit":{"message":"Maintain a connection while exporting results with MSQ (#16381)\n\n* Maintain a connection while exporting results with MSQ\r\n\r\n* Fix checkstyle\r\n\r\n* Fix checkstyle\r\n\r\n* Move initialization from constructor\r\n\r\n* Add null check\r\n\r\n* Address review comments","shortMessageHtmlLink":"Maintain a connection while exporting results with MSQ (#16381)"}},{"before":"9b1c2bbe4b4243915f3b2edc2270e3b4468cd54a","after":"f0a68a9010d409eafb04063d35b47cc39ec134b4","ref":"refs/heads/30.0.0","pushedAt":"2024-05-07T11:39:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kfaraz","name":"Kashif Faraz","path":"/kfaraz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18635897?s=80&v=4"},"commit":{"message":"[Backport] Add support for selective loading of lookups in the task layer (#16328) (#16394)\n\nChanges:\r\n- Add `LookupLoadingSpec` to support 3 modes of lookup loading: ALL, NONE, ONLY_REQUIRED\r\n- Add method `Task.getLookupLoadingSpec()`\r\n- Do not load any lookups for `KillUnusedSegmentsTask`\r\n\r\nCo-authored-by: Akshat Jain ","shortMessageHtmlLink":"[Backport] Add support for selective loading of lookups in the task l…"}},{"before":"b26394e15c49c55a67b0bc842b1dd8e604a5187a","after":"9b1c2bbe4b4243915f3b2edc2270e3b4468cd54a","ref":"refs/heads/30.0.0","pushedAt":"2024-05-07T09:38:07.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"LakshSingla","name":"Laksh Singla","path":"/LakshSingla","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30999375?s=80&v=4"},"commit":{"message":"JSONFlattenerMaker: Speed up charsetFix. (#16212) (#16400)\n\nJSON parsing has this function \"charsetFix\" that fixes up strings\r\nso they can round-trip through UTF-8 encoding without loss of\r\nfidelity. It was originally introduced to fix a bug where strings\r\ncould be sorted, encoded, then decoded, and the resulting decoded\r\nstrings could end up no longer in sorted order (due to character\r\nswaps during the encode operation).\r\n\r\nThe code has been in place for some time, and only applies to JSON.\r\nI am not sure if it needs to apply to other formats; it's certainly\r\nmore difficult to get broken strings from other formats. It's easy\r\nin JSON because you can write a JSON string like \"foo\\uD900\".\r\n\r\nAt any rate, this patch does not revisit whether charsetFix should\r\nbe applied to all formats. It merely optimizes it for the JSON case.\r\nThe function works by using CharsetEncoder.canEncode, which is\r\na relatively slow method (just as expensive as actually encoding).\r\nThis patch adds a short-circuit to skip canEncode if all chars in\r\na string are in the basic multilingual plane (i.e. if no chars are\r\nsurrogates).\r\n\r\nCo-authored-by: Gian Merlino ","shortMessageHtmlLink":"JSONFlattenerMaker: Speed up charsetFix. (#16212) (#16400)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAERy6U_AA","startCursor":null,"endCursor":null}},"title":"Activity · apache/druid"}