<properties>
<com.codahale.metrics.version>3.0.2</com.codahale.metrics.version>
<io.netty.version>3.9.0.Final</io.netty.version>
+<!--
<guava.old.version>16.0.1</guava.old.version>
- <com.datastax.cassandra.version>2.1.2</com.datastax.cassandra.version>
+-->
+ <com.datastax.cassandra.version>2.2.0-rc3</com.datastax.cassandra.version>
<hbase.version>0.94.15</hbase.version>
<protobuf.version>2.4.1</protobuf.version>
<karaf.shell.command.version>3.0.1</karaf.shell.command.version>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>feature-repo-parent</artifactId>
- <version>1.9.0</version>
+ <version>2.0.4</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>1.9.0</version>
+ <version>2.0.2</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>1.9.0</version>
+ <version>2.0.4</version>
<relativePath/>
</parent>
<!-- <name> formatting is used by autorelease to parse and notify projects on
build failure. Please do not modify this unless you have a good reason. -->
<name>ODL :: tsdr :: Cassandra</name>
+ <properties>
+ <com.datastax.cassandra.version>3.2.0</com.datastax.cassandra.version>
+ <guava.old.version>19.0</guava.old.version>
+ </properties>
+
<dependencyManagement>
<dependencies>
<type>xml</type>
<classifier>config</classifier>
</dependency>
+ <dependency>
+ <groupId>com.datastax.cassandra</groupId>
+ <artifactId>cassandra-driver-core</artifactId>
+ <version>${com.datastax.cassandra.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ <version>${guava.old.version}</version>
+ </dependency>
+
+
</dependencies>
</project>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+ <local-check-config name="maven-checkstyle-plugin check-license" location="jar:file:/home/yulingchen/.m2/repository/org/opendaylight/odlparent/checkstyle/2.0.2/checkstyle-2.0.2.jar!/check-license.xml" type="remote" description="maven-checkstyle-plugin configuration check-license">
+ <property name="checkstyle.cache.file" value="${project_loc}/target/checkstyle-cachefile"/>
+ <property name="checkstyle.suppressions.file" value="/home/yulingchen/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/odl-tsdr-controller-metrics-collector/com.basistech.m2e.code.quality.checkstyleConfigurator/checkstyle-suppressions-check-license.xml"/>
+ <property name="checkstyle.header.file" value="/home/yulingchen/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/odl-tsdr-controller-metrics-collector/com.basistech.m2e.code.quality.checkstyleConfigurator/checkstyle-header-check-license.txt"/>
+ </local-check-config>
+ <local-check-config name="maven-checkstyle-plugin default" location="jar:file:/home/yulingchen/.m2/repository/org/opendaylight/odlparent/checkstyle/2.0.2/checkstyle-2.0.2.jar!/odl_checks.xml" type="remote" description="maven-checkstyle-plugin configuration default">
+ <property name="checkstyle.cache.file" value="${project_loc}/target/checkstyle-cachefile"/>
+ <property name="checkstyle.suppressions.file" value="/home/yulingchen/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/odl-tsdr-controller-metrics-collector/com.basistech.m2e.code.quality.checkstyleConfigurator/checkstyle-suppressions-default.xml"/>
+ <property name="checkstyle.header.file" value="/home/yulingchen/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/odl-tsdr-controller-metrics-collector/com.basistech.m2e.code.quality.checkstyleConfigurator/checkstyle-header-default.txt"/>
+ </local-check-config>
+ <fileset name="java-sources-check-license" enabled="true" check-config-name="maven-checkstyle-plugin check-license" local="true">
+ <file-match-pattern match-pattern="^src/main/java.*\.java" include-pattern="true"/>
+ <file-match-pattern match-pattern="^src/main/java.*\.xtend" include-pattern="true"/>
+ <file-match-pattern match-pattern="^src/test/java.*\.java" include-pattern="true"/>
+ <file-match-pattern match-pattern="^src/test/java.*\.xtend" include-pattern="true"/>
+ <file-match-pattern match-pattern="^src/main/java.*org/opendaylight/yang/gen/.*" include-pattern="false"/>
+ <file-match-pattern match-pattern="^src/main/java.*.*protobuff/messages/.*" include-pattern="false"/>
+ <file-match-pattern match-pattern="^src/main/java.*.*thrift/gen/.*\.java" include-pattern="false"/>
+ <file-match-pattern match-pattern="^src/test/java.*org/opendaylight/yang/gen/.*" include-pattern="false"/>
+ <file-match-pattern match-pattern="^src/test/java.*.*protobuff/messages/.*" include-pattern="false"/>
+ <file-match-pattern match-pattern="^src/test/java.*.*thrift/gen/.*\.java" include-pattern="false"/>
+ </fileset>
+ <fileset name="java-sources-default" enabled="true" check-config-name="maven-checkstyle-plugin default" local="true">
+ <file-match-pattern match-pattern="^src/main/java.*\.java" include-pattern="true"/>
+ <file-match-pattern match-pattern="^src/main/java.*\.xtend" include-pattern="true"/>
+ <file-match-pattern match-pattern="^src/test/java.*\.java" include-pattern="true"/>
+ <file-match-pattern match-pattern="^src/test/java.*\.xtend" include-pattern="true"/>
+ <file-match-pattern match-pattern="^src/main/java.*org/opendaylight/yang/gen/.*" include-pattern="false"/>
+ <file-match-pattern match-pattern="^src/main/java.*.*protobuff/messages/.*" include-pattern="false"/>
+ <file-match-pattern match-pattern="^src/main/java.*.*thrift/gen/.*\.java" include-pattern="false"/>
+ <file-match-pattern match-pattern="^src/test/java.*org/opendaylight/yang/gen/.*" include-pattern="false"/>
+ <file-match-pattern match-pattern="^src/test/java.*.*protobuff/messages/.*" include-pattern="false"/>
+ <file-match-pattern match-pattern="^src/test/java.*.*thrift/gen/.*\.java" include-pattern="false"/>
+ <file-match-pattern match-pattern="^src/main/resources.*\.properties" include-pattern="true"/>
+ <file-match-pattern match-pattern="^src/test/resources.*\.properties" include-pattern="true"/>
+ </fileset>
+</fileset-config>
--- /dev/null
+/target-ide/
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>1.9.0</version>
+ <version>2.0.2</version>
<relativePath/>
</parent>
<type>xml</type>
<classifier>config</classifier>
</dependency>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+<!--
+ <version>22.0</version>
+-->
+ </dependency>
+
</dependencies>
</project>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>1.9.0</version>
+ <version>2.0.4</version>
<relativePath/>
</parent>
<controller.mdsal.version>1.6.0-SNAPSHOT</controller.mdsal.version>
<yangtools.version>1.2.0-SNAPSHOT</yangtools.version>
<felix.version>4.3.0</felix.version>
+ <bouncycastle.version>1.57</bouncycastle.version>
+
</properties>
<classifier>features</classifier>
<type>xml</type>
</dependency>
+ <dependency>
+ <groupId>org.bouncycastle</groupId>
+ <artifactId>bcprov-jdk15on</artifactId>
+ <version>${bouncycastle.version}</version>
+ </dependency>
+
<!-- TSDR dependencies -->
<dependency>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>1.9.0</version>
+ <version>2.0.4</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>1.9.0</version>
+ <version>2.0.4</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>1.9.0</version>
+ <version>2.0.4</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>1.9.0</version>
+ <version>2.0.4</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>1.9.0</version>
+ <version>2.0.4</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>1.9.0</version>
+ <version>2.0.4</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>1.9.0</version>
+ <version>2.0.4</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>1.9.0</version>
+ <version>2.0.4</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>1.9.0</version>
+ <version>2.0.4</version>
<relativePath/>
</parent>
<module>odl-tsdr-hsqldb</module>
<module>odl-tsdr-hsqldb-all</module>
<module>odl-tsdr-hbase</module>
+ <!--
<module>features-tsdr</module>
+ -->
<module>features4-tsdr</module>
</modules>
</project>
<!-- <name> formatting is used by autorelease to parse and notify projects on
build failure. Please do not modify this unless you have a good reason. -->
<name>ODL :: tsdr :: ${project.artifactId}</name>
+ <properties>
+ <com.datastax.cassandra.version>3.2.0</com.datastax.cassandra.version>
+ </properties>
<build>
<plugins>
<plugin>
*/
package org.opendaylight.tsdr.persistence.cassandra;
-import com.datastax.driver.core.BatchStatement;
-import com.datastax.driver.core.Cluster;
-import com.datastax.driver.core.RegularStatement;
-import com.datastax.driver.core.ResultSet;
-import com.datastax.driver.core.Row;
-import com.datastax.driver.core.Session;
-import com.datastax.driver.core.SimpleStatement;
-import com.datastax.driver.core.exceptions.InvalidQueryException;
-import com.datastax.driver.core.querybuilder.QueryBuilder;
-
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
+
import org.opendaylight.tsdr.spi.util.FormatUtil;
import org.opendaylight.tsdr.spi.util.TSDRKeyCache;
import org.opendaylight.tsdr.spi.util.TSDRKeyCache.TSDRCacheEntry;
import org.opendaylight.yang.gen.v1.opendaylight.tsdr.rev150219.tsdrrecord.RecordKeys;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+
+import com.datastax.driver.core.BatchStatement;
+import com.datastax.driver.core.Cluster;
+import com.datastax.driver.core.RegularStatement;
+import com.datastax.driver.core.ResultSet;
+import com.datastax.driver.core.Row;
+import com.datastax.driver.core.Session;
+import com.datastax.driver.core.SimpleStatement;
+import com.datastax.driver.core.Statement;
+import com.datastax.driver.core.exceptions.InvalidQueryException;
+import com.datastax.driver.core.querybuilder.QueryBuilder;
/**
* @author Sharon Aicler(saichler@gmail.com)
**/
if(cacheEntry==null){
cacheEntry = cache.addTSDRCacheEntry(tsdrKey);
}
-
RegularStatement st = QueryBuilder.insertInto("tsdr","MetricVal").
value("KeyA",cacheEntry.getMd5ID().getMd5Long1()).
value("KeyB",cacheEntry.getMd5ID().getMd5Long2()).
if(cacheEntry==null){
cacheEntry = cache.addTSDRCacheEntry(tsdrKey);
}
-
RegularStatement st = QueryBuilder.insertInto("tsdr","MetricLog").
value("KeyA",cacheEntry.getMd5ID().getMd5Long1()).
value("KeyB",cacheEntry.getMd5ID().getMd5Long2()).
if(cacheEntry==null){
cacheEntry = cache.addTSDRCacheEntry(tsdrKey);
}
-
RegularStatement st = QueryBuilder.insertInto("tsdr","MetricBlob").
value("KeyA",cacheEntry.getMd5ID().getMd5Long1()).
value("KeyB",cacheEntry.getMd5ID().getMd5Long2()).
final ResultSet rs = session.execute(cql);
for(Row row:rs.all()){
String deleteCql = dcql1+row.getLong("keyA")+cql2+row.getLong("keyB")+dcql3+row.getLong("time");
- batch.add(new SimpleStatement(deleteCql));
+ try {
+ batch.add((Statement)(new SimpleStatement(deleteCql)));
+ }catch(Exception e) {
+ log.error("Error creating simpleStatement", e);
+ }
if(this.batch.size()>=MAX_BATCH_SIZE){
this.executeBatch();
this.startBatch();
final ResultSet rs = session.execute(cql);
for(Row row:rs.all()){
String deleteCql = dcql1+row.getLong("keyA")+cql2+row.getLong("keyB")+dcql3+row.getLong("time")+dcql4+row.getInt("xIndex");
- batch.add(new SimpleStatement(deleteCql));
if(this.batch.size()>=MAX_BATCH_SIZE){
this.executeBatch();
this.startBatch();
final ResultSet rs = session.execute(cql);
for(Row row:rs.all()){
String deleteCql = dcql1+row.getLong("keyA")+cql2+row.getLong("keyB")+dcql3+row.getLong("time")+dcql4+row.getInt("xIndex");
- batch.add(new SimpleStatement(deleteCql));
+ try{
+ batch.add((Statement)(new SimpleStatement(deleteCql)));
+ }catch(Exception e){
+ log.error("Error creating simpleStatement", e);
+ }
if(this.batch.size()>=MAX_BATCH_SIZE){
this.executeBatch();
this.startBatch();
*/
package org.opendaylight.tsdr.persistence.cassandra;
-import com.datastax.driver.core.Cluster;
-import com.datastax.driver.core.ResultSet;
-import com.datastax.driver.core.Row;
-import com.datastax.driver.core.Session;
-import org.junit.*;
+import java.io.File;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
import org.mockito.Mockito;
import org.opendaylight.tsdr.spi.util.FormatUtil;
import org.opendaylight.yang.gen.v1.opendaylight.tsdr.log.data.rev160325.storetsdrlogrecord.input.TSDRLogRecord;
import org.opendaylight.yang.gen.v1.opendaylight.tsdr.rev150219.tsdrrecord.RecordKeys;
import org.opendaylight.yang.gen.v1.opendaylight.tsdr.rev150219.tsdrrecord.RecordKeysBuilder;
-import java.io.File;
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.List;
+import com.datastax.driver.core.Cluster;
+import com.datastax.driver.core.ResultSet;
+import com.datastax.driver.core.Row;
+import com.datastax.driver.core.Session;
+import com.datastax.driver.core.querybuilder.QueryBuilder;
/**
* @author <a href="mailto:saichler@gmail.com">Sharon Aicler</a>
@Before
public void before(){
store = new CassandraStore(session,cluster);
+ // Mockito.when(queryBuilder.(Mockito.any(Session.class),Mockito.any(Cluster.class))).thenReturn(queryBuilder);
Mockito.when(session.execute(Mockito.anyString())).thenReturn(resultSet);
Mockito.when(resultSet.all()).thenReturn(rows);
Mockito.when(row.getString("KeyPath")).thenReturn(FormatUtil.getTSDRMetricKey(createMetricRecord()));
Mockito.when(row.getDouble("value")).thenReturn(11d);
Mockito.when(row.getString("value")).thenReturn(createLogRecord().getRecordFullText());
+ Mockito.when(session.getCluster()).thenReturn(cluster);
store.startBatch();
if(rows.isEmpty()){
rows.add(row);
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent</artifactId>
- <version>1.9.0</version>
+ <version>2.0.4</version>
<relativePath/>
</parent>
<artifactId>tsdr</artifactId>
<version>1.4.0-SNAPSHOT</version>
<properties>
- <guava.old.version>16.0.1</guava.old.version>
+ <guava.old.version>19.0</guava.old.version>
<config.version>0.7.0-SNAPSHOT</config.version>
<felix.version>4.3.0</felix.version>
<hbase.version>0.94.15</hbase.version>
<com.codahale.metrics.version>3.0.2</com.codahale.metrics.version>
<io.netty.version>3.9.0.Final</io.netty.version>
<io.netty4.version>4.0.33.Final</io.netty4.version>
+<!--
<com.datastax.cassandra.version>2.1.2</com.datastax.cassandra.version>
+-->
+ <com.datastax.cassandra.version>2.2.0-rc3</com.datastax.cassandra.version>
<sigar.version>1.6.4</sigar.version>
<yang-jmx-generator.version>0.7.0-SNAPSHOT</yang-jmx-generator.version>
<hsqldb.version>1.8.0.10</hsqldb.version>