Known Limitations

This section consists of known limitations we are aware of, persisting in this release.

Hive

Issue description: Hive Compaction Failure

Hive compaction jobs fail due to a version conflict with the protobuf-java library.

  • This typically occurs during a minor or major compaction operation on ORC-backed Hive tables.
  • This can be resolved by updating MapReduce Classpath.
  • The issue is identified in ODP versions 3.3.6.0-1 and 3.3.6.1-1.
  • The issue will be fixed in ODP version 3.3.6.2-1.

When executing the compaction command, the jobs fail with the following error message in the logs.

Bash
Copy
Error
Copy

This indicates a version mismatch in the protobuf-java library used during MapReduce execution, resulting in a NoSuchMethodError.

Root Cause

The Hive client uses a newer version of the protobuf-java library that includes the getUnmodifiableView() method. However, during compaction, the MapReduce job loads an older version of protobuf-java from the cluster's classpath, which lacks this method, leading to a runtime error.

Workaround

To ensure the correct protobuf-java version is used during MapReduce jobs, you need to explicitly update the MapReduce classpath to include the Hive client’s protobuf-java jar before other entries.

The steps to fix via Ambari are as follows:

Pre-requisites: Ensure that the Tez client is installed on all NodeManagers.

  1. Log into the Ambari UI.
  2. Navigate to MapReduce2ConfigsAdvancedAdvanced mapred-site.
  3. Locate the property mapreduce.application.classpath.
  4. Prepend the following path to the existing value (do not overwrite the current classpath):
Bash
Copy

Also, ensure to confirm if the same version exists on the cluster, if not, use the available version.

The final value must look similar to the following:

Bash
Copy
  1. Save the changes.
  2. Restart the necessary services (typically MapReduce and Hive components) to apply the new configuration.

Verify

Use the following steps to verify the fix.

  1. Re-run the following command.
Bash
Copy
  1. Monitor the YARN application logs for successful completion.
  2. Confirm that the error is no longer present and the compaction completes as expected.

HBase

Issue description: Hbase master fails to start with Ranger-HBase plugin enabled and no Tez client on HBase master.

When the Ranger-Hbase plugin is enabled, the HBase master fails to start due to a NoClassDefFoundError for org.apache.commons.lang.StringUtils.

  • The issue is identified in ODP versions 3.3.6.0-1 and 3.3.6.1-1.
  • The issue will be fixed in ODP version 3.3.6.2-1.
Error
Copy

Workaround:

Depending on the cluster setup, we can proceed with either of the following workarounds.

  1. If the cluster includes Tez components, ensure the Tez client is installed on the HBase Master host.
  2. Execute the following command on the HBase Master host to add the required JAR file, this resolves the HBase Master startup issue.
Bash
Copy
Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard
  Last updated