

# Apache Tez
Tez

Apache Tez is a framework that creates a complex directed acyclic graph (DAG) of tasks for processing data. You can use it as an alternative to Hadoop MapReduce for some use cases. For example, you can run Pig and Hive workflows with Hadoop MapReduce or you can use Tez as an execution engine. For more information, see [https://tez.apache.org/](https://tez.apache.org/). Amazon EMR releases 4.7.0 and higher include Tez.

The following table lists the version of Tez included in the latest release of the Amazon EMR 7.x series, along with the components that Amazon EMR installs with Tez.

For the version of components installed with Tez in this release, see [Release 7.12.0 Component Versions](emr-7120-release.md).


**Tez version information for emr-7.12.0**  

| Amazon EMR Release Label | Tez Version | Components Installed With Tez | 
| --- | --- | --- | 
| emr-7.12.0 | Tez 0.10.2-amzn-19 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-hdfs-zkfc, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn, tez-on-worker | 

The following table lists the version of Tez included in the latest release of the Amazon EMR 6.x series, along with the components that Amazon EMR installs with Tez.

For the version of components installed with Tez in this release, see [Release 6.15.0 Component Versions](emr-6150-release.md).


**Tez version information for emr-6.15.0**  

| Amazon EMR Release Label | Tez Version | Components Installed With Tez | 
| --- | --- | --- | 
| emr-6.15.0 | Tez 0.10.2-amzn-6 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn, tez-on-worker | 

The following table lists the version of Tez included in the latest release of the Amazon EMR 5.x series, along with the components that Amazon EMR installs with Tez.

For the version of components installed with Tez in this release, see [Release 5.36.2 Component Versions](emr-5362-release.md).


**Tez version information for emr-5.36.2**  

| Amazon EMR Release Label | Tez Version | Components Installed With Tez | 
| --- | --- | --- | 
| emr-5.36.2 | Tez 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 

**Topics**
+ [

# Creating a cluster with Tez
](tez-create-cluster.md)
+ [

# Configuring Tez
](tez-configure.md)
+ [

# Tez web UI
](tez-web-ui.md)
+ [

# Timeline Server
](tez-timeline-server.md)
+ [

# Tez release history
](Tez-release-history.md)

# Creating a cluster with Tez


To install Tez, choose Apache Tez as an application when you create your cluster.<a name="emr-tez-create"></a>

**To create a cluster with Tez installed using the console**

1. Navigate to the new Amazon EMR console and select **Switch to the old console** from the side navigation. For more information on what to expect when you switch to the old console, see [Using the old console](https://docs.aws.amazon.com/emr/latest/ManagementGuide/whats-new-in-console.html#console-opt-in).

1. Choose **Create cluster**, **Go to advanced options**.

1. Under **Software Configuration**, select a **Release** of **emr-4.7.0** or higher.

1. Select **Tez** along with other applications you want Amazon EMR to install.

1.  Select other options as necessary and then choose **Create cluster**.

**To create a cluster with Tez using the AWS CLI**
+ Use the `create-cluster` command along with the `-- applications` option to specify **Tez**. The following example creates a cluster with Tez installed.
**Note**  
Linux line continuation characters (\$1) are included for readability. They can be removed or used in Linux commands. For Windows, remove them or replace with a caret (^).

  ```
  aws emr create-cluster --name "Cluster with Tez" --release-label emr-7.12.0 \
  --applications Name=Tez --ec2-attributes KeyName=myKey \
  --instance-type m5.xlarge --instance-count 3 --use-default-roles
  ```

# Configuring Tez


You can customize Tez by setting values using the `tez-site` configuration classification, which configures settings in the `tez-site.xml` configuration file. For more information, see [TezConfiguration](https://tez.apache.org/releases/0.8.2/tez-api-javadocs/configs/TezConfiguration.html) in the Apache Tez documentation. To change Hive or Pig to use the Tez execution engine, use the `hive-site` and `pig-properties` configuration classifications as appropriate. Examples are shown below.

## Example configuration


**Example: Customizing the Tez root logging level and setting Tez as the execution engine for Hive and Pig**  
The example `create-cluster` command shown below creates a cluster with Tez, Hive, and Pig installed. The command references a file stored in Amazon S3, `myConfig.json`, which specifies properties for the `tez-site` classification that sets `tez.am.log.level` to `DEBUG`, and sets the execution engine to Tez for Hive and Pig using the `hive-site` and `pig-properties` configuration classifications.  
Linux line continuation characters (\$1) are included for readability. They can be removed or used in Linux commands. For Windows, remove them or replace with a caret (^).

```
aws emr create-cluster --release-label emr-7.12.0 \
--applications Name=Tez Name=Hive Name=Pig --ec2-attributes KeyName=myKey \
--instance-type m5.xlarge --instance-count 3 \
--configurations https://s3.amazonaws.com/amzn-s3-demo-bucket/myfolder/myConfig.json --use-default-roles
```
Example contents of `myConfig.json` are shown below.  

```
[
    {
      "Classification": "tez-site",
      "Properties": {
        "tez.am.log.level": "DEBUG"
      }
    },
    {
      "Classification": "hive-site",
      "Properties": {
        "hive.execution.engine": "tez"
      }
    },
    {
      "Classification": "pig-properties",
      "Properties": {
        "exectype": "tez"
      }
    }
  ]
```

**Note**  
With Amazon EMR version 5.21.0 and later, you can override cluster configurations and specify additional configuration classifications for each instance group in a running cluster. You do this by using the Amazon EMR console, the AWS Command Line Interface (AWS CLI), or the AWS SDK. For more information, see [Supplying a Configuration for an Instance Group in a Running Cluster](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps-running-cluster.html).

## Tez asynchronous split opening


When there is a large number of small files in the table path, and a query attempts to read them all, each small file that corresponds to each individual split gets combined under one Tez *grouped split*. A single mapper then processes the single Tez grouped split. Since the execution is synchronous, each individual split under the grouped split gets processed one by one. This requires `RecordReader` objects to synchronously process the splits.

Amazon EMR 6.15.0 introduces configurations that you can specify to asynchronously open the input splits in a Tez grouped split. The feature was initiated by [TEZ-4397](https://issues.apache.org/jira/browse/TEZ-4397), but had regressions in OSS Hive. EMR Hive fixed the regressions and additional bugs in Hive ACID table. This improvement results in faster performance of read queries when there are a large number of input splits in a single Tez Grouped Split.


| Name | Classification | Description | 
| --- | --- | --- | 
|  `tez.grouping.split.init.threads`  |  `tez-site`  | Specifies the number of daemon threads that Tez uses to pre-initiate the `RecordReaders` and open splits. For ACID tables, the maximum supported value of `tez.grouping.split.init.threads` is `1`. | 
|  `tez.grouping.split.init.recordreaders`  |  `tez-site`  | Specifies the number of `RecordReaders` to keep pre-initialised by the daemon threads. This can help when Tez grouped split contains a large number of `InputSplits`. Initialization of `RecordReaders` to process those input splits can be done asynchronously with daemon threads instead of sequential processing. | 

Configuration notes:


| Subject matter | Details | 
| --- | --- | 
| Recommended configuration settings | It is recommended to set the above configuration settings to the values you want in both `hive-site` and `tez-site`. | 
| Matching values | The values of the configuration settings should be the same in both `hive-site` and `tez-site`. | 
| LLAP recommendation | It isn't recommended to use this feature when LLAP is enabled. | 

### Benchmarking for Tez asynchronous split opening
Benchmarking

We used the following environments and configurations for benchmarking the Tez asynchronous split opening capability:
+ **Benchmark environment** – Amazon EMR cluster with 1 primary node that uses m5.16xlarge, and 16 core nodes that use m5.16xlarge.
+ **Benchmark configurations** – To simulate the scenario for benchmarking where a large number of input splits are in a single Tez grouped split, `tez.grouping.split-count` is set to `1`.
+ **Table used for benchmarking** – The table contains 200 partitions, with each partition containing a single file. The benchmark is done for when that table contains CSV files, and when that table contains parquet files. Hive query for benchmarking: `SELECT COUNT(*)` from the table ten times, and take the average runtime.
+ **Configurations to enable Tez async split opening** – As follows:
  + `tez.grouping.split.init.threads` = `4`
  + `tez.grouping.split.init.recordreaders` = `10`


| Dataset | Feature disabled (baseline) | Feature enabled | Improvement | 
| --- | --- | --- | --- | 
|  CSV dataset  |  90.26 seconds  | 79.20 seconds | 12.25% | 
|  Parquet dataset  |  54.67 seconds  | 42.23 seconds | 22.75% | 

# Tez web UI


Tez has its own web user interface. To view the web UI, see the following URL.

```
http://masterDNS:8080/tez-ui
```

To enable the Hive Queries tab on the Tez web UI, set the following configuration.

```
[
  {
    "Classification": "hive-site",
    "Properties": {
      "hive.exec.pre.hooks": "org.apache.hadoop.hive.ql.hooks.ATSHook",
      "hive.exec.post.hooks": "org.apache.hadoop.hive.ql.hooks.ATSHook",
      "hive.exec.failure.hooks": "org.apache.hadoop.hive.ql.hooks.ATSHook"
    }
  }
]
```

You can also view Tez, Spark, and YARN application UI details using links on the **Application user interfaces** tab of a cluster's detail page in the console. Amazon EMR application user interfaces (UI) are hosted off-cluster and are available after the cluster has terminated. They don't require you to set up a SSH connection or web proxy, making it easier for you to troubleshoot and analyze active jobs and job history.

For more information, see [View application history](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-cluster-application-history.html) in the *Amazon EMR Management Guide*.

# Timeline Server


The YARN Timeline Server is configured to run when Tez is installed. To view jobs submitted through Tez or MapReduce execution engines using the Timeline Server, view the web UI using the URL `http://master-public-DNS:8188`. For more information, see [View web interfaces hosted on Amazon EMR clusters](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-web-interfaces.html) in the *Amazon EMR Management Guide*.

# Tez release history


The following table lists the version of Tez included in each release version of Amazon EMR, along with the components installed with the application. For component versions in each release, see the Component Version section for your release in [Amazon EMR 7.x release versions](emr-release-7x.md), [Amazon EMR 6.x release versions](emr-release-6x.md), or [Amazon EMR 5.x release versions](emr-release-5x.md).


**Tez version information**  

| Amazon EMR Release Label | Tez Version | Components Installed With Tez | 
| --- | --- | --- | 
| emr-7.12.0 | 0.10.2-amzn-19 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-hdfs-zkfc, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn, tez-on-worker | 
| emr-7.11.0 | 0.10.2-amzn-18 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-hdfs-zkfc, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn, tez-on-worker | 
| emr-7.10.0 | 0.10.2-amzn-17 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn, tez-on-worker | 
| emr-7.9.0 | 0.10.2-amzn-16 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn, tez-on-worker | 
| emr-7.8.0 | 0.10.2-amzn-15 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn, tez-on-worker | 
| emr-7.7.0 | 0.10.2-amzn-14 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn, tez-on-worker | 
| emr-7.6.0 | 0.10.2-amzn-13 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn, tez-on-worker | 
| emr-7.5.0 | 0.10.2-amzn-12 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn, tez-on-worker | 
| emr-7.4.0 | 0.10.2-amzn-11 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn, tez-on-worker | 
| emr-7.3.0 | 0.10.2-amzn-10 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn, tez-on-worker | 
| emr-7.2.0 | 0.10.2-amzn-9 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn, tez-on-worker | 
| emr-5.36.2 | 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-7.1.0 | 0.10.2-amzn-8 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn, tez-on-worker | 
| emr-7.0.0 | 0.10.2-amzn-7 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn, tez-on-worker | 
| emr-6.15.0 | 0.10.2-amzn-6 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn, tez-on-worker | 
| emr-6.14.0 | 0.10.2-amzn-5 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn, tez-on-worker | 
| emr-6.13.0 | 0.10.2-amzn-4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn, tez-on-worker | 
| emr-6.12.0 | 0.10.2-amzn-3 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn, tez-on-worker | 
| emr-6.11.1 | 0.10.2-amzn-2.1 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn, tez-on-worker | 
| emr-6.11.0 | 0.10.2-amzn-2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn, tez-on-worker | 
| emr-6.10.1 | 0.10.2-amzn-1.1 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn, tez-on-worker | 
| emr-6.10.0 | 0.10.2-amzn-1 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn, tez-on-worker | 
| emr-6.9.1 | 0.10.2-amzn-0.1 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-6.9.0 | 0.10.2-amzn-0 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-6.8.1 | 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-6.8.0 | 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-6.7.0 | 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.36.1 | 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.36.0 | 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-6.6.0 | 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.35.0 | 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-6.5.0 | 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-6.4.0 | 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-6.3.1 | 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-6.3.0 | 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-6.2.1 | 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-6.2.0 | 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-6.1.1 | 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-6.1.0 | 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-6.0.1 | 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-6.0.0 | 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.34.0 | 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.33.1 | 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.33.0 | 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.32.1 | 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.32.0 | 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.31.1 | 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.31.0 | 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.30.2 | 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.30.1 | 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.30.0 | 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.29.0 | 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.28.1 | 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.28.0 | 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.27.1 | 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.27.0 | 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.26.0 | 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.25.0 | 0.9.2 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.24.1 | 0.9.1 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.24.0 | 0.9.1 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.23.1 | 0.9.1 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.23.0 | 0.9.1 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.22.0 | 0.9.1 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.21.2 | 0.9.1 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.21.1 | 0.9.1 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.21.0 | 0.9.1 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.20.1 | 0.9.1 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.20.0 | 0.9.1 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.19.1 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.19.0 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.18.1 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.18.0 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.17.2 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.17.1 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.17.0 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.16.1 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.16.0 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.15.1 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.15.0 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.14.2 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.14.1 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.14.0 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.13.1 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.13.0 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.12.3 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.12.2 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.12.1 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.12.0 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.11.4 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.11.3 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.11.2 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.11.1 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.11.0 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.10.1 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.10.0 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.9.1 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.9.0 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.8.3 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.8.2 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.8.1 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.8.0 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.7.1 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.7.0 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.6.1 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.6.0 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.5.4 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.5.3 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.5.2 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.5.1 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.5.0 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.4.1 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.4.0 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.3.2 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.3.1 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.3.0 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.2.3 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.2.2 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.2.1 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.2.0 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.1.1 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.1.0 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.0.3 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.0.2 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.0.1 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-5.0.0 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-4.9.6 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-4.9.5 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-4.9.4 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-4.9.3 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-4.9.2 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-4.9.1 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-4.8.5 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-4.8.4 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-4.8.3 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-4.8.2 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-4.8.1 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-4.8.0 | 0.8.4 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-4.7.4 | 0.8.3 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-4.7.3 | 0.8.3 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-4.7.2 | 0.8.3 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-4.7.1 | 0.8.3 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 
| emr-4.7.0 | 0.8.3 | emrfs, emr-goodies, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, tez-on-yarn | 

# Tez release notes by version


**Topics**
+ [

# Amazon EMR 7.10.0 - Tez release notes
](Tez-release-history-7100.md)
+ [

# Amazon EMR 7.9.0 - Tez release notes
](Tez-release-history-790.md)
+ [

# Amazon EMR 7.8.0 - Tez release notes
](Tez-release-history-780.md)
+ [

# Amazon EMR 7.7.0 - Tez release notes
](Tez-release-history-770.md)
+ [

# Amazon EMR 7.6.0 - Tez release notes
](Tez-release-history-760.md)
+ [

# Amazon EMR 7.5.0 - Tez release notes
](Tez-release-history-750.md)
+ [

# Amazon EMR 7.4.0 - Tez release notes
](Tez-release-history-740.md)
+ [

# Amazon EMR 7.3.0 - Tez release notes
](Tez-release-history-730.md)
+ [

# Amazon EMR 7.2.0 - Tez release notes
](Tez-release-history-720.md)
+ [

# Amazon EMR 7.1.0 - Tez release notes
](Tez-release-history-710.md)
+ [

# Amazon EMR 7.0.0 - Tez release notes
](Tez-release-history-700.md)
+ [

# Amazon EMR 6.15.0 - Tez release notes
](Tez-release-history-6150.md)
+ [

# Amazon EMR 6.14.0 - Tez release notes
](Tez-release-history-6140.md)
+ [

# Amazon EMR 6.13.0 - Tez release notes
](Tez-release-history-6130.md)
+ [

# Amazon EMR 6.12.0 - Tez release notes
](Tez-release-history-6120.md)
+ [

# Amazon EMR 6.11.0 - Tez release notes
](Tez-release-history-6110.md)
+ [

# Amazon EMR 6.10.0 - Tez release notes
](Tez-release-history-6100.md)
+ [

# Amazon EMR 6.9.0 - Tez release notes
](Tez-release-history-690.md)
+ [

# Amazon EMR 6.8.0 - Tez release notes
](Tez-release-history-680.md)
+ [

# Amazon EMR 6.7.0 - Tez release notes
](Tez-release-history-670.md)
+ [

# Amazon EMR 6.6.0 - Tez release notes
](Tez-release-history-660.md)

# Amazon EMR 7.10.0 - Tez release notes
7.10.0 release notes

## Amazon EMR 7.10.0 - Tez changes
Tez changes


| Type | Description | 
| --- | --- | 
| Bug Fix | [TEZ-4595](https://issues.apache.org/jira/browse/TEZ-4595): Fixed a bug where Tez would crash when trying to process a new DAG while it was still recovering from a previous failure, causing both DAGs to interfere with each other and throw an INVALID\$1EVENT exception. | 

**Tez release notes**

Bug fix notes – The issue occurred when recovery files were present and the Application Master transitioned through RECOVERING → IDLE → RUNNING → IDLE states, creating a brief window where Hive could submit new DAGs during the IDLE → RUNNING transition. Modified the state transition logic to skip IDLE state when recovery files are present. The AM now follows RECOVERING → RUNNING → IDLE flow, ensuring new DAG submission only occurs after the recovered DAG is fully cleaned up.

# Amazon EMR 7.9.0 - Tez release notes
7.9.0 release notes

## Amazon EMR 7.9.0 - Tez changes
Tez changes

No changes for the 7.9.0 release.

# Amazon EMR 7.8.0 - Tez release notes
7.8.0 release notes

## Amazon EMR 7.8.0 - Tez changes
Tez changes


| Type | Description | 
| --- | --- | 
| Improvement | Upgraded bouncycastle version to 1.78 to match hadoop | 

# Amazon EMR 7.7.0 - Tez release notes
7.7.0 release notes

## Amazon EMR 7.7.0 - Tez changes
Tez changes


| Type | Description | 
| --- | --- | 
| Improvement | The tez.task.relaxed.locality property in Apache Tez controls whether task scheduling strictly follows data locality constraints (rack and node locality). When set to true (default in EMR-7.6\$1), Tez does not enforce locality, allowing tasks to be assigned to any available container, which improves resource utilization and reduces wait times in busy clusters. | 

# Amazon EMR 7.6.0 - Tez release notes
7.6.0 release notes

## Amazon EMR 7.6.0 - Tez changes
Tez changes


| Type | Description | 
| --- | --- | 
| Improvement | Rack and node locality constraints won't be considered while requesting container for a task by changing default of tez.task.relaxed.locality to false | 
| Improvement | Tune configs to disable delay due to locality and allow non-local fallback | 
| Improvement | [TEZ-4547](https://issues.apache.org/jira/browse/TEZ-4547): Add Tez AM JobID to the JobConf | 

# Amazon EMR 7.5.0 - Tez release notes
7.5.0 release notes

## Amazon EMR 7.5.0 - Tez changes
Tez changes


| Type | Description | 
| --- | --- | 
| Improvement | Enabled preemption of task by default | 
| Improvement | Increased number of record readers to asynchronously and proactively init to 10 | 
| Improvement | [TEZ-4580](https://issues.apache.org/jira/browse/TEZ-4580): Slow preemption of new containers when re-use is enabled | 

# Amazon EMR 7.4.0 - Tez release notes
7.4.0 release notes

## Amazon EMR 7.4.0 - Tez changes
Tez changes


| Type | Description | 
| --- | --- | 
| Improvement | Remove EventCounter appender from Tez removed in Hadoop 3.4.0 via [HADOOP-17524](https://issues.apache.org/jira/browse/HADOOP-17524) | 
| Upgrade | Upgrade commons-cli to 1.5.0 | 
| Upgrade | Upgrade bouncy-castle version to 1.70.0 | 

# Amazon EMR 7.3.0 - Tez release notes
7.3.0 release notes

## Amazon EMR 7.3.0 - Tez changes
Tez changes


| Type | Description | 
| --- | --- | 
| Improvement | Provide option to enable SSL for Tez AM Web UI Service | 
|  |  | 

## Amazon EMR 7.3.0 - New configurations
Amazon EMR 7.3.0 - New configurations


****  

| Classification | Name | Default | Description | 
| --- | --- | --- | --- | 
| tez-site | tez.am.tez-ui.webservice.enable.ssl | false | Allow enabling SSL for for the AM WebUIService | 
| tez-site | tez.am.tez-ui.webservice.enable.client.auth | false | Allow enabling client side authentication for the AM WebUIService | 

**Amazon EMR 7.3.0 - Tez known issues**

**Tez DAG cleanup issue (EMR 6.11.0 - EMR 7.2.0)** – In clusters with SSL enabled running EMR versions 6.11.0 to 7.2.0, there is a known issue where *SSLHandshakeException* occurs in TEZ Application Master (AM) during the DAG cleanup phase. This happens when attempting to delete intermediate shuffle data from remote nodes over HTTPS after query completion, not during the query execution. The issue occurs because Tez AM cannot read the relevant **trustStore** configuration when calling the shuffle handler service endpoint. However this affects only the cleaning up of shuffle data during DAG cleanup, the application(AM) level cleanup happens anyways and cleans up any lingering shuffle data. So this doesn’t lead to shuffle data accumulation. 

**Fix version:** – EMR 7.3.0

**Workaround** – Add the following SSL configuration to tez-site.xml:

```
<property>
    <name>ssl.client.truststore.location</name>
    <value>{SSL_TRUSTSTORE_LOCATION}</value>
</property>
```

# Amazon EMR 7.2.0 - Tez release notes
7.2.0 release notes

## Amazon EMR 7.2.0 - Tez changes
Tez changes


| Type | Description | 
| --- | --- | 
| Improvement | Option provided to disable locality constraints when requesting containers for tasks. | 
| Bug Fix | Make TaskDependencies\$1addTaskDependency thread safe | 
| Upgrade | Upgrade TLS version to 1.3 for Tez. | 

## Amazon EMR 7.2.0 - New configurations
Amazon EMR 7.2.0 - New configurations


****  

| Classification | Name | Default | Description | 
| --- | --- | --- | --- | 
| tez-site | tez.task.relaxed.locality | false | When enabled, rack and node locality constraints are not considered while requesting a container for a task. | 

**Amazon EMR 7.2.0 - Tez known issues**

**Tez DAG cleanup issue (EMR 6.11.0 - EMR 7.2.0)** – In clusters with SSL enabled running EMR versions 6.11.0 to 7.2.0, there is a known issue where *SSLHandshakeException* occurs in TEZ Application Master (AM) during the DAG cleanup phase. This happens when attempting to delete intermediate shuffle data from remote nodes over HTTPS after query completion, not during the query execution. The issue occurs because Tez AM cannot read the relevant **trustStore** configuration when calling the shuffle handler service endpoint. However this affects only the cleaning up of shuffle data during DAG cleanup, the application(AM) level cleanup happens anyways and cleans up any lingering shuffle data. So this doesn’t lead to shuffle data accumulation. 

**Fix version:** – EMR 7.3.0

**Workaround** – Add the following SSL configuration to tez-site.xml:

```
<property>
    <name>ssl.client.truststore.location</name>
    <value>{SSL_TRUSTSTORE_LOCATION}</value>
</property>
```

# Amazon EMR 7.1.0 - Tez release notes
7.1.0 release notes

## Amazon EMR 7.1.0 - Tez changes
Tez changes


| Type | Description | 
| --- | --- | 
| Bug Fix | [TEZ-4394](https://issues.apache.org/jira/browse/TEZ-4394) – Netty4 ShuffleHandler: should use 1 boss thread (\$1256)  | 
| Upgrade | Upgrades Netty to 4.1.100.Final. | 
| Upgrade | Upgrades Jetty to 9.4.53.v20231009. | 

**Amazon EMR 7.1.0 - Tez known issues**
+ **Tez DAG cleanup issue (EMR 6.11.0 - EMR 7.2.0)** – In clusters with SSL enabled running EMR versions 6.11.0 to 7.2.0, there is a known issue where *SSLHandshakeException* occurs in TEZ Application Master (AM) during the DAG cleanup phase. This happens when attempting to delete intermediate shuffle data from remote nodes over HTTPS after query completion, not during the query execution. The issue occurs because Tez AM cannot read the relevant **trustStore** configuration when calling the shuffle handler service endpoint. However this affects only the cleaning up of shuffle data during DAG cleanup, the application(AM) level cleanup happens anyways and cleans up any lingering shuffle data. So this doesn’t lead to shuffle data accumulation. 

  **Fix version:** – EMR 7.3.0

  **Workaround** – Add the following SSL configuration to tez-site.xml:

  ```
  <property>
      <name>ssl.client.truststore.location</name>
      <value>{SSL_TRUSTSTORE_LOCATION}</value>
  </property>
  ```
+ **Pig jobs running on Tez** – In clusters with SSL enabled running EMR version 6.9.0 to 7.0.0, there is a known issue where Pig jobs running on Tez fail with *SSLHandshakeException*. This is related to the open-source issue [TEZ-4096](https://issues.apache.org/jira/browse/TEZ-4096), which was introduced with the Tez upgrade to version 0.10.2 in EMR 6.9.0. The issue requires SSL-related configurations to be passed from the client side (Pig).

  **Fix version:** – EMR 7.1.0

  **Workaround** – Add the following SSL configuration to tez-site.xml:

  ```
  <property>
      <name>ssl.client.truststore.location</name>
      <value>{SSL_TRUSTSTORE_LOCATION}</value>
  </property>
  ```

# Amazon EMR 7.0.0 - Tez release notes
7.0.0 release notes

Amazon EMR 7.0.0 Tez contains all the changes and updates made up to and including Amazon EMR-6.15.0 Tez.

## Amazon EMR 7.0.0 - Tez changes
Tez changes


| Type | Description | 
| --- | --- | 
| Upgrade | Tez Runtime now uses Java 17 by default. Please refer [EMR 7.0.0 Release Guide](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-700-release.html) for more details. | 

**Amazon EMR 7.0.0 - Tez known issues**
+ **Pig jobs running on Tez** – In clusters with SSL enabled running EMR version 6.9.0 to 7.0.0, there is a known issue where Pig jobs running on Tez fail with *SSLHandshakeException*. This is related to the open-source issue [TEZ-4096](https://issues.apache.org/jira/browse/TEZ-4096), which was introduced with the Tez upgrade to version 0.10.2 in EMR 6.9.0. The issue requires SSL-related configurations to be passed from the client side (Pig).

  **Fix version:** – EMR 7.1.0

  **Workaround** – Add the following SSL configuration to tez-site.xml:

  ```
  <property>
      <name>ssl.client.truststore.location</name>
      <value>{SSL_TRUSTSTORE_LOCATION}</value>
  </property>
  ```
+ **Tez DAG cleanup issue (EMR 6.11.0 - EMR 7.2.0)** – In clusters with SSL enabled running EMR versions 6.11.0 to 7.2.0, there is a known issue where *SSLHandshakeException* occurs in TEZ Application Master (AM) during the DAG cleanup phase. This happens when attempting to delete intermediate shuffle data from remote nodes over HTTPS after query completion, not during the query execution. The issue occurs because Tez AM cannot read the relevant **trustStore** configuration when calling the shuffle handler service endpoint. However this affects only the cleaning up of shuffle data during DAG cleanup, the application(AM) level cleanup happens anyways and cleans up any lingering shuffle data. So this doesn’t lead to shuffle data accumulation. 

  **Fix version:** – EMR 7.3.0

  **Workaround** – Add the following SSL configuration to tez-site.xml:

  ```
  <property>
      <name>ssl.client.truststore.location</name>
      <value>{SSL_TRUSTSTORE_LOCATION}</value>
  </property>
  ```

# Amazon EMR 6.15.0 - Tez release notes
6.15.0 release notes

## Amazon EMR 6.15.0 - Tez changes
Tez changes


| Type | Description | 
| --- | --- | 
| Feature | [TEZ-4397](https://issues.apache.org/jira/browse/TEZ-4397): Open Tez Input splits asynchronously | 
| Upgrade | [TEZ-4493](https://issues.apache.org/jira/browse/TEZ-4493): Upgrade Apache Hadoop to 3.3.6 | 

**Amazon EMR 6.15.0 - Tez known issues**
+ **Pig jobs running on Tez** – In clusters with SSL enabled running EMR version 6.9.0 to 7.0.0, there is a known issue where Pig jobs running on Tez fail with *SSLHandshakeException*. This is related to the open-source issue [TEZ-4096](https://issues.apache.org/jira/browse/TEZ-4096), which was introduced with the Tez upgrade to version 0.10.2 in EMR 6.9.0. The issue requires SSL-related configurations to be passed from the client side (Pig).

  **Fix version:** – EMR 7.1.0

  **Workaround** – Add the following SSL configuration to tez-site.xml:

  ```
  <property>
      <name>ssl.client.truststore.location</name>
      <value>{SSL_TRUSTSTORE_LOCATION}</value>
  </property>
  ```
+ **Tez DAG cleanup issue (EMR 6.11.0 - EMR 7.2.0)** – In clusters with SSL enabled running EMR versions 6.11.0 to 7.2.0, there is a known issue where *SSLHandshakeException* occurs in TEZ Application Master (AM) during the DAG cleanup phase. This happens when attempting to delete intermediate shuffle data from remote nodes over HTTPS after query completion, not during the query execution. The issue occurs because Tez AM cannot read the relevant **trustStore** configuration when calling the shuffle handler service endpoint. However this affects only the cleaning up of shuffle data during DAG cleanup, the application(AM) level cleanup happens anyways and cleans up any lingering shuffle data. So this doesn’t lead to shuffle data accumulation. 

  **Fix version:** – EMR 7.3.0

  **Workaround** – Add the following SSL configuration to tez-site.xml:

  ```
  <property>
      <name>ssl.client.truststore.location</name>
      <value>{SSL_TRUSTSTORE_LOCATION}</value>
  </property>
  ```

## Amazon EMR 6.15.0 - Tez features
Tez features
+ **[Tez asynchronous split opening](tez-configure.md#tez-configure-async)** – Amazon EMR 6.15.0 introduces configurations that you can specify to asynchronously open the input splits in a Tez *grouped split*. The feature was initiated by [TEZ-4397](https://issues.apache.org/jira/browse/TEZ-4397), but had regressions in OSS Hive. Amazon EMR Hive fixed the regressions and additional bugs in Hive ACID table. This improvement results in faster performance of read queries when there are a large number of input splits in a single Tez grouped split. For more information, see [Tez asynchronous split opening](tez-configure.md#tez-configure-async).

# Amazon EMR 6.14.0 - Tez release notes
6.14.0 release notes

## Amazon EMR 6.14.0 - Tez changes
Tez changes


| Type | Description | 
| --- | --- | 
| Improvement | Upgrade TLS version in Tez to 1.2 | 

**Amazon EMR 6.14.0 - Tez known issues**
+ **Pig jobs running on Tez** – In clusters with SSL enabled running EMR version 6.9.0 to 7.0.0, there is a known issue where Pig jobs running on Tez fail with *SSLHandshakeException*. This is related to the open-source issue [TEZ-4096](https://issues.apache.org/jira/browse/TEZ-4096), which was introduced with the Tez upgrade to version 0.10.2 in EMR 6.9.0. The issue requires SSL-related configurations to be passed from the client side (Pig).

  **Fix version:** – EMR 7.1.0

  **Workaround** – Add the following SSL configuration to tez-site.xml:

  ```
  <property>
      <name>ssl.client.truststore.location</name>
      <value>{SSL_TRUSTSTORE_LOCATION}</value>
  </property>
  ```
+ **Tez DAG cleanup issue (EMR 6.11.0 - EMR 7.2.0)** – In clusters with SSL enabled running EMR versions 6.11.0 to 7.2.0, there is a known issue where *SSLHandshakeException* occurs in TEZ Application Master (AM) during the DAG cleanup phase. This happens when attempting to delete intermediate shuffle data from remote nodes over HTTPS after query completion, not during the query execution. The issue occurs because Tez AM cannot read the relevant **trustStore** configuration when calling the shuffle handler service endpoint. However this affects only the cleaning up of shuffle data during DAG cleanup, the application(AM) level cleanup happens anyways and cleans up any lingering shuffle data. So this doesn’t lead to shuffle data accumulation. 

  **Fix version:** – EMR 7.3.0

  **Workaround** – Add the following SSL configuration to tez-site.xml:

  ```
  <property>
      <name>ssl.client.truststore.location</name>
      <value>{SSL_TRUSTSTORE_LOCATION}</value>
  </property>
  ```

# Amazon EMR 6.13.0 - Tez release notes
6.13.0 release notes

## Amazon EMR 6.13.0 - Tez changes
Tez changes


| Type | Description | 
| --- | --- | 
| Bug Fix | REVERT [TEZ-4295](https://issues.apache.org/jira/browse/TEZ-4295): Could not decompress data. Buffer length is too small. | 
| Bug Fix | REVERT [TEZ-4302](https://issues.apache.org/jira/browse/TEZ-4302): NullPointerException in CodecUtils with GzipCodec. | 
| Bug Fix | REVERT [TEZ-4234](https://issues.apache.org/jira/browse/TEZ-4234): Compressor can cause IllegalArgumentException in Buffer.limit where limit exceeds capacity. | 
| Bug Fix | REVERT [TEZ-4135](https://issues.apache.org/jira/browse/TEZ-4135): Improve memory allocation when executing in-memory reads. | 

**Amazon EMR 6.13.0 - Tez known issues**
+ **Pig jobs running on Tez** – In clusters with SSL enabled running EMR version 6.9.0 to 7.0.0, there is a known issue where Pig jobs running on Tez fail with *SSLHandshakeException*. This is related to the open-source issue [TEZ-4096](https://issues.apache.org/jira/browse/TEZ-4096), which was introduced with the Tez upgrade to version 0.10.2 in EMR 6.9.0. The issue requires SSL-related configurations to be passed from the client side (Pig).

  **Fix version:** – EMR 7.1.0

  **Workaround** – Add the following SSL configuration to tez-site.xml:

  ```
  <property>
      <name>ssl.client.truststore.location</name>
      <value>{SSL_TRUSTSTORE_LOCATION}</value>
  </property>
  ```
+ **Tez DAG cleanup issue (EMR 6.11.0 - EMR 7.2.0)** – In clusters with SSL enabled running EMR versions 6.11.0 to 7.2.0, there is a known issue where *SSLHandshakeException* occurs in TEZ Application Master (AM) during the DAG cleanup phase. This happens when attempting to delete intermediate shuffle data from remote nodes over HTTPS after query completion, not during the query execution. The issue occurs because Tez AM cannot read the relevant **trustStore** configuration when calling the shuffle handler service endpoint. However this affects only the cleaning up of shuffle data during DAG cleanup, the application(AM) level cleanup happens anyways and cleans up any lingering shuffle data. So this doesn’t lead to shuffle data accumulation. 

  **Fix version:** – EMR 7.3.0

  **Workaround** – Add the following SSL configuration to tez-site.xml:

  ```
  <property>
      <name>ssl.client.truststore.location</name>
      <value>{SSL_TRUSTSTORE_LOCATION}</value>
  </property>
  ```

# Amazon EMR 6.12.0 - Tez release notes
6.12.0 release notes

## Amazon EMR 6.12.0 - Tez changes
Tez changes


| Type | Description | 
| --- | --- | 
| Improvement | Added Support For JDK 11 and JDK 17 Runtime | 
| Bug Fix | [TEZ-4492](https://issues.apache.org/jira/browse/TEZ-4492): Update Bowerrc to use bower.herokuapp mirror to avoid Bower Registry CERT\$1EXPIRE issue (BOWER-2608) | 
| Upgrade | Upgraded Surefire to 3.0.0-M7  | 

**Amazon EMR 6.12.0 - Tez known issues**
+ **Pig jobs running on Tez** – In clusters with SSL enabled running EMR version 6.9.0 to 7.0.0, there is a known issue where Pig jobs running on Tez fail with *SSLHandshakeException*. This is related to the open-source issue [TEZ-4096](https://issues.apache.org/jira/browse/TEZ-4096), which was introduced with the Tez upgrade to version 0.10.2 in EMR 6.9.0. The issue requires SSL-related configurations to be passed from the client side (Pig).

  **Fix version:** – EMR 7.1.0

  **Workaround** – Add the following SSL configuration to tez-site.xml:

  ```
  <property>
      <name>ssl.client.truststore.location</name>
      <value>{SSL_TRUSTSTORE_LOCATION}</value>
  </property>
  ```
+ **Tez DAG cleanup issue (EMR 6.11.0 - EMR 7.2.0)** – In clusters with SSL enabled running EMR versions 6.11.0 to 7.2.0, there is a known issue where *SSLHandshakeException* occurs in TEZ Application Master (AM) during the DAG cleanup phase. This happens when attempting to delete intermediate shuffle data from remote nodes over HTTPS after query completion, not during the query execution. The issue occurs because Tez AM cannot read the relevant **trustStore** configuration when calling the shuffle handler service endpoint. However this affects only the cleaning up of shuffle data during DAG cleanup, the application(AM) level cleanup happens anyways and cleans up any lingering shuffle data. So this doesn’t lead to shuffle data accumulation. 

  **Fix version:** – EMR 7.3.0

  **Workaround** – Add the following SSL configuration to tez-site.xml:

  ```
  <property>
      <name>ssl.client.truststore.location</name>
      <value>{SSL_TRUSTSTORE_LOCATION}</value>
  </property>
  ```

# Amazon EMR 6.11.0 - Tez release notes
6.11.0 release notes

## Amazon EMR 6.11.0 - Tez changes
Tez changes


| Type | Description | 
| --- | --- | 
| Bug | Fixed invalid vertex state transition during vertex level cleanup of shuffle data | 
| Bug | Fixed DAG or vertex level cleanup of shuffle data not working | 
| Improvement | Enable tez.am.dag.cleanup.on.completion by default for clearing shuffle data of completed DAGs | 

**Amazon EMR 6.11.0 - Tez known issues**
+ **Pig jobs running on Tez** – In clusters with SSL enabled running EMR version 6.9.0 to 7.0.0, there is a known issue where Pig jobs running on Tez fail with *SSLHandshakeException*. This is related to the open-source issue [TEZ-4096](https://issues.apache.org/jira/browse/TEZ-4096), which was introduced with the Tez upgrade to version 0.10.2 in EMR 6.9.0. The issue requires SSL-related configurations to be passed from the client side (Pig).

  **Fix version:** – EMR 7.1.0

  **Workaround** – Add the following SSL configuration to tez-site.xml:

  ```
  <property>
      <name>ssl.client.truststore.location</name>
      <value>{SSL_TRUSTSTORE_LOCATION}</value>
  </property>
  ```
+ **Tez DAG cleanup issue (EMR 6.11.0 - EMR 7.2.0)** – In clusters with SSL enabled running EMR versions 6.11.0 to 7.2.0, there is a known issue where *SSLHandshakeException* occurs in TEZ Application Master (AM) during the DAG cleanup phase. This happens when attempting to delete intermediate shuffle data from remote nodes over HTTPS after query completion, not during the query execution. The issue occurs because Tez AM cannot read the relevant **trustStore** configuration when calling the shuffle handler service endpoint. However this affects only the cleaning up of shuffle data during DAG cleanup, the application(AM) level cleanup happens anyways and cleans up any lingering shuffle data. So this doesn’t lead to shuffle data accumulation. 

  **Fix version:** – EMR 7.3.0

  **Workaround** – Add the following SSL configuration to tez-site.xml:

  ```
  <property>
      <name>ssl.client.truststore.location</name>
      <value>{SSL_TRUSTSTORE_LOCATION}</value>
  </property>
  ```

# Amazon EMR 6.10.0 - Tez release notes
6.10.0 release notes

## Amazon EMR 6.10.0 - Tez changes
Tez changes


| Type | Description | 
| --- | --- | 
| Feature | Enable tez.runtime.transfer.data-via-events.enabled by default | 
| Backport | [TEZ-4450](https://issues.apache.org/jira/browse/TEZ-4450): Fix shuffle data fetch failure when shuffle data is transferred via data movement events | 
| Backport | [TEZ-4460](https://issues.apache.org/jira/browse/TEZ-4460): Fix read timeout error in fetching shuffle data from Tez Shuffle Handler | 
| Backport | [TEZ-4455](https://issues.apache.org/jira/browse/TEZ-4455): Add LoggingHandler in ShuffleHandler pipeline for better debuggability | 
| Bug | Fix Tez task getting stuck intermittently when preemption of task is enabled | 

**Amazon EMR 6.10.0 - Tez known issues**
+ **Hive jobs running on Tez** – In clusters with SSL enabled running EMR version 6.9.0, there is a known issue where Hive jobs running on Tez fail with *SSLHandshakeException*. This is related to the open-source issue [TEZ-4096](https://issues.apache.org/jira/browse/TEZ-4096), which was introduced with the Tez upgrade to version 0.10.2 in EMR 6.9.0. The issue requires SSL-related configurations to be passed from the client side (Hive).

  **Fix version:** – EMR 6.10.0

  **Workaround for version 6.9** – Add the following SSL configuration to tez-site.xml:

  ```
  <property>
      <name>ssl.client.truststore.location</name>
      <value>{SSL_TRUSTSTORE_LOCATION}</value>
  </property>
  ```
+ **Pig jobs running on Tez** – In clusters with SSL enabled running EMR version 6.9.0 to 7.0.0, there is a known issue where Pig jobs running on Tez fail with *SSLHandshakeException*. This is related to the open-source issue [TEZ-4096](https://issues.apache.org/jira/browse/TEZ-4096), which was introduced with the Tez upgrade to version 0.10.2 in EMR 6.9.0. The issue requires SSL-related configurations to be passed from the client side (Pig).

  **Fix version:** – EMR 7.1.0

  **Workaround** – Add the following SSL configuration to tez-site.xml:

  ```
  <property>
      <name>ssl.client.truststore.location</name>
      <value>{SSL_TRUSTSTORE_LOCATION}</value>
  </property>
  ```

# Amazon EMR 6.9.0 - Tez release notes
6.9.0 release notes

## Amazon EMR 6.9.0 - Tez changes
Tez changes


| Type | Description | 
| --- | --- | 
| Upgrade | Tez is upgraded to 0.10.2. For more information, see the [change log for Apache Tez 0.10.2](https://github.com/apache/tez/blob/rel/release-0.10.2/CHANGES.txt). | 
| Upgrade | Upgrade Hadoop to 3.3.3. | 
| Bug | Disable tez.runtime.transfer.data-via-events.enabled by default due to [TEZ-4450](https://issues.apache.org/jira/browse/TEZ-4450). | 

**Amazon EMR 6.9.0 - Tez known issues**
+ **Hive jobs running on Tez** – In clusters with SSL enabled running EMR version 6.9.0, there is a known issue where Hive jobs running on Tez fail with *SSLHandshakeException*. This is related to the open-source issue [TEZ-4096](https://issues.apache.org/jira/browse/TEZ-4096), which was introduced with the Tez upgrade to version 0.10.2 in EMR 6.9.0. The issue requires SSL-related configurations to be passed from the client side (Hive).

  **Fix version:** – EMR 6.10.0

  **Workaround** – Add the following SSL configuration to tez-site.xml:

  ```
  <property>
      <name>ssl.client.truststore.location</name>
      <value>{SSL_TRUSTSTORE_LOCATION}</value>
  </property>
  ```
+ **Pig jobs running on Tez** – In clusters with SSL enabled running EMR version 6.9.0 to 7.0.0, there is a known issue where Pig jobs running on Tez fail with *SSLHandshakeException*. This is related to the open-source issue [TEZ-4096](https://issues.apache.org/jira/browse/TEZ-4096), which was introduced with the Tez upgrade to version 0.10.2 in EMR 6.9.0. The issue requires SSL-related configurations to be passed from the client side (Pig).

  **Fix version:** – EMR 7.1.0

  **Workaround** – Add the following SSL configuration to tez-site.xml:

  ```
  <property>
      <name>ssl.client.truststore.location</name>
      <value>{SSL_TRUSTSTORE_LOCATION}</value>
  </property>
  ```

# Amazon EMR 6.8.0 - Tez release notes
6.8.0 release notes

## Amazon EMR 6.8.0 - Tez changes
Tez changes


| Type | Description | 
| --- | --- | 
| Backport | [TEZ-3363](https://issues.apache.org/jira/browse/TEZ-3363): Delete intermediate data at the vertex level for Shuffle Handler | 
| Backport | [TEZ-4129](https://issues.apache.org/jira/browse/TEZ-4129): Delete intermediate attempt data for failed attempts for Shuffle Handler | 
| Backport | [TEZ-4430](https://issues.apache.org/jira/browse/TEZ-4430): Fixed tez.task.launch.cmd-opts property not working | 

# Amazon EMR 6.7.0 - Tez release notes
6.7.0 release notes

## Amazon EMR 6.7.0 - Tez changes
Tez changes


| Type | Description | 
| --- | --- | 
| Backport | [TEZ-4403](https://issues.apache.org/jira/browse/TEZ-4403): Upgrade SLF4J version to 1.7.36 | 
| Backport | [TEZ-4405](https://issues.apache.org/jira/browse/TEZ-4405): Replace log4j 1.x with reload4j | 
| Backport | [TEZ-4411](https://issues.apache.org/jira/browse/TEZ-4411): Tez Build Failure: FileSaver.js not found | 

# Amazon EMR 6.6.0 - Tez release notes
6.6.0 release notes

## Amazon EMR 6.6.0 - Tez changes
Tez changes


| Type | Description | 
| --- | --- | 
| Backport | [TEZ-3918](https://issues.apache.org/jira/browse/TEZ-3918): Fixed tez.task.log.level property not working. | 
| Backport | [TEZ-4353](https://issues.apache.org/jira/browse/TEZ-4353): Update commons-io to 2.8.0. | 
| Backport | [TEZ-4114](https://issues.apache.org/jira/browse/TEZ-4114): Remove direct jetty dependency from tez. | 
| Backport | [TEZ-4323](https://issues.apache.org/jira/browse/TEZ-4323): Jetty jars were removed from dist package with TEZ-4114. | 