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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]