Skip to content
This repository has been archived by the owner on Jul 11, 2022. It is now read-only.

Commit

Permalink
[BZ 185375] remove dependency on Astyanax libraries
Browse files Browse the repository at this point in the history
  • Loading branch information
John Sanda authored and Simeon Pinder committed Mar 6, 2015
1 parent b3747ad commit 0965f75
Show file tree
Hide file tree
Showing 5 changed files with 0 additions and 274 deletions.
87 changes: 0 additions & 87 deletions modules/common/cassandra-schema/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -39,16 +39,6 @@
<groupId>com.datastax.cassandra</groupId>
<artifactId>cassandra-driver-core</artifactId>
<version>${cassandra.driver.version}</version>
<exclusions>
<exclusion>
<groupId>org.apache.cassandra</groupId>
<artifactId>cassandra-all</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.cassandra</groupId>
<artifactId>cassandra-thrift</artifactId>
</exclusion>
</exclusions>
</dependency>

<dependency>
Expand Down Expand Up @@ -81,63 +71,6 @@
<artifactId>postgresql</artifactId>
<scope>test</scope>
</dependency>

<dependency>
<groupId>com.netflix.astyanax</groupId>
<artifactId>astyanax-core</artifactId>
<version>${astyanax.version}</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>org.xerial.snappy</groupId>
<artifactId>snappy-java</artifactId>
</exclusion>
</exclusions>
</dependency>

<dependency>
<groupId>com.netflix.astyanax</groupId>
<artifactId>astyanax-thrift</artifactId>
<version>${astyanax.version}</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>com.netflix.astyanax</groupId>
<artifactId>astyanax-recipes</artifactId>
<version>${astyanax.version}</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>org.xerial.snappy</groupId>
<artifactId>snappy-java</artifactId>
</exclusion>
</exclusions>
</dependency>

<!--
These cassandra dependencies are needed by astyanax
-->
<dependency>
<groupId>org.apache.cassandra</groupId>
<artifactId>cassandra-thrift</artifactId>
<version>1.2.11</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>org.apache.thrift</groupId>
<artifactId>libthrift</artifactId>
<version>0.7.0</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.5</version>
<scope>provided</scope>
</dependency>
</dependencies>

<build>
Expand Down Expand Up @@ -182,26 +115,6 @@
</systemProperties>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>org.rhq.cassandra.schema.MigrateMetrics</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,9 @@

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.text.ParseException;
import java.util.HashSet;
import java.util.List;
import java.util.Properties;
import java.util.Set;
import java.util.concurrent.ConcurrentSkipListSet;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
Expand All @@ -22,28 +15,14 @@
import com.datastax.driver.core.ResultSet;
import com.datastax.driver.core.ResultSetFuture;
import com.datastax.driver.core.Session;
import com.google.common.base.Function;
import com.google.common.base.Stopwatch;
import com.google.common.io.LineReader;
import com.google.common.util.concurrent.AsyncFunction;
import com.google.common.util.concurrent.FutureCallback;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.ListeningExecutorService;
import com.google.common.util.concurrent.MoreExecutors;
import com.google.common.util.concurrent.RateLimiter;
import com.netflix.astyanax.AstyanaxContext;
import com.netflix.astyanax.Keyspace;
import com.netflix.astyanax.connectionpool.NodeDiscoveryType;
import com.netflix.astyanax.connectionpool.impl.ConnectionPoolConfigurationImpl;
import com.netflix.astyanax.connectionpool.impl.SimpleAuthenticationCredentials;
import com.netflix.astyanax.connectionpool.impl.Slf4jConnectionPoolMonitorImpl;
import com.netflix.astyanax.impl.AstyanaxConfigurationImpl;
import com.netflix.astyanax.model.ColumnFamily;
import com.netflix.astyanax.model.Composite;
import com.netflix.astyanax.model.Row;
import com.netflix.astyanax.recipes.reader.AllRowsReader;
import com.netflix.astyanax.thrift.ThriftFamilyFactory;
import com.yammer.metrics.core.Meter;
import com.yammer.metrics.core.MetricsRegistry;

