[HUDI-2213] Remove unnecessary parameter for HoodieMetrics constructor and fix NPE in UT (#3333)
This commit is contained in:
@@ -130,7 +130,7 @@ public abstract class AbstractHoodieWriteClient<T extends HoodieRecordPayload, I
|
||||
public AbstractHoodieWriteClient(HoodieEngineContext context, HoodieWriteConfig writeConfig,
|
||||
Option<EmbeddedTimelineService> timelineService) {
|
||||
super(context, writeConfig, timelineService);
|
||||
this.metrics = new HoodieMetrics(config, config.getTableName());
|
||||
this.metrics = new HoodieMetrics(config);
|
||||
this.index = createIndex(writeConfig);
|
||||
this.txnManager = new TransactionManager(config, fs);
|
||||
}
|
||||
|
||||
@@ -54,9 +54,9 @@ public class HoodieMetrics {
|
||||
private Timer clusteringTimer = null;
|
||||
private Timer indexTimer = null;
|
||||
|
||||
public HoodieMetrics(HoodieWriteConfig config, String tableName) {
|
||||
public HoodieMetrics(HoodieWriteConfig config) {
|
||||
this.config = config;
|
||||
this.tableName = tableName;
|
||||
this.tableName = config.getTableName();
|
||||
if (config.isMetricsOn()) {
|
||||
Metrics.init(config);
|
||||
this.rollbackTimerName = getMetricsName("timer", HoodieTimeline.ROLLBACK_ACTION);
|
||||
|
||||
@@ -53,9 +53,7 @@ public class Metrics {
|
||||
}
|
||||
reporter.start();
|
||||
|
||||
Runtime.getRuntime().addShutdownHook(new Thread(() -> {
|
||||
reportAndCloseReporter();
|
||||
}));
|
||||
Runtime.getRuntime().addShutdownHook(new Thread(this::reportAndCloseReporter));
|
||||
}
|
||||
|
||||
private void reportAndCloseReporter() {
|
||||
|
||||
@@ -41,20 +41,20 @@ public class MetricsReporterFactory {
|
||||
private static final Logger LOG = LogManager.getLogger(MetricsReporterFactory.class);
|
||||
|
||||
public static MetricsReporter createReporter(HoodieWriteConfig config, MetricRegistry registry) {
|
||||
MetricsReporterType type = config.getMetricsReporterType();
|
||||
MetricsReporter reporter = null;
|
||||
String reporterClassName = config.getMetricReporterClassName();
|
||||
|
||||
if (!StringUtils.isNullOrEmpty(config.getMetricReporterClassName())) {
|
||||
Object instance = ReflectionUtils
|
||||
.loadClass(config.getMetricReporterClassName(),
|
||||
new Class<?>[] {Properties.class, MetricRegistry.class}, config.getProps(), registry);
|
||||
if (!StringUtils.isNullOrEmpty(reporterClassName)) {
|
||||
Object instance = ReflectionUtils.loadClass(
|
||||
reporterClassName, new Class<?>[] {Properties.class, MetricRegistry.class}, config.getProps(), registry);
|
||||
if (!(instance instanceof AbstractUserDefinedMetricsReporter)) {
|
||||
throw new HoodieException(config.getMetricReporterClassName()
|
||||
+ " is not a subclass of AbstractUserDefinedMetricsReporter");
|
||||
+ " is not a subclass of AbstractUserDefinedMetricsReporter");
|
||||
}
|
||||
return (MetricsReporter) instance;
|
||||
}
|
||||
|
||||
MetricsReporterType type = config.getMetricsReporterType();
|
||||
MetricsReporter reporter = null;
|
||||
switch (type) {
|
||||
case GRAPHITE:
|
||||
reporter = new MetricsGraphiteReporter(config, registry);
|
||||
|
||||
Reference in New Issue
Block a user