Skip to content

Commit

Permalink
Rename prismhive -> prism
Browse files Browse the repository at this point in the history
  • Loading branch information
erichwang committed Feb 16, 2013
1 parent 822a613 commit 7c9a619
Show file tree
Hide file tree
Showing 17 changed files with 48 additions and 48 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Expand Up @@ -47,7 +47,7 @@
<module>presto-hive</module>
<module>presto-main</module>
<module>presto-jdbc</module>
<module>presto-prismhive</module>
<module>presto-prism</module>
</modules>

<build>
Expand Down
2 changes: 1 addition & 1 deletion presto-main/pom.xml
Expand Up @@ -49,7 +49,7 @@

<dependency>
<groupId>com.facebook.presto</groupId>
<artifactId>presto-prismhive</artifactId>
<artifactId>presto-prism</artifactId>
<version>0.2-SNAPSHOT</version>
</dependency>

Expand Down
4 changes: 2 additions & 2 deletions presto-main/src/main/java/com/facebook/presto/cli/Server.java
Expand Up @@ -3,7 +3,7 @@
import com.facebook.presto.event.scribe.client.ScribeClientModule;
import com.facebook.presto.event.scribe.payload.ScribeEventModule;
import com.facebook.presto.hive.HiveClientModule;
import com.facebook.presto.hive.PrismHiveClientModule;
import com.facebook.presto.hive.PrismClientModule;
import com.facebook.presto.server.ServerMainModule;
import com.facebook.swift.codec.guice.ThriftCodecModule;
import com.facebook.swift.service.guice.ThriftClientModule;
Expand Down Expand Up @@ -50,7 +50,7 @@ public void run()
new ScribeClientModule(),
new ScribeEventModule(),
new HiveClientModule(),
new PrismHiveClientModule(),
new PrismClientModule(),
new SmcClientModule(),
new ServerMainModule());

Expand Down
6 changes: 3 additions & 3 deletions presto-prismhive/pom.xml → presto-prism/pom.xml
Expand Up @@ -2,10 +2,10 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.facebook.presto</groupId>
<artifactId>presto-prismhive</artifactId>
<artifactId>presto-prism</artifactId>
<version>0.2-SNAPSHOT</version>
<name>presto-prismhive</name>
<description>Presto - Prism-Hive Connector</description>
<name>presto-prism</name>
<description>Presto - Prism Connector</description>

<parent>
<groupId>io.airlift</groupId>
Expand Down
Expand Up @@ -7,7 +7,7 @@
import com.facebook.presto.spi.PartitionInfo;
import com.facebook.presto.spi.RecordCursor;
import com.facebook.presto.spi.SchemaField;
import com.facebook.prism.namespaceservice.PrismClient;
import com.facebook.prism.namespaceservice.PrismServiceClient;
import com.facebook.prism.namespaceservice.PrismNamespace;
import com.facebook.prism.namespaceservice.PrismNamespaceNotFound;
import com.facebook.prism.namespaceservice.PrismRepositoryError;
Expand Down Expand Up @@ -36,19 +36,19 @@
import static java.lang.String.format;

