You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After upgrading our Amazon EMR cluster from version 7.2.0 to 7.3.0 (release notes), and Apache Hudi from 0.14.1 to 0.15.0 within the EMR bundle (release notes), we noticed that Hudi metrics stopped reporting to CloudWatch. The error observed is as follows:
ERROR ScheduledReporter: Exception thrown from CloudWatchReporter#report. Exception was suppressed.
java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
at org.apache.hudi.aws.cloudwatch.CloudWatchReporter.stageMetricDatum(CloudWatchReporter.java:281) ~[hudi-aws-bundle-0.15.0-amzn-0.jar:0.15.0-amzn-0]
at org.apache.hudi.aws.cloudwatch.CloudWatchReporter.lambda$processGauge$2(CloudWatchReporter.java:250) ~[hudi-aws-bundle-0.15.0-amzn-0.jar:0.15.0-amzn-0]
at java.util.Optional.ifPresent(Optional.java:178) ~[?:?]
at org.apache.hudi.aws.cloudwatch.CloudWatchReporter.processGauge(CloudWatchReporter.java:250) ~[hudi-aws-bundle-0.15.0-amzn-0.jar:0.15.0-amzn-0]
at org.apache.hudi.aws.cloudwatch.CloudWatchReporter.report(CloudWatchReporter.java:189) ~[hudi-aws-bundle-0.15.0-amzn-0.jar:0.15.0-amzn-0]
at org.apache.hudi.com.codahale.metrics.ScheduledReporter.report(ScheduledReporter.java:237) ~[hudi-spark3-bundle_2.12-0.15.0-amzn-0.jar:0.15.0-amzn-0]
at org.apache.hudi.com.codahale.metrics.ScheduledReporter.lambda$start$0(ScheduledReporter.java:177) ~[hudi-spark3-bundle_2.12-0.15.0-amzn-0.jar:0.15.0-amzn-0]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) [?:?]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
at java.lang.Thread.run(Thread.java:840) [?:?]
Environment Description
Amazon EMR Version: 7.3.0
Hudi Version: 0.15.0
Spark Version: 3.5.1
Previous EMR Version (working): 7.2.0 with Hudi 0.14.1
AWS CloudWatch Setup: Default settings for Hudi metrics reporting
Steps to Reproduce
Upgrade an Amazon EMR cluster from version 7.2.0 to 7.3.0.
Enable Hudi metrics reporting to CloudWatch for the MOR table.
Write to the MOR table and monitor Hudi CloudWatchReporter reporting errors.
Observed Behavior
After the upgrade, Hudi stopped sending metrics to CloudWatch. The ArrayIndexOutOfBoundsException exception is thrown in the CloudWatchReporter.stageMetricDatum function during each reporting interval.
Expected Behavior
Metrics should be reported to CloudWatch without errors.
Additional Context
This error suggests an issue with how the CloudWatchReporter processes or formats metrics data for CloudWatch, potentially related to an array handling bug in the stageMetricDatum method. This issue only appeared after upgrading to Hudi 0.15.0, included in EMR 7.3.0.
Could you confirm if this is a known issue or if there is a workaround? Any insight or suggested fixes would be appreciated.
24/11/19 10:05:16 ERROR ScheduledReporter: Exception thrown from CloudWatchReporter#report. Exception was suppressed.
java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
at org.apache.hudi.aws.cloudwatch.CloudWatchReporter.stageMetricDatum(CloudWatchReporter.java:281) ~[hudi-aws-bundle-0.15.0.jar:0.15.0]
at org.apache.hudi.aws.cloudwatch.CloudWatchReporter.lambda$processGauge$2(CloudWatchReporter.java:250) ~[hudi-aws-bundle-0.15.0.jar:0.15.0]
at java.util.Optional.ifPresent(Optional.java:178) ~[?:?]
at org.apache.hudi.aws.cloudwatch.CloudWatchReporter.processGauge(CloudWatchReporter.java:250) ~[hudi-aws-bundle-0.15.0.jar:0.15.0]
at org.apache.hudi.aws.cloudwatch.CloudWatchReporter.report(CloudWatchReporter.java:189) ~[hudi-aws-bundle-0.15.0.jar:0.15.0]
at org.apache.hudi.com.codahale.metrics.ScheduledReporter.report(ScheduledReporter.java:237) ~[hudi-aws-bundle-0.15.0.jar:0.15.0]
at org.apache.hudi.com.codahale.metrics.ScheduledReporter.lambda$start$0(ScheduledReporter.java:177) ~[hudi-aws-bundle-0.15.0.jar:0.15.0]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) [?:?]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
at java.lang.Thread.run(Thread.java:840) [?:?]
Description
After upgrading our Amazon EMR cluster from version
7.2.0
to7.3.0
(release notes), and Apache Hudi from0.14.1
to0.15.0
within the EMR bundle (release notes), we noticed that Hudi metrics stopped reporting to CloudWatch. The error observed is as follows:Environment Description
Steps to Reproduce
Observed Behavior
After the upgrade, Hudi stopped sending metrics to CloudWatch. The
ArrayIndexOutOfBoundsException
exception is thrown in theCloudWatchReporter.stageMetricDatum
function during each reporting interval.Expected Behavior
Metrics should be reported to CloudWatch without errors.
Additional Context
This error suggests an issue with how the
CloudWatchReporter
processes or formats metrics data for CloudWatch, potentially related to an array handling bug in thestageMetricDatum
method. This issue only appeared after upgrading to Hudi0.15.0
, included in EMR7.3.0
.Could you confirm if this is a known issue or if there is a workaround? Any insight or suggested fixes would be appreciated.
Full Hudi config for insert:
The text was updated successfully, but these errors were encountered: