Skip to content

Commit

Permalink
Bind Metastore Cache Invalidation Procedure with Hudi Connector
Browse files Browse the repository at this point in the history
  • Loading branch information
imjalpreet committed Jan 24, 2025
1 parent 748d64a commit 60de8ae
Showing 1 changed file with 11 additions and 3 deletions.
14 changes: 11 additions & 3 deletions presto-hudi/src/main/java/com/facebook/presto/hudi/HudiModule.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
package com.facebook.presto.hudi;

import com.facebook.airlift.bootstrap.LifeCycleManager;
import com.facebook.airlift.configuration.AbstractConfigurationAwareModule;
import com.facebook.presto.cache.CacheConfig;
import com.facebook.presto.cache.CacheFactory;
import com.facebook.presto.cache.CacheStats;
Expand All @@ -39,6 +40,7 @@
import com.facebook.presto.hive.gcs.HiveGcsConfigurationInitializer;
import com.facebook.presto.hive.metastore.HiveMetastoreCacheStats;
import com.facebook.presto.hive.metastore.HivePartitionMutator;
import com.facebook.presto.hive.metastore.InvalidateMetastoreCacheProcedure;
import com.facebook.presto.hive.metastore.MetastoreCacheStats;
import com.facebook.presto.hive.metastore.MetastoreConfig;
import com.facebook.presto.hudi.split.ForHudiBackgroundSplitLoader;
Expand All @@ -53,10 +55,11 @@
import com.facebook.presto.spi.connector.classloader.ClassLoaderSafeConnectorPageSourceProvider;
import com.facebook.presto.spi.connector.classloader.ClassLoaderSafeConnectorSplitManager;
import com.facebook.presto.spi.connector.classloader.ClassLoaderSafeNodePartitioningProvider;
import com.facebook.presto.spi.procedure.Procedure;
import com.google.inject.Binder;
import com.google.inject.Module;
import com.google.inject.Provides;
import com.google.inject.Scopes;
import com.google.inject.multibindings.Multibinder;
import org.weakref.jmx.testing.TestingMBeanServer;

import javax.inject.Singleton;
Expand All @@ -76,7 +79,7 @@
import static org.weakref.jmx.guice.ExportBinder.newExporter;

public class HudiModule
implements Module
extends AbstractConfigurationAwareModule
{
private final ClassLoader classLoader;
private final String connectorId;
Expand All @@ -88,7 +91,7 @@ public HudiModule(ClassLoader classLoader, String connectorId)
}

@Override
public void configure(Binder binder)
protected void setup(Binder binder)
{
configBinder(binder).bindConfig(HiveClientConfig.class);
configBinder(binder).bindConfig(MetastoreConfig.class);
Expand Down Expand Up @@ -127,6 +130,11 @@ public void configure(Binder binder)
binder.bind(HudiSessionProperties.class).in(Scopes.SINGLETON);

binder.bind(ConnectorAccessControl.class).to(AllowAllAccessControl.class).in(Scopes.SINGLETON);

Multibinder<Procedure> procedures = newSetBinder(binder, Procedure.class);
if (buildConfigObject(MetastoreClientConfig.class).isInvalidateMetastoreCacheProcedureEnabled()) {
procedures.addBinding().toProvider(InvalidateMetastoreCacheProcedure.class).in(Scopes.SINGLETON);
}
}

@ForCachingHiveMetastore
Expand Down

0 comments on commit 60de8ae

Please sign in to comment.