snuyanzin opened a new pull request, #21519: URL: https://github.com/apache/flink/pull/21519
## What is the purpose of the change The PR is to upgrade Calcite dependency to 1.29.0 The main change impacting Flink is https://issues.apache.org/jira/browse/CALCITE-4839 About commits I tried to organize commits making them atomic in the next way https://github.com/apache/flink/commit/1ee0396b935838e0efa9ba40b97e862af8f40c40 replaces deprecated `RelBuilder#groupKey` since it was removed in Calcite 1.29.0 at https://issues.apache.org/jira/browse/CALCITE-4927 https://github.com/apache/flink/commit/ed0dcd71d2224beb4884875330293c43f19029d6 is a result of https://issues.apache.org/jira/browse/CALCITE-4839 The process of writing rules in a new way (also could be followed while rewriting) is described at https://github.com/apache/calcite/blob/013f034dee3e24083760b4695e2eacfbf592c2cb/core/src/main/java/org/apache/calcite/plan/RelRule.java#L36-L114 https://github.com/apache/flink/commit/57016cde50a3582c2b5cb703628bbd776403774e Sync Calcite's classes with https://github.com/apache/calcite/releases/tag/calcite-1.29.0 https://github.com/apache/flink/commit/a3bca555b83e3ed00ef7f3951d76d43c0a195ebb Update poms and NOTICE files https://github.com/apache/flink/commit/a1347241797ac59a6679abb12380e3efdc301a68 This is a cherry pick from [FLINK-29215](https://issues.apache.org/jira/browse/FLINK-29215) to replace deprecated constructors usage for `ConverterRules`. Similar change for non `ConverterRule`s could be a tricky for scala rules since now Calcite uses java code generation and at the same time in Flink scala should be compiled first... May be a point to move scala rules to java however not for this PR. Luckily current deprecated API is not removed yet from Calcite main branch ## Verifying this change From one side it's partially covered by existing tests From another side it would make sense to have multiple end-to-end user tests (probably still discussable ) ## Does this pull request potentially affect one of the following parts: - Dependencies (does it add or upgrade a dependency): (yes) - The public API, i.e., is any changed class annotated with `@Public(Evolving)`: (no) - The serializers: ( no) - The runtime per-record code paths (performance sensitive): ( no ) - Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: ( no) - The S3 file system connector: ( no ) ## Documentation - Does this pull request introduce a new feature? ( no) - If yes, how is the feature documented? (not applicable ) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
