

# Amazon Managed Service for Apache Flink 1.15
<a name="flink-1-15-2"></a>

 Managed Service for Apache Flink supports the following new features in Apache 1.15.2: 


****  

| Feature | Description | Apache FLIP reference  | 
| --- | --- | --- | 
| Async Sink  | An AWS contributed framework for building async destinations that allows developers to build custom AWS connectors with less than half the previous effort. For more information, see [The Generic Asynchronous Base Sink](https://flink.apache.org/2022/05/06/async-sink-base.html). | [FLIP-171: Async Sink](https://cwiki.apache.org/confluence/display/FLINK/FLIP-171%3A+Async+Sink). | 
| Kinesis Data Firehose Sink  | AWS has contributed a new Amazon Kinesis Firehose Sink using the Async framework.  | [Amazon Kinesis Data Firehose Sink](https://nightlies.apache.org/flink/flink-docs-release-1.15//docs/connectors/datastream/firehose/). | 
| Stop with Savepoint  | Stop with Savepoint ensures a clean stop operation, most importantly supporting exactly-once semantics for customers that rely on them. | [FLIP-34: Terminate/Suspend Job with Savepoint](https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=103090212). | 
| Scala Decoupling  | Users can now leverage the Java API from any Scala version, including Scala 3. Customers will need to bundle the Scala standard library of their choice in their Scala applications.  | [FLIP-28: Long-term goal of making flink-table Scala-free](https://cwiki.apache.org/confluence/display/FLINK/FLIP-28%3A+Long-term+goal+of+making+flink-table+Scala-free). | 
| Scala | See Scala decoupling above  | [FLIP-28: Long-term goal of making flink-table Scala-free](https://cwiki.apache.org/confluence/display/FLINK/FLIP-28%3A+Long-term+goal+of+making+flink-table+Scala-free). | 
| Unified Connector Metrics | Flink has [defined standard metrics](https://nightlies.apache.org/flink/flink-docs-release-1.15//docs/ops/metrics/) for jobs, tasks and operators. Managed Service for Apache Flink will continue to support sink and source metrics and in 1.15 introduce numRestarts in parallel with fullRestarts for Availability Metrics.  | [FLIP-33: Standardize Connector Metrics](https://cwiki.apache.org/confluence/display/FLINK/FLIP-33%3A+Standardize+Connector+Metrics) and [FLIP-179: Expose Standardized Operator Metrics](https://cwiki.apache.org/confluence/display/FLINK/FLIP-179%3A+Expose+Standardized+Operator+Metrics). | 
| Checkpointing finished tasks  | This feature is enabled by default in Flink 1.15 and makes it possible to continue performing checkpoints even if parts of the job graph have finished processing all data, which might happen if it contains bounded (batch) sources.  | [FLIP-147: Support Checkpoints After Tasks Finished](https://cwiki.apache.org/confluence/display/FLINK/FLIP-147%3A+Support+Checkpoints+After+Tasks+Finished).  | 

## Changes in Amazon Managed Service for Apache Flink with Apache Flink 1.15
<a name="flink-1-15-2-changes"></a>

**Studio notebooks**

Managed Service for Apache Flink Studio now supports Apache Flink 1.15. Managed Service for Apache Flink Studio utilizes Apache Zeppelin notebooks to provide a single-interface development experience for developing, debugging code, and running Apache Flink stream processing applications. You can learn more about Managed Service for Apache Flink Studio and how to get started at [Use a Studio notebook with Managed Service for Apache Flink](how-notebook.md).

**EFO connector**

When upgrading to Managed Service for Apache Flink version 1.15, ensure that you are using the most recent EFO Connector, that is any version 1.15.3 or newer. For more information as to why, see [FLINK-29324](https://issues.apache.org/jira/browse/FLINK-29324 ).

**Scala Decoupling **

Starting with Flink 1.15.2, you will need to bundle the Scala standard library of your choice in your Scala applications. 

**Kinesis Data Firehose Sink **

When upgrading to Managed Service for Apache Flink version 1.15, ensure that you are using the most recent [Amazon Kinesis Data Firehose Sink](https://nightlies.apache.org/flink/flink-docs-release-1.15//docs/connectors/datastream/firehose/).

**Kafka Connectors **

When upgrading to Amazon Managed Service for Apache Flink for Apache Flink version 1.15, ensure that you are using the most recent Kafka connector APIs. Apache Flink has deprecated [FlinkKafkaConsumer](https://nightlies.apache.org/flink/flink-docs-master/docs/connectors/datastream/kafka/#kafka-consumer) and [FlinkKafkaProducer](https://nightlies.apache.org/flink/flink-docs-master/docs/connectors/datastream/kafka/#kafka-producer) These APIs for the Kafka sink cannot commit to Kafka for Flink 1.15. Ensure you are using [KafkaSource](https://nightlies.apache.org/flink/flink-docs-master/docs/connectors/datastream/kafka/#kafka-source) and [KafkaSink](https://nightlies.apache.org/flink/flink-docs-master/docs/connectors/datastream/kafka/#kafka-sink). 

## Components
<a name="flink-1-15-2-components"></a>


****  

| Component | Version | 
| --- | --- | 
| Java  | 11 (recommended) | 
| Scala | 2.12 | 
| Managed Service for Apache Flink Flink Runtime (aws-kinesisanalytics-runtime) | 1.2.0 | 
| [AWS Kinesis Connector (flink-connector-kinesis)](https://mvnrepository.com/artifact/org.apache.flink/flink-connector-kinesis/1.15.4) | 1.15.4 | 
| [Apache Beam (Beam applications only)](https://aws.amazon.com/developer/language/python/) | 2.33.0, with Jackson version 2.12.2 | 

## Known issues
<a name="flink-1-15-known-issues"></a>

**Kafka Commit on checkpointing fails repeatedly after a broker restart**

There is a known open source Apache Flink issue with the Apache Kafka connector in Flink version 1.15 caused by a critical open source Kafka Client bug in Kafka Client 2.8.1. For more information, see [Kafka Commit on checkpointing fails repeatedly after a broker restart](https://issues.apache.org/jira/browse/FLINK-28060) and [KafkaConsumer is unable to recover connection to group coordinator after commitOffsetAsync exception](https://issues.apache.org/jira/browse/KAFKA-13840).

To avoid this issue, we recommend that you use Apache Flink 1.18 or later in Amazon Managed Service for Apache Flink.