Expand Down Expand Up @@ -175,22 +154,6 @@ public void execute() {
log.info("There are " + scheduleIdsWith24HourData.size() + " schedule ids with " +
Bucket.TWENTY_FOUR_HOUR + " data");

// AstyanaxContext<Keyspace> context = createContext();
// context.start();
// Keyspace keyspace = context.getClient();
//
// Set<Integer> scheduleIdsWith1HourData = loadScheduleIds(keyspace, ColumnFamily.newColumnFamily(
// "one_hour_metrics", IntegerSerializer.get(), CompositeSerializer.get()), Bucket.ONE_HOUR);
// Set<Integer> scheduleIdsWith6HourData = loadScheduleIds(keyspace, ColumnFamily.newColumnFamily(
// "six_hour_metrics", IntegerSerializer.get(), CompositeSerializer.get()), Bucket.SIX_HOUR);
// Set<Integer> scheduleIdsWith24HourData = loadScheduleIds(keyspace, ColumnFamily.newColumnFamily(
// "twenty_four_hour_metrics", IntegerSerializer.get(), CompositeSerializer.get()),
// Bucket.TWENTY_FOUR_HOUR);

// Stopwatch contextStopWatch = Stopwatch.createStarted();
// context.shutdown();
// contextStopWatch.stop();

writePermitsRef.set(RateLimiter.create(getWriteLimit(getNumberOfUpNodes()), DEFAULT_WARM_UP,
TimeUnit.SECONDS));
readPermitsRef.set(RateLimiter.create(getReadLimit(getNumberOfUpNodes()), DEFAULT_WARM_UP,
Expand Down Expand Up @@ -247,22 +210,6 @@ public void execute() {
}
}

private AstyanaxContext<Keyspace> createContext() {
return new AstyanaxContext.Builder()
.forCluster("rhq")
.forKeyspace("rhq")
.withAstyanaxConfiguration(new AstyanaxConfigurationImpl()
.setDiscoveryType(NodeDiscoveryType.RING_DESCRIBE))
.withConnectionPoolConfiguration(new ConnectionPoolConfigurationImpl("astyanax_connection_pool")
.setPort(9160)
.setSeeds(System.getProperty("rhq.storage.nodes"))
.setMaxConnsPerHost(5)
.setConnectTimeout(10000)
.setAuthenticationCredentials(new SimpleAuthenticationCredentials("rhqadmin", "rhqadmin")))
.withConnectionPoolMonitor(new Slf4jConnectionPoolMonitorImpl())
.buildKeyspace(ThriftFamilyFactory.getInstance());
}

private double getWriteLimit(int numNodes) {
int baseLimit = Integer.parseInt(System.getProperty("rhq.storage.request.write-limit", "10000"));
double increase = baseLimit * RATE_INCREASE_PER_NODE;
Expand Down Expand Up @@ -294,59 +241,6 @@ private void shutdown() {
}
}

private Set<Integer> loadScheduleIds() {
NumberFormat formatter = new DecimalFormat("\"#,#\"");
Set<Integer> scheduleIds = new HashSet<Integer>();
InputStream stream = getClass().getResourceAsStream("/schedule_ids");
LineReader reader = new LineReader(new InputStreamReader(stream));

try {
String line = reader.readLine();
while (line != null) {
scheduleIds.add(formatter.parse(line).intValue());
line = reader.readLine();
}
return scheduleIds;
} catch (IOException e) {
throw new RuntimeException("Failed to load schedule ids");
} catch (ParseException e) {
throw new RuntimeException("Failed to load schedule ids");
}
}

private Set<Integer> loadScheduleIds(Keyspace keyspace, ColumnFamily<Integer, Composite> table, Bucket bucket) {
Stopwatch stopwatch = Stopwatch.createStarted();
final Set<Integer> scheduleIds = new ConcurrentSkipListSet<Integer>();
try {
log.info("Scanning for schedule ids with " + bucket + " data");
int concurrencyLevel = Integer.parseInt(System.getProperty("astyanax.concurrency-level", "4"));
new AllRowsReader.Builder<Integer, Composite>(keyspace, table)
.withColumnRange(null, null, false, 0)
.withPartitioner(null) // this will use keyspace's partitioner
.withConcurrencyLevel(concurrencyLevel)
.forEachRow(new Function<Row<Integer, Composite>, Boolean>() {
@Override
public Boolean apply(Row<Integer, Composite> row) {
boolean added = scheduleIds.add(row.getKey());
if (!added) {
log.info("schedule id " + row.getKey() + " has already been loaded");
}
return true;
}
})
.build()
.call();
return scheduleIds;
} catch (Exception e) {
throw new RuntimeException("There was an unexpected error scanning scanning for schedule ids with " +
bucket + " data. The migration will have to be rerun.", e);
} finally {
stopwatch.stop();
log.info("Found " + scheduleIds.size() + " schedule ids with " + bucket + " data in " +
stopwatch.elapsed(TimeUnit.MILLISECONDS) + " ms");
}
}

private void migrate1HourData(Set<Integer> scheduleIds) throws IOException {
DateTime endTime = DateUtils.get1HourTimeSlice(DateTime.now());
DateTime startTime = endTime.minus(Days.days(14));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -350,85 +350,6 @@
<module name="javax.api"/>
</dependencies>
</module>
]]></echo>

<echo>Adding Astyanax modules to ${jboss.home}/modules</echo>
<copy file="${settings.localRepository}/com/netflix/astyanax/astyanax-core/${astyanax.version}/astyanax-core-${astyanax.version}.jar"
toDir="${jboss.modules.dir}/com/netflix/astyanax/astyanax-core/main" verbose="true"/>
<copy file="${settings.localRepository}/com/netflix/astyanax/astyanax-cassandra/${astyanax.version}/astyanax-cassandra-${astyanax.version}.jar"
toDir="${jboss.modules.dir}/com/netflix/astyanax/astyanax-core/main" verbose="true"/>
<copy file="${settings.localRepository}/com/google/guava/guava/14.0.1/guava-14.0.1.jar"
toDir="${jboss.modules.dir}/com/netflix/astyanax/astyanax-core/main" verbose="true"/>
<copy file="${settings.localRepository}/commons-codec/commons-codec/1.5/commons-codec-1.5.jar"
toDir="${jboss.modules.dir}/com/netflix/astyanax/astyanax-core/main" verbose="true"/>
<copy file="${settings.localRepository}/com/eaio/uuid/uuid/3.2/uuid-3.2.jar"
toDir="${jboss.modules.dir}/com/netflix/astyanax/astyanax-core/main" verbose="true"/>
<copy file="${settings.localRepository}/com/github/stephenc/high-scale-lib/high-scale-lib/1.1.2/high-scale-lib-1.1.2.jar"
toDir="${jboss.modules.dir}/com/netflix/astyanax/astyanax-core/main" verbose="true"/>
<copy file="${settings.localRepository}/org/xerial/snappy/snappy-java/${cassandra.snappy.version}/snappy-java-${cassandra.snappy.version}.jar"
toDir="${jboss.modules.dir}/com/netflix/astyanax/astyanax-core/main" verbose="true"/>
<copy file="${settings.localRepository}/org/apache/cassandra/cassandra-all/1.2.11/cassandra-all-1.2.11.jar"
toDir="${jboss.modules.dir}/com/netflix/astyanax/astyanax-core/main" verbose="true"/>
<copy file="${settings.localRepository}/org/apache/cassandra/cassandra-thrift/1.2.11/cassandra-thrift-1.2.11.jar"
toDir="${jboss.modules.dir}/com/netflix/astyanax/astyanax-core/main" verbose="true"/>
<copy file="${settings.localRepository}/org/apache/thrift/libthrift/0.7.0/libthrift-0.7.0.jar"
toDir="${jboss.modules.dir}/com/netflix/astyanax/astyanax-core/main" verbose="true"/>
<echo file="${jboss.modules.dir}/com/netflix/astyanax/astyanax-core/main/module.xml"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="com.netflix.astyanax.astyanax-core">
<resources>
<resource-root path="astyanax-core-${astyanax.version}.jar"/>
<resource-root path="astyanax-cassandra-${astyanax.version}.jar"/>
<resource-root path="guava-14.0.1.jar"/>
<resource-root path="commons-codec-1.5.jar"/>
<resource-root path="uuid-3.2.jar"/>
<resource-root path="high-scale-lib-1.1.2.jar"/>
<resource-root path="snappy-java-${cassandra.snappy.version}.jar"/>
<resource-root path="cassandra-all-1.2.11.jar"/>
<resource-root path="cassandra-thrift-1.2.11.jar"/>
<resource-root path="libthrift-0.7.0.jar"/>
</resources>
<dependencies>
<module name="org.joda.time"/>
<module name="org.codehaus.jackson.jackson-core-asl"/>
<module name="org.codehaus.jackson.jackson-mapper-asl"/>
<module name="org.slf4j"/>
<module name="org.apache.commons.lang"/>
<module name="sun.jdk"/>
<module name="javax.api"/>
</dependencies>
</module>
]]></echo>