@ThreadSafe
public class PrismHiveClient
public class PrismClient
implements ImportClient
{
private final PrismClientProvider prismClientProvider;
private final PrismServiceClientProvider prismServiceClientProvider;
private final SmcLookup smcLookup;
private final HiveClientFactory hiveClientFactory;
private final HiveMetastoreClientFactory metastoreClientFactory;
private final HiveChunkEncoder hiveChunkEncoder;
private final Cache<String, HiveNamespace> namespaceCache;

public PrismHiveClient(PrismClientProvider prismClientProvider, SmcLookup smcLookup, HiveClientFactory hiveClientFactory, HiveMetastoreClientFactory metastoreClientFactory, HiveChunkEncoder hiveChunkEncoder, Duration cacheDuration)
public PrismClient(PrismServiceClientProvider prismServiceClientProvider, SmcLookup smcLookup, HiveClientFactory hiveClientFactory, HiveMetastoreClientFactory metastoreClientFactory, HiveChunkEncoder hiveChunkEncoder, Duration cacheDuration)
{
this.prismClientProvider = checkNotNull(prismClientProvider, "prismClientProvider is null");
this.prismServiceClientProvider = checkNotNull(prismServiceClientProvider, "prismServiceClientProvider is null");
this.smcLookup = checkNotNull(smcLookup, "smcLookup is null");
this.hiveClientFactory = checkNotNull(hiveClientFactory, "hiveClientFactory is null");
this.metastoreClientFactory = checkNotNull(metastoreClientFactory, "metastoreClientFactory is null");
Expand All @@ -70,8 +70,8 @@ public void flushCache()
private HiveNamespace readNamespaceData(String namespace)
throws ObjectNotFoundException
{
try (PrismClient prismClient = prismClientProvider.get()) {
PrismNamespace prismNamespace = prismClient.getNamespace(namespace);
try (PrismServiceClient prismServiceClient = prismServiceClientProvider.get()) {
PrismNamespace prismNamespace = prismServiceClient.getNamespace(namespace);
List<HostAndPort> services = smcLookup.getServices(prismNamespace.getHiveMetastore());

if (services.isEmpty()) {
Expand Down Expand Up @@ -114,8 +114,8 @@ public HiveNamespace call()
public List<String> getDatabaseNames()
{
// TODO: cache this?
try (PrismClient prismClient = prismClientProvider.get()) {
return prismClient.getAllNamespaceNames();
try (PrismServiceClient prismServiceClient = prismServiceClientProvider.get()) {
return prismServiceClient.getAllNamespaceNames();
}
catch (PrismRepositoryError prismRepositoryError) {
throw Throwables.propagate(prismRepositoryError);
Expand Down
@@ -1,7 +1,7 @@
package com.facebook.presto.hive;

import com.facebook.presto.spi.ImportClientFactory;
import com.facebook.prism.namespaceservice.PrismClient;
import com.facebook.prism.namespaceservice.PrismServiceClient;
import com.google.inject.Binder;
import com.google.inject.Module;
import com.google.inject.Scopes;
Expand All @@ -10,17 +10,17 @@
import static com.google.inject.multibindings.Multibinder.newSetBinder;
import static io.airlift.configuration.ConfigurationModule.bindConfig;

public class PrismHiveClientModule
public class PrismClientModule
implements Module
{
@Override
public void configure(Binder binder)
{
bindConfig(binder).to(PrismHiveConfig.class);
thriftClientBinder(binder).bindThriftClient(PrismClient.class);
binder.bind(PrismClientProvider.class).in(Scopes.SINGLETON);
bindConfig(binder).to(PrismConfig.class);
thriftClientBinder(binder).bindThriftClient(PrismServiceClient.class);
binder.bind(PrismServiceClientProvider.class).in(Scopes.SINGLETON);
binder.bind(SmcLookup.class).in(Scopes.SINGLETON);
binder.bind(PrismHiveImportClientFactory.class).in(Scopes.SINGLETON);
newSetBinder(binder, ImportClientFactory.class).addBinding().to(PrismHiveImportClientFactory.class);
binder.bind(PrismImportClientFactory.class).in(Scopes.SINGLETON);
newSetBinder(binder, ImportClientFactory.class).addBinding().to(PrismImportClientFactory.class);
}
}
Expand Up @@ -6,7 +6,7 @@
import javax.validation.constraints.NotNull;
import java.util.concurrent.TimeUnit;

public class PrismHiveConfig
public class PrismConfig
{
private Duration cacheTtl = new Duration(1, TimeUnit.HOURS);
private String prismSmcTier = "prism.nssr";
Expand All @@ -18,7 +18,7 @@ public Duration getCacheTtl()
}

@Config("prism.cache-ttl")
public PrismHiveConfig setCacheTtl(Duration cacheTtl)
public PrismConfig setCacheTtl(Duration cacheTtl)
{
this.cacheTtl = cacheTtl;
return this;
Expand All @@ -31,7 +31,7 @@ public String getPrismSmcTier()
}

@Config("prism.smc-tier")
public PrismHiveConfig setPrismSmcTier(String prismSmcTier)
public PrismConfig setPrismSmcTier(String prismSmcTier)
{
this.prismSmcTier = prismSmcTier;
return this;
Expand Down
Expand Up @@ -9,28 +9,28 @@
import static com.google.common.base.Preconditions.checkNotNull;

@ThreadSafe
public class PrismHiveImportClientFactory
public class PrismImportClientFactory
implements ImportClientFactory
{
private static final String SOURCE_NAME = "prism";

private final PrismHiveClient prismHiveClient;
private final PrismClient prismClient;

@Inject
public PrismHiveImportClientFactory(
PrismClientProvider prismClientProvider,
public PrismImportClientFactory(
PrismServiceClientProvider prismServiceClientProvider,
SmcLookup smcLookup,
HiveClientFactory hiveClientFactory,
HiveMetastoreClientFactory metastoreClientFactory,
HiveChunkEncoder hiveChunkEncoder,
PrismHiveConfig config)
PrismConfig config)
{
checkNotNull(prismClientProvider, "prismClientProvider is null");
checkNotNull(prismServiceClientProvider, "prismServiceClientProvider is null");
checkNotNull(smcLookup, "smcLookup is null");
checkNotNull(hiveClientFactory, "hiveClientFactory is null");
checkNotNull(hiveChunkEncoder, "hiveChunkEncoder is null");

prismHiveClient = new PrismHiveClient(prismClientProvider, smcLookup, hiveClientFactory, metastoreClientFactory, hiveChunkEncoder, config.getCacheTtl());
prismClient = new PrismClient(prismServiceClientProvider, smcLookup, hiveClientFactory, metastoreClientFactory, hiveChunkEncoder, config.getCacheTtl());
}

@Override
Expand All @@ -41,6 +41,6 @@ public ImportClient createClient(String sourceName)
}

// Only single instance needed
return prismHiveClient;
return prismClient;
}
}
@@ -1,7 +1,7 @@
package com.facebook.presto.hive;

import com.facebook.nifty.client.UnframedClientConnector;
import com.facebook.prism.namespaceservice.PrismClient;
import com.facebook.prism.namespaceservice.PrismServiceClient;
import com.facebook.swift.service.ThriftClient;
import com.google.common.collect.Lists;
import com.google.common.net.HostAndPort;
Expand All @@ -16,24 +16,24 @@
import static java.lang.String.format;

@ThreadSafe
public class PrismClientProvider
public class PrismServiceClientProvider
{
private final ThriftClient<PrismClient> thriftClient;
private final ThriftClient<PrismServiceClient> thriftClient;
private final SmcLookup smcLookup;
private final String prismSmcTier;

@Inject
public PrismClientProvider(
ThriftClient<PrismClient> thriftClient,
public PrismServiceClientProvider(
ThriftClient<PrismServiceClient> thriftClient,
SmcLookup smcLookup,
PrismHiveConfig config)
PrismConfig config)
{
this.thriftClient = checkNotNull(thriftClient, "thriftClient is null");
this.smcLookup = checkNotNull(smcLookup, "smcLookup is null");
prismSmcTier = checkNotNull(config, "config is null").getPrismSmcTier();
}

public PrismClient get()
public PrismServiceClient get()
{
List<HostAndPort> services = smcLookup.getServices(prismSmcTier);
if (services.isEmpty()) {
Expand Down
Expand Up @@ -8,7 +8,7 @@
import java.util.List;

@ThriftService("prism")
public interface PrismClient
public interface PrismServiceClient
extends Closeable
{
@ThriftMethod
Expand Down
Expand Up @@ -8,12 +8,12 @@
import java.util.Map;
import java.util.concurrent.TimeUnit;

public class TestPrismHiveConfig
public class TestPrismConfig
{
@Test
public void testDefaults()
{
ConfigAssertions.assertRecordedDefaults(ConfigAssertions.recordDefaults(PrismHiveConfig.class)
ConfigAssertions.assertRecordedDefaults(ConfigAssertions.recordDefaults(PrismConfig.class)
.setCacheTtl(new Duration(1, TimeUnit.HOURS))
.setPrismSmcTier("prism.nssr"));
}
Expand All @@ -26,7 +26,7 @@ public void testExplicitPropertyMappings()
.put("prism.smc-tier", "newtier")
.build();

PrismHiveConfig expected = new PrismHiveConfig()
PrismConfig expected = new PrismConfig()
.setCacheTtl(new Duration(1, TimeUnit.SECONDS))
.setPrismSmcTier("newtier");

Expand Down
Expand Up @@ -13,9 +13,9 @@ public void testPrismLocatedHiveCluster()
{
HiveMetastoreClientFactory factory = new HiveMetastoreClientFactory(new HiveClientConfig());
ImmutableList<HostAndPort> localhost = ImmutableList.of(HostAndPort.fromParts("localhost", 1111));
PrismHiveClient.PrismLocatedHiveCluster cluster1a = new PrismHiveClient.PrismLocatedHiveCluster("metastore1", localhost, factory);
PrismHiveClient.PrismLocatedHiveCluster cluster1b = new PrismHiveClient.PrismLocatedHiveCluster("metastore1", localhost, factory);
PrismHiveClient.PrismLocatedHiveCluster cluster2 = new PrismHiveClient.PrismLocatedHiveCluster("metastore2", localhost, factory);
PrismClient.PrismLocatedHiveCluster cluster1a = new PrismClient.PrismLocatedHiveCluster("metastore1", localhost, factory);
PrismClient.PrismLocatedHiveCluster cluster1b = new PrismClient.PrismLocatedHiveCluster("metastore1", localhost, factory);
PrismClient.PrismLocatedHiveCluster cluster2 = new PrismClient.PrismLocatedHiveCluster("metastore2", localhost, factory);

// Metastore name should be used to determine uniqueness
Assert.assertEquals(cluster1a, cluster1b);
Expand Down

0 comments on commit 7c9a619

Please sign in to comment.