Increasing Resource for Red Hat Migration Toolkit for Applications

I am currently working on a project that involves migrating a legacy Java web application from Java 8 to Java 21. Fortunately, Red Hat offers a specialized tool for this exact use case: the Red Hat Migration Toolkit for Applications (MTA). It can be installed as a CLI on a VM or as an Operator on OpenShift.

For this specific project, I am leveraging Red Hat MTA on OpenShift via the Operator. While it works seamlessly for most scenarios, I encountered an interesting issue where the analysis process would hang and eventually throw an error.

The root cause is that MTA “Tackle” tasks have default resource limits. These limits can prevent the tool from processing large .WAR files efficiently. When the file is too large for the allocated overhead, the process simply stalls.

The workaround is straightforward: we can increase the MTA resource limits by modifying the Tackle YAML file. In the example below, I have adjusted the configuration to a 4 CPU limit and an 8 GB RAM limit to provide enough headroom for heavy analysis.

apiVersion: tackle.konveyor.io/v1alpha1
kind: Tackle
metadata:
  name: tackle
  namespace: openshift-mta
spec:
  analyzer_container_requests_cpu: 4
  analyzer_container_requests_memory: 8Gi
  feature_auth_required: 'true'
  provider_java_container_limits_cpu: 4
  provider_java_container_requests_memory: 8Gi
  analyzer_container_limits_memory: 8Gi
  analyzer_container_limits_cpu: 4
  provider_java_container_requests_cpu: 4
  provider_java_container_limits_memory: 8Gi