diff --git a/hudi-aws/src/main/java/org/apache/hudi/aws/cloudwatch/CloudWatchReporter.java b/hudi-aws/src/main/java/org/apache/hudi/aws/cloudwatch/CloudWatchReporter.java
index e4bc598ce..b208ec922 100644
--- a/hudi-aws/src/main/java/org/apache/hudi/aws/cloudwatch/CloudWatchReporter.java
+++ b/hudi-aws/src/main/java/org/apache/hudi/aws/cloudwatch/CloudWatchReporter.java
@@ -74,7 +74,7 @@ public class CloudWatchReporter extends ScheduledReporter {
}
public static class Builder {
- private MetricRegistry registry;
+ private final MetricRegistry registry;
private Clock clock;
private String prefix;
private TimeUnit rateUnit;
diff --git a/hudi-client/hudi-client-common/pom.xml b/hudi-client/hudi-client-common/pom.xml
index a348a6392..ddfd4a2fd 100644
--- a/hudi-client/hudi-client-common/pom.xml
+++ b/hudi-client/hudi-client-common/pom.xml
@@ -40,6 +40,7 @@
org.apache.hudi
hudi-aws
${project.version}
+ provided
org.apache.hudi
diff --git a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/HoodieWriteConfig.java b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/HoodieWriteConfig.java
index dd5c0bfd6..42208a073 100644
--- a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/HoodieWriteConfig.java
+++ b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/HoodieWriteConfig.java
@@ -48,6 +48,7 @@ import org.apache.hudi.common.util.Option;
import org.apache.hudi.common.util.ReflectionUtils;
import org.apache.hudi.common.util.StringUtils;
import org.apache.hudi.common.util.ValidationUtils;
+import org.apache.hudi.config.metrics.HoodieMetricsCloudWatchConfig;
import org.apache.hudi.config.metrics.HoodieMetricsConfig;
import org.apache.hudi.config.metrics.HoodieMetricsDatadogConfig;
import org.apache.hudi.config.metrics.HoodieMetricsGraphiteConfig;
diff --git a/hudi-aws/src/main/java/org/apache/hudi/config/HoodieMetricsCloudWatchConfig.java b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/metrics/HoodieMetricsCloudWatchConfig.java
similarity index 65%
rename from hudi-aws/src/main/java/org/apache/hudi/config/HoodieMetricsCloudWatchConfig.java
rename to hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/metrics/HoodieMetricsCloudWatchConfig.java
index e4e46d5a1..3c4b860e6 100644
--- a/hudi-aws/src/main/java/org/apache/hudi/config/HoodieMetricsCloudWatchConfig.java
+++ b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/metrics/HoodieMetricsCloudWatchConfig.java
@@ -7,16 +7,17 @@
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
*/
-package org.apache.hudi.config;
+package org.apache.hudi.config.metrics;
import org.apache.hudi.common.config.ConfigClassProperty;
import org.apache.hudi.common.config.ConfigGroups;
@@ -36,22 +37,22 @@ public class HoodieMetricsCloudWatchConfig extends HoodieConfig {
public static final String CLOUDWATCH_PREFIX = "hoodie.metrics.cloudwatch";
public static final ConfigProperty REPORT_PERIOD_SECONDS = ConfigProperty
- .key(CLOUDWATCH_PREFIX + ".report.period.seconds")
- .defaultValue(60)
- .sinceVersion("0.10.0")
- .withDocumentation("Reporting interval in seconds");
+ .key(CLOUDWATCH_PREFIX + ".report.period.seconds")
+ .defaultValue(60)
+ .sinceVersion("0.10.0")
+ .withDocumentation("Reporting interval in seconds");
public static final ConfigProperty METRIC_PREFIX = ConfigProperty
- .key(CLOUDWATCH_PREFIX + ".metric.prefix")
- .defaultValue("")
- .sinceVersion("0.10.0")
- .withDocumentation("Metric prefix of reporter");
+ .key(CLOUDWATCH_PREFIX + ".metric.prefix")
+ .defaultValue("")
+ .sinceVersion("0.10.0")
+ .withDocumentation("Metric prefix of reporter");
public static final ConfigProperty METRIC_NAMESPACE = ConfigProperty
- .key(CLOUDWATCH_PREFIX + ".namespace")
- .defaultValue("Hudi")
- .sinceVersion("0.10.0")
- .withDocumentation("Namespace of reporter");
+ .key(CLOUDWATCH_PREFIX + ".namespace")
+ .defaultValue("Hudi")
+ .sinceVersion("0.10.0")
+ .withDocumentation("Namespace of reporter");
/*
Amazon CloudWatch allows a maximum of 20 metrics per request. Choosing this as the default maximum.
Reference: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricData.html
@@ -66,13 +67,13 @@ public class HoodieMetricsCloudWatchConfig extends HoodieConfig {
super();
}
- public static HoodieMetricsCloudWatchConfig.Builder newBuilder() {
- return new HoodieMetricsCloudWatchConfig.Builder();
+ static Builder newBuilder() {
+ return new Builder();
}
- public static class Builder {
+ static class Builder {
- private HoodieMetricsCloudWatchConfig hoodieMetricsCloudWatchConfig = new HoodieMetricsCloudWatchConfig();
+ private final HoodieMetricsCloudWatchConfig hoodieMetricsCloudWatchConfig = new HoodieMetricsCloudWatchConfig();
public HoodieMetricsCloudWatchConfig.Builder fromProperties(Properties props) {
this.hoodieMetricsCloudWatchConfig.getProps().putAll(props);
diff --git a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/metrics/HoodieMetricsConfig.java b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/metrics/HoodieMetricsConfig.java
index 85f98935f..a515eb702 100644
--- a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/metrics/HoodieMetricsConfig.java
+++ b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/metrics/HoodieMetricsConfig.java
@@ -24,7 +24,6 @@ import org.apache.hudi.common.config.ConfigProperty;
import org.apache.hudi.common.config.HoodieConfig;
import org.apache.hudi.common.table.HoodieTableConfig;
import org.apache.hudi.common.util.Option;
-import org.apache.hudi.config.HoodieMetricsCloudWatchConfig;
import org.apache.hudi.metrics.MetricsReporterType;
import javax.annotation.concurrent.Immutable;
diff --git a/hudi-flink-datasource/hudi-flink/pom.xml b/hudi-flink-datasource/hudi-flink/pom.xml
index 97288d19c..04d45358b 100644
--- a/hudi-flink-datasource/hudi-flink/pom.xml
+++ b/hudi-flink-datasource/hudi-flink/pom.xml
@@ -89,6 +89,12 @@
hudi-client-common
${project.version}
+
+ org.apache.hudi
+ hudi-aws
+ ${project.version}
+ provided
+
org.apache.hudi
hudi-flink-client