<copy file="${settings.localRepository}/com/netflix/astyanax/astyanax-thrift/${astyanax.version}/astyanax-thrift-${astyanax.version}.jar"
toDir="${jboss.modules.dir}/com/netflix/astyanax/astyanax-thrift/main" verbose="true"/>
<echo file="${jboss.modules.dir}/com/netflix/astyanax/astyanax-thrift/main/module.xml"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="com.netflix.astyanax.astyanax-thrift">
<resources>
<resource-root path="astyanax-thrift-${astyanax.version}.jar"/>
</resources>
<dependencies>
<module name="com.netflix.astyanax.astyanax-core"/>
<module name="org.slf4j"/>
</dependencies>
</module>
]]></echo>

<copy file="${settings.localRepository}/com/netflix/astyanax/astyanax-recipes/${astyanax.version}/astyanax-recipes-${astyanax.version}.jar"
toDir="${jboss.modules.dir}/com/netflix/astyanax/astyanax-recipes/main" verbose="true"/>
<echo file="${jboss.modules.dir}/com/netflix/astyanax/astyanax-recipes/main/module.xml"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="com.netflix.astyanax.astyanax-recipes">
<resources>
<resource-root path="astyanax-recipes-${astyanax.version}.jar"/>
</resources>
<dependencies>
<module name="com.netflix.astyanax.astyanax-core"/>
<module name="com.netflix.astyanax.astyanax-thrift"/>
<module name="org.slf4j"/>
</dependencies>
</module>
]]></echo>

<echo>Adding Apache Commons Exec module to ${jboss.home}/modules</echo>
Expand Down
1 change: 0 additions & 1 deletion modules/enterprise/server/installer/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,6 @@
<groupId>org.rhq</groupId>
<artifactId>rhq-cassandra-schema</artifactId>
<version>${rhq-cassandra-schema.version}</version>
<scope>provided</scope>
</dependency>

<dependency>
Expand Down
1 change: 0 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,6 @@
<cassandra.snakeyaml.version>1.6</cassandra.snakeyaml.version>
<cassandra.thrift.version>0.7.0</cassandra.thrift.version>
<cassandra.version>1.2.18-jboss-1</cassandra.version>
<astyanax.version>2.0.2</astyanax.version>
<clirr.version>2.6</clirr.version>
<commons-beanutils.version>1.8.2</commons-beanutils.version>
<commons-codec.version>1.4</commons-codec.version>
Expand Down

0 comments on commit 0965f75

Please sign in to comment.