rmetzger commented on a change in pull request #15687: URL: https://github.com/apache/flink/pull/15687#discussion_r622798455
########## File path: docs/content.zh/release-notes/flink-1.13.md ########## @@ -0,0 +1,227 @@ +--- +title: "Release Notes - Flink 1.13" +--- +<!-- +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +--> + +# Release Notes - Flink 1.13 + +These release notes discuss important aspects, such as configuration, behavior, or dependencies, +that changed between Flink 1.12 and Flink 1.13. Please read these notes carefully if you are +planning to upgrade your Flink version to 1.13. + +### Failover + +#### Remove state.backend.async option. + +##### [FLINK-21935](https://issues.apache.org/jira/browse/FLINK-21935) + +The `state.backend.async` option is deprecated. Snapshots are always asynchronous now (as they were +by default before) and there is no option to configure a synchronous snapshot any more. + +The constructors of `FsStateBackend` and `MemoryStateBackend` that take a flag for sync/async +snapshots are kept for API compatibility, but the flags are ignored now. + +#### Unify binary format for Keyed State savepoints + +##### [FLINK-20976](https://issues.apache.org/jira/browse/FLINK-20976) + +Flinkās savepoint binary format is unified across all state backends. That means you can take a +savepoint with one state backend and then restore it using another. + +If you want to switch the state backend you should first upgrade your Flink version to 1.13, then +take a savepoint with the new version, and only after that, you can restore it with a different +state backend. + +#### FailureRateRestartBackoffTimeStrategy allows one less restart than configured + +##### [FLINK-20752](https://issues.apache.org/jira/browse/FLINK-20752) + +The Failure Rate Restart Strategy was allowing 1 less restart per interval than configured. Users +wishing to keep the current behavior should reduce the maximum number of allowed failures per +interval by 1. + +#### Support rescaling for Unaligned Checkpoints + +##### [FLINK-17979](https://issues.apache.org/jira/browse/FLINK-17979) + +While recovering from unaligned checkpoints, users can now change the parallelism of the job. This +change allows users to quickly upscale the job under backpressure. + +### SQL + +#### Officially deprecate the legacy planner + +##### [FLINK-21709](https://issues.apache.org/jira/browse/FLINK-21709) + +The old planner of the Table & SQL API is deprecated and will be dropped in Flink 1.14. This means +that both the BatchTableEnvironment and DataSet API interop are reaching end of life. Use the +unified TableEnvironment for batch and stream processing with the new planner, or the DataStream API +in batch execution mode. + +#### Disable problematic cast conversion between NUMERIC type and TIMESTAMP type + +##### [FLINK-21698](https://issues.apache.org/jira/browse/FLINK-21698) + +The CAST operation between `NUMERIC` type and `TIMESTAMP` type is problematic and is disabled now, +e.g. +`CAST(numeric AS TIMESTAMP(3))` is disabled and should use `TO_TIMESTAMP(FROM_UNIXTIME(numeric))` +instead. + +#### Support USE MODULES syntax + +##### [FLINK-21298](https://issues.apache.org/jira/browse/FLINK-21298) + +The term MODULES is a reserved keyword now. Use backticks to escape column names and other +identifiers with this name. + +#### Update TableResult.collect()/TableResult.print() to the new type system + +##### [FLINK-20613](https://issues.apache.org/jira/browse/FLINK-20613) + +`Table.execute().collect()` might return slightly different results for column types and row kind. + +#### Update the Row.toString method + +##### [FLINK-18090](https://issues.apache.org/jira/browse/FLINK-18090) + +The `Row.toSting()` method has been reworked. This is an incompatible change. If the legacy +representation is still required for tests, the old behavior can be restored via the flag +`RowUtils.USE_LEGACY_TO_STRING` for the local JVM. However, relying on the row's string +representation for tests is not a good idea in general as field data types are not verified. + +### Runtime + +#### BoundedOneInput.endInput is called when taking synchronous savepoint + +##### [FLINK-21132](https://issues.apache.org/jira/browse/FLINK-21132) + +`endInput()` is not called anymore (on BoundedOneInput and BoundedMultiInput) when the job is +stopping with savepoint. + +#### Remove JobManagerOptions.SCHEDULING_STRATEGY + +##### [FLINK-20591](https://issues.apache.org/jira/browse/FLINK-20591) + +The configuration parameter `jobmanager.scheduler.scheduling-strategy` has been removed, because +the `legacy` scheduler has been removed from Flink 1.13.0. + +#### Warn user if System.exit() is called in user code + +##### [FLINK-15156](https://issues.apache.org/jira/browse/FLINK-15156) + +A new configuration value `cluster.intercept-user-system-exit` allows to log a warning, or throw an +exception if user code calls `System.exit()`. + +This feature is not covering all locations in Flink where user code is executed. It just adds the +infrastructure for such an interception. Review comment: There is no exhaustive list of locations which are not covered. Somebody needs to carefully look into this and make sure that all cases are covered. This work is tracked in https://issues.apache.org/jira/browse/FLINK-21307. I propose we just link the ticket here in the release notes? ```suggestion This feature is not covering all locations in Flink where user code is executed. It just adds the infrastructure for such an interception. We are tracking this improvement in [FLINK-21307](https://issues.apache.org/jira/browse/FLINK-21307) ``` I'll ping the AWS guys again to complete this feature. -- 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. For queries about this service, please contact Infrastructure at: [email protected]
