You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by ja...@apache.org on 2023/02/10 22:08:51 UTC
[pinot] branch master updated: Add PinotHelixResourceManager to MetadataEventNotifier (#10247)
This is an automated email from the ASF dual-hosted git repository.
jackie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pinot.git
The following commit(s) were added to refs/heads/master by this push:
new 53e80fc696 Add PinotHelixResourceManager to MetadataEventNotifier (#10247)
53e80fc696 is described below
commit 53e80fc69688600c0eb0fccff90b6c2865999183
Author: Prachi Khobragade <pk...@linkedin.com>
AuthorDate: Fri Feb 10 14:08:45 2023 -0800
Add PinotHelixResourceManager to MetadataEventNotifier (#10247)
---
.../java/org/apache/pinot/controller/BaseControllerStarter.java | 5 +++--
.../api/events/DefaultMetadataEventNotifierFactory.java | 9 ++++++---
.../controller/api/events/MetadataEventNotifierFactory.java | 9 +++++----
.../helix/core/realtime/PinotLLCRealtimeSegmentManager.java | 3 ++-
4 files changed, 16 insertions(+), 10 deletions(-)
diff --git a/pinot-controller/src/main/java/org/apache/pinot/controller/BaseControllerStarter.java b/pinot-controller/src/main/java/org/apache/pinot/controller/BaseControllerStarter.java
index bc2284032c..6be44b068c 100644
--- a/pinot-controller/src/main/java/org/apache/pinot/controller/BaseControllerStarter.java
+++ b/pinot-controller/src/main/java/org/apache/pinot/controller/BaseControllerStarter.java
@@ -459,7 +459,7 @@ public abstract class BaseControllerStarter implements ServiceStartable {
}
final MetadataEventNotifierFactory metadataEventNotifierFactory =
- MetadataEventNotifierFactory.loadFactory(_config.subset(METADATA_EVENT_NOTIFIER_PREFIX));
+ MetadataEventNotifierFactory.loadFactory(_config.subset(METADATA_EVENT_NOTIFIER_PREFIX), _helixResourceManager);
LOGGER.info("Controller download url base: {}", _config.generateVipUrl());
LOGGER.info("Injecting configuration and resource managers to the API context");
@@ -495,7 +495,8 @@ public abstract class BaseControllerStarter implements ServiceStartable {
LOGGER.info("Starting controller admin application on: {}", ListenerConfigUtil.toString(_listenerConfigs));
_adminApp.start(_listenerConfigs);
- _controllerMetrics.addCallbackGauge("dataDir.exists", () -> new File(_config.getDataDir()).exists() ? 1L : 0L);
+ _controllerMetrics.addCallbackGauge("dataDir.exists",
+ () -> new File(_config.getDataDir()).exists() ? 1L : 0L);
_controllerMetrics.addCallbackGauge("dataDir.fileOpLatencyMs", () -> {
File dataDir = new File(_config.getDataDir());
if (dataDir.exists()) {
diff --git a/pinot-controller/src/main/java/org/apache/pinot/controller/api/events/DefaultMetadataEventNotifierFactory.java b/pinot-controller/src/main/java/org/apache/pinot/controller/api/events/DefaultMetadataEventNotifierFactory.java
index aa148f47ce..b303c8cd23 100644
--- a/pinot-controller/src/main/java/org/apache/pinot/controller/api/events/DefaultMetadataEventNotifierFactory.java
+++ b/pinot-controller/src/main/java/org/apache/pinot/controller/api/events/DefaultMetadataEventNotifierFactory.java
@@ -18,15 +18,18 @@
*/
package org.apache.pinot.controller.api.events;
+import org.apache.pinot.controller.helix.core.PinotHelixResourceManager;
import org.apache.pinot.spi.env.PinotConfiguration;
public class DefaultMetadataEventNotifierFactory extends MetadataEventNotifierFactory {
- public MetadataEventNotifier create() {
- return new DefaultMetadataEventNotifier();
+ @Override
+ public void init(PinotConfiguration configuration, PinotHelixResourceManager pinotHelixResourceManager) {
}
- public void init(PinotConfiguration configuration) {
+ @Override
+ public MetadataEventNotifier create() {
+ return new DefaultMetadataEventNotifier();
}
}
diff --git a/pinot-controller/src/main/java/org/apache/pinot/controller/api/events/MetadataEventNotifierFactory.java b/pinot-controller/src/main/java/org/apache/pinot/controller/api/events/MetadataEventNotifierFactory.java
index 20ffc2a02b..68626f9d2d 100644
--- a/pinot-controller/src/main/java/org/apache/pinot/controller/api/events/MetadataEventNotifierFactory.java
+++ b/pinot-controller/src/main/java/org/apache/pinot/controller/api/events/MetadataEventNotifierFactory.java
@@ -18,6 +18,7 @@
*/
package org.apache.pinot.controller.api.events;
+import org.apache.pinot.controller.helix.core.PinotHelixResourceManager;
import org.apache.pinot.spi.env.PinotConfiguration;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -27,21 +28,21 @@ public abstract class MetadataEventNotifierFactory {
public static final Logger LOGGER = LoggerFactory.getLogger(MetadataEventNotifierFactory.class);
public static final String METADATA_EVENT_CLASS_CONFIG = "factory.class";
- public abstract void init(PinotConfiguration configuration);
+ public abstract void init(PinotConfiguration configuration, PinotHelixResourceManager pinotHelixResourceManager);
public abstract MetadataEventNotifier create();
- public static MetadataEventNotifierFactory loadFactory(PinotConfiguration configuration) {
+ public static MetadataEventNotifierFactory loadFactory(PinotConfiguration configuration, PinotHelixResourceManager
+ helixResourceManager) {
MetadataEventNotifierFactory metadataEventNotifierFactory;
String metadataEventNotifierClassName =
configuration.getProperty(METADATA_EVENT_CLASS_CONFIG, DefaultMetadataEventNotifierFactory.class.getName());
-
try {
LOGGER.info("Instantiating metadata event notifier factory class {}", metadataEventNotifierClassName);
metadataEventNotifierFactory =
(MetadataEventNotifierFactory) Class.forName(metadataEventNotifierClassName).newInstance();
- metadataEventNotifierFactory.init(configuration);
+ metadataEventNotifierFactory.init(configuration, helixResourceManager);
return metadataEventNotifierFactory;
} catch (Exception e) {
throw new RuntimeException(e);
diff --git a/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/PinotLLCRealtimeSegmentManager.java b/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/PinotLLCRealtimeSegmentManager.java
index 861d903d3d..e17dc8d46d 100644
--- a/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/PinotLLCRealtimeSegmentManager.java
+++ b/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/PinotLLCRealtimeSegmentManager.java
@@ -181,7 +181,8 @@ public class PinotLLCRealtimeSegmentManager {
_controllerConf = controllerConf;
_controllerMetrics = controllerMetrics;
_metadataEventNotifierFactory =
- MetadataEventNotifierFactory.loadFactory(controllerConf.subset(METADATA_EVENT_NOTIFIER_PREFIX));
+ MetadataEventNotifierFactory.loadFactory(controllerConf.subset(METADATA_EVENT_NOTIFIER_PREFIX),
+ helixResourceManager);
_numIdealStateUpdateLocks = controllerConf.getRealtimeSegmentMetadataCommitNumLocks();
_idealStateUpdateLocks = new Lock[_numIdealStateUpdateLocks];
for (int i = 0; i < _numIdealStateUpdateLocks; i++) {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org