Author: [email protected]
Date: Tue Nov 15 12:13:16 2011
New Revision: 1716

Log:
[AMDATUCASSANDRA-132] Applied performance improvements: 
- Removed setting the row limit
- Removed the InitService which dropped the test keyspace prior to running the 
test, but this could lead to problems
- Refactored the performance test bundle to test all PM methods
- Refactored performance test to not create private CF's anymore, but use one 
global CF instead

Modified:
   
branches/amdatu-cassandra-0.2.1/cassandra-persistencemanager-hector/src/main/java/org/amdatu/cassandra/persistencemanager/hector/service/CassandraPersistenceManagerBaseImpl.java
   
branches/amdatu-cassandra-0.2.1/cassandra-persistencemanager-hector/src/main/java/org/amdatu/cassandra/persistencemanager/hector/service/HectorCassandraPersistenceManagerImpl.java
   
branches/amdatu-cassandra-0.2.1/cassandra-persistencemanager/src/main/java/org/amdatu/cassandra/persistencemanager/CassandraPersistenceManager.java
   
branches/amdatu-cassandra-0.2.1/test-performance/test-bundle/src/main/java/org/amdatu/test/performance/osgi/Activator.java
   
branches/amdatu-cassandra-0.2.1/test-performance/test-bundle/src/main/java/org/amdatu/test/performance/service/CassandraTest.java
   
branches/amdatu-cassandra-0.2.1/test-performance/test-bundle/src/main/java/org/amdatu/test/performance/service/RESTPerformanceTest.java
   
branches/amdatu-cassandra-0.2.1/test-performance/test-bundle/src/main/java/org/amdatu/test/performance/service/TestColumnFamilyProvider.java
   
branches/amdatu-cassandra-0.2.1/test-performance/test-execution/src/main/resources/jmeter-plans/Amdatu
 Cassandra PM.jmx
   
branches/amdatu-cassandra-0.2.1/test-performance/test-releases/cassandra-0.2.0/pom.xml

Modified: 
branches/amdatu-cassandra-0.2.1/cassandra-persistencemanager-hector/src/main/java/org/amdatu/cassandra/persistencemanager/hector/service/CassandraPersistenceManagerBaseImpl.java
==============================================================================
--- 
branches/amdatu-cassandra-0.2.1/cassandra-persistencemanager-hector/src/main/java/org/amdatu/cassandra/persistencemanager/hector/service/CassandraPersistenceManagerBaseImpl.java
   (original)
+++ 
branches/amdatu-cassandra-0.2.1/cassandra-persistencemanager-hector/src/main/java/org/amdatu/cassandra/persistencemanager/hector/service/CassandraPersistenceManagerBaseImpl.java
   Tue Nov 15 12:13:16 2011
@@ -33,11 +33,8 @@
  * @author ivol
  */
 public abstract class CassandraPersistenceManagerBaseImpl implements 
CassandraPersistenceManager {
-    // Maximum amount of rows to retrieve in queries
-    protected static final int ROW_LIMIT = 1000000;
-
     // Maximum amount of columns to retrieve in queries
-    protected static final int COLUMN_LIMIT = 1000000;
+    protected static final int COLUMN_LIMIT = 1000000;
 
     // Empty byte array
     protected static final ByteBuffer EMPTY = ByteBuffer.wrap(new byte[0]);

Modified: 
branches/amdatu-cassandra-0.2.1/cassandra-persistencemanager-hector/src/main/java/org/amdatu/cassandra/persistencemanager/hector/service/HectorCassandraPersistenceManagerImpl.java
==============================================================================
--- 
branches/amdatu-cassandra-0.2.1/cassandra-persistencemanager-hector/src/main/java/org/amdatu/cassandra/persistencemanager/hector/service/HectorCassandraPersistenceManagerImpl.java
 (original)
+++ 
branches/amdatu-cassandra-0.2.1/cassandra-persistencemanager-hector/src/main/java/org/amdatu/cassandra/persistencemanager/hector/service/HectorCassandraPersistenceManagerImpl.java
 Tue Nov 15 12:13:16 2011
@@ -317,7 +317,7 @@
         else {
             // Validate input arguments
             validateColumn(columnName);
-            
+
             mutator.delete(rowKey, columnFamilyName, columnName, serializer);
         }
     }
@@ -560,8 +560,7 @@
                 .createRangeSuperSlicesQuery(getHectorKeyspace(), serializer, 
serializer, serializer, valueSerializer)
                 .setColumnFamily(columnFamilyName)
                 .setKeys(null, null)
-                .setRange(superColumn, superColumn, false, colLimit)
-                .setRowCount(ROW_LIMIT);
+                .setRange(superColumn, superColumn, false, colLimit);
         if (rowKey != null) {
             rangeSlicesQuery.setKeys(rowKey, rowKey);
         }
@@ -586,8 +585,7 @@
             HFactory.createRangeSlicesQuery(getHectorKeyspace(), serializer, 
serializer, valueSerializer)
                 .setColumnFamily(columnFamilyName)
                 .setKeys(null, null)
-                .setRange(column, column, false, colLimit)
-                .setRowCount(ROW_LIMIT);
+                .setRange(column, column, false, colLimit);
         if (column != null) {
             rangeSlicesQuery.setColumnNames(column);
         }

Modified: 
branches/amdatu-cassandra-0.2.1/cassandra-persistencemanager/src/main/java/org/amdatu/cassandra/persistencemanager/CassandraPersistenceManager.java
==============================================================================
--- 
branches/amdatu-cassandra-0.2.1/cassandra-persistencemanager/src/main/java/org/amdatu/cassandra/persistencemanager/CassandraPersistenceManager.java
 (original)
+++ 
branches/amdatu-cassandra-0.2.1/cassandra-persistencemanager/src/main/java/org/amdatu/cassandra/persistencemanager/CassandraPersistenceManager.java
 Tue Nov 15 12:13:16 2011
@@ -102,6 +102,7 @@
      * Returns a list of row keys of all rows contained by the specified 
ColumnFamily. For optimal performance,
      * use getRowKeys(String, String, String) instead. If the specified 
ColumnFamily does not exist, an
      * unchecked exception is thrown.
+     * This method does NOT return tombstones.
      *
      * @param columnFamilyName
      *        The ColumnFamily to return all key names for
@@ -119,6 +120,7 @@
      * a column and/or super column should be provided that holds the smallest 
values of all columns/super columns,
      * which should be known by the developer invoking this method.
      * If the specified ColumnFamily does not exist, an unchecked exception is 
thrown.
+     * This method does NOT return tombstones.
      *
      * @param columnFamilyName
      *        The ColumnFamily to return all key names for

Modified: 
branches/amdatu-cassandra-0.2.1/test-performance/test-bundle/src/main/java/org/amdatu/test/performance/osgi/Activator.java
==============================================================================
--- 
branches/amdatu-cassandra-0.2.1/test-performance/test-bundle/src/main/java/org/amdatu/test/performance/osgi/Activator.java
  (original)
+++ 
branches/amdatu-cassandra-0.2.1/test-performance/test-bundle/src/main/java/org/amdatu/test/performance/osgi/Activator.java
  Tue Nov 15 12:13:16 2011
@@ -21,8 +21,6 @@
 import org.amdatu.cassandra.persistencemanager.CassandraPersistenceManager;
 import 
org.amdatu.cassandra.persistencemanager.hector.HectorCassandraPersistenceManager;
 import org.amdatu.libraries.utilities.osgi.ServiceDependentActivator;
-import org.amdatu.test.performance.service.InitService;
-import org.amdatu.test.performance.service.InitServiceImpl;
 import org.amdatu.test.performance.service.RESTPerformanceTest;
 import org.amdatu.test.performance.service.TestColumnFamilyProvider;
 import org.amdatu.web.httpcontext.ResourceProvider;
@@ -43,33 +41,27 @@
         return new Class<?>[] { JaxRsSpi.class };
     }
 
-    public void initWithDependencies(BundleContext context, DependencyManager 
manager) throws Exception {
-        // Create and register the InitService service.
-        manager.add(
-            createComponent()
-            .setInterface(InitService.class.getName(), null)
-            .setImplementation(InitServiceImpl.class)
-            
.add(createServiceDependency().setService(LogService.class).setRequired(true))
-            
.add(createServiceDependency().setService(CassandraDaemonService.class).setRequired(true)));
-        
+    public void initWithDependencies(BundleContext context, DependencyManager 
manager) throws Exception {        
         // Create and register the TestColumnFamilyProvider service.
         manager.add(
             createComponent()
             .setInterface(ColumnFamilyProvider.class.getName(), null)
-            .setImplementation(TestColumnFamilyProvider.class)
-            
.add(createServiceDependency().setService(InitService.class).setRequired(true)));
+            .setImplementation(TestColumnFamilyProvider.class));
         
         // Create the users resource service and register it as REST service
         String keyspaceFilter = "(" + 
CassandraPersistenceManager.KEYSPACE_AWARE_KEY + "=" + 
TestColumnFamilyProvider.KEYSPACE + ")";
-        String cfFilter = "(" + ColumnFamilyAvailable.FILTER_NAME + "=" + 
TestColumnFamilyProvider.GLOBAL_CF + ")";
+        String cfFilter1 = "(" + ColumnFamilyAvailable.FILTER_NAME + "=" + 
TestColumnFamilyProvider.SUPER_CF + ")";
+        String cfFilter2 = "(" + ColumnFamilyAvailable.FILTER_NAME + "=" + 
TestColumnFamilyProvider.STANDARD_CF + ")";
+        String cfFilter3 = "(" + ColumnFamilyAvailable.FILTER_NAME + "=" + 
TestColumnFamilyProvider.ROWKEY_CF + ")";
         manager.add(createComponent()
             .setInterface(ResourceProvider.class.getName(), null)
             .setImplementation(RESTPerformanceTest.class)
             
.add(createServiceDependency().setService(LogService.class).setRequired(true))
             
.add(createServiceDependency().setService(CassandraDaemonService.class).setRequired(true))
             
.add(createServiceDependency().setService(HectorCassandraPersistenceManager.class,
 keyspaceFilter).setRequired(true))
-            
.add(createServiceDependency().setService(ColumnFamilyAvailable.class, 
cfFilter).setRequired(true))
-            
.add(createServiceDependency().setService(InitService.class).setRequired(true)));
+            
.add(createServiceDependency().setService(ColumnFamilyAvailable.class, 
cfFilter1).setRequired(true))
+            
.add(createServiceDependency().setService(ColumnFamilyAvailable.class, 
cfFilter2).setRequired(true))
+            
.add(createServiceDependency().setService(ColumnFamilyAvailable.class, 
cfFilter3).setRequired(true)));
     }
 
     @Override

Modified: 
branches/amdatu-cassandra-0.2.1/test-performance/test-bundle/src/main/java/org/amdatu/test/performance/service/CassandraTest.java
==============================================================================
--- 
branches/amdatu-cassandra-0.2.1/test-performance/test-bundle/src/main/java/org/amdatu/test/performance/service/CassandraTest.java
   (original)
+++ 
branches/amdatu-cassandra-0.2.1/test-performance/test-bundle/src/main/java/org/amdatu/test/performance/service/CassandraTest.java
   Tue Nov 15 12:13:16 2011
@@ -48,15 +48,34 @@
         return "Test completed in " + diff + " milliseconds";
     }
 
-    public String testSetValue(String cfName, String rowPrefix) {
+    public String testSetValue(String cfName, String rowPrefix, boolean 
isSuper) {
         long start = System.currentTimeMillis();
         for (int i = 0; i < ROWS; i++) {
-            for (int j=0; j<COLS; j++) {
-                m_pm.setValue(cfName, rowPrefix + "row_" + i, "super", 
"column_" + j, "value_" + i);
+            for (int j=0; j<COLS; j++) {
+                if (isSuper) {
+                    m_pm.setValue(cfName, rowPrefix + "row_" + i, "super", 
"column_" + j, "value_" + i);
+                } else {
+                    m_pm.setValue(cfName, rowPrefix + "row_" + i, null, 
"column_" + j, "value_" + i);
+                }
             }
         }
         long diff = System.currentTimeMillis() - start;
         return "Test completed in " + diff + " milliseconds";
+    }
+    
+    public String testGetValue(String cfName, String rowPrefix, boolean 
isSuper) {
+        long start = System.currentTimeMillis();
+        for (int i = 0; i < ROWS; i++) {
+            for (int j=0; j<COLS; j++) {
+                if (isSuper) {
+                    m_pm.getValue(cfName, rowPrefix + "row_" + i, "super", 
"column_" + j, String.class);
+                } else {
+                    m_pm.getValue(cfName, rowPrefix + "row_" + i, null, 
"column_" + j, String.class);
+                }
+            }
+        }
+        long diff = System.currentTimeMillis() - start;
+        return "Test completed in " + diff + " milliseconds";
     }
 
     public String testGetRowKeys(String cfName) {
@@ -76,7 +95,16 @@
         long diff = System.currentTimeMillis() - start;
         return "Test completed in " + diff + " milliseconds";
     }
-
+
+    public String testGetColumns(String cfName, String rowPrefix) {
+        long start = System.currentTimeMillis();
+        for (int i = 0; i < ROWS; i++) {
+            m_pm.getColumns(cfName, rowPrefix + "row_" + i, String.class);
+        }
+        long diff = System.currentTimeMillis() - start;
+        return "Test completed in " + diff + " milliseconds";
+    }
+    
     public String testGetSuperColumns(String cfName, String rowPrefix) {
         long start = System.currentTimeMillis();
         for (int i = 0; i < ROWS; i++) {
@@ -84,6 +112,24 @@
         }
         long diff = System.currentTimeMillis() - start;
         return "Test completed in " + diff + " milliseconds";
+    }
+    
+    public String testGetRows(String cfName) {
+        long start = System.currentTimeMillis();
+        for (int i = 0; i < ROWS; i++) {
+            m_pm.getRows(cfName, String.class);
+        }
+        long diff = System.currentTimeMillis() - start;
+        return "Test completed in " + diff + " milliseconds";
+    }
+    
+    public String testGetSuperRows(String cfName) {
+        long start = System.currentTimeMillis();
+        for (int i = 0; i < ROWS; i++) {
+            m_pm.getSuperRows(cfName, String.class);
+        }
+        long diff = System.currentTimeMillis() - start;
+        return "Test completed in " + diff + " milliseconds";
     }
 
     public String testRemoveRows(String cfName, String rowPrefix) {

Modified: 
branches/amdatu-cassandra-0.2.1/test-performance/test-bundle/src/main/java/org/amdatu/test/performance/service/RESTPerformanceTest.java
==============================================================================
--- 
branches/amdatu-cassandra-0.2.1/test-performance/test-bundle/src/main/java/org/amdatu/test/performance/service/RESTPerformanceTest.java
     (original)
+++ 
branches/amdatu-cassandra-0.2.1/test-performance/test-bundle/src/main/java/org/amdatu/test/performance/service/RESTPerformanceTest.java
     Tue Nov 15 12:13:16 2011
@@ -19,7 +19,6 @@
 import java.net.URL;
 
 import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
 import javax.ws.rs.Path;
 import javax.ws.rs.PathParam;
 import javax.ws.rs.Produces;
@@ -63,54 +62,41 @@
     @Path("status")
     public Response status() {
         return buildOK("Cassandra performancetest service online");
-    }
-    
-    @PUT
-    @Produces({MediaType.TEXT_PLAIN})
-    @Path("cassandra/private/{cfname}")
-    public Response createColumnFamily(@PathParam("cfname") final String 
columnFamilyName) {
-        String result;
-        try {
-            result = new CassandraTest(m_cassandraDaemon, 
m_pm).createPrivateColumnFamily(columnFamilyName);
-        } catch (Exception e) {
-            throw new WebApplicationException(e);
-        }
-        return buildOK(result);
-    }
-    
-    @GET
-    @Produces({MediaType.TEXT_PLAIN})
-    @Path("cassandra/global/{prefix}/setvalue")
-    public Response testGlobalSetValue(@PathParam("prefix") final String 
rowPrefix) {
-        String result;
-        try {
-            result = new CassandraTest(m_cassandraDaemon, 
m_pm).testSetValue(TestColumnFamilyProvider.GLOBAL_CF, rowPrefix);
-        } catch (Exception e) {
-            throw new WebApplicationException(e);
-        }
-        return buildOK(result);
-    }
-
+    }
+  
     @GET
     @Produces({MediaType.TEXT_PLAIN})
-    @Path("cassandra/private/{cfname}/setvalue")
-    public Response testPrivateSetValue(@PathParam("cfname") final String 
columnFamilyName) {
+    @Path("cassandra/{cftype}/{prefix}/setvalue")
+    public Response testStandardSetValue(@PathParam("cftype") final String 
cfType, @PathParam("prefix") final String rowPrefix) {
         String result;
         try {
-            result = new CassandraTest(m_cassandraDaemon, 
m_pm).testSetValue(columnFamilyName, "");
+            result = new CassandraTest(m_cassandraDaemon, 
m_pm).testSetValue(getCF(cfType), rowPrefix, isSuper(cfType));
         } catch (Exception e) {
             throw new WebApplicationException(e);
         }
         return buildOK(result);
+    }
+    
+    @GET
+    @Produces({MediaType.TEXT_PLAIN})
+    @Path("cassandra/{cftype}/{prefix}/getvalue")
+    public Response testSuperSetValue(@PathParam("cftype") final String 
cfType, @PathParam("prefix") final String rowPrefix) {
+        String result;
+        try {
+            result = new CassandraTest(m_cassandraDaemon, 
m_pm).testGetValue(getCF(cfType), rowPrefix, isSuper(cfType));
+        } catch (Exception e) {
+            throw new WebApplicationException(e);
+        }
+        return buildOK(result);
     }
 
     @GET
     @Produces({MediaType.TEXT_PLAIN})
-    @Path("cassandra/global/getrowkeys")
-    public Response testGlobalGetRowKeys() {
+    @Path("cassandra/getrowkeys")
+    public Response testGetRowKeys() {
         String result;
         try {
-            result = new CassandraTest(m_cassandraDaemon, 
m_pm).testGetRowKeys(TestColumnFamilyProvider.GLOBAL_CF);
+            result = new CassandraTest(m_cassandraDaemon, 
m_pm).testGetRowKeys(TestColumnFamilyProvider.SUPER_CF);
         } catch (Exception e) {
             throw new WebApplicationException(e);
         }
@@ -119,50 +105,37 @@
     
     @GET
     @Produces({MediaType.TEXT_PLAIN})
-    @Path("cassandra/global/smartgetrowkeys")
+    @Path("cassandra/smartgetrowkeys")
     public Response testSmartGlobalGetRowKeys() {
         String result;
         try {
-            result = new CassandraTest(m_cassandraDaemon, 
m_pm).testSmartGetRowKeys(TestColumnFamilyProvider.GLOBAL_CF);
-        } catch (Exception e) {
-            throw new WebApplicationException(e);
-        }
-        return buildOK(result);
-    }
-
-    @GET
-    @Produces({MediaType.TEXT_PLAIN})
-    @Path("cassandra/private/{cfname}/getrowkeys")
-    public Response testPrivateGetRowKeys(@PathParam("cfname") final String 
columnFamilyName) {
-        String result;
-        try {
-            result = new CassandraTest(m_cassandraDaemon, 
m_pm).testGetRowKeys(columnFamilyName);
-        } catch (Exception e) {
-            throw new WebApplicationException(e);
-        }
-        return buildOK(result);
-    }
-    
-    @GET
-    @Produces({MediaType.TEXT_PLAIN})
-    @Path("cassandra/private/{cfname}/smartgetrowkeys")
-    public Response testSmartPrivateGetRowKeys(@PathParam("cfname") final 
String columnFamilyName) {
-        String result;
-        try {
-            result = new CassandraTest(m_cassandraDaemon, 
m_pm).testSmartGetRowKeys(columnFamilyName);
+            result = new CassandraTest(m_cassandraDaemon, 
m_pm).testSmartGetRowKeys(TestColumnFamilyProvider.SUPER_CF);
         } catch (Exception e) {
             throw new WebApplicationException(e);
         }
         return buildOK(result);
     }
+    
+    @GET
+    @Produces({MediaType.TEXT_PLAIN})
+    @Path("cassandra/{prefix}/getcolumns")
+    public Response testGetColumns(@PathParam("prefix") final String 
rowPrefix) {
+        String result;
+        try {
+            result = new CassandraTest(m_cassandraDaemon, 
m_pm).testGetColumns(TestColumnFamilyProvider.STANDARD_CF, rowPrefix);
+        } catch (Exception e) {
+            throw new WebApplicationException(e);
+        }
+        return buildOK(result);
+    }
     
     @GET
     @Produces({MediaType.TEXT_PLAIN})
-    @Path("cassandra/global/{prefix}/getsupercolumns")
-    public Response testGlobalGetSuperColumns(@PathParam("prefix") final 
String rowPrefix) {
+    @Path("cassandra/{prefix}/getsupercolumns")
+    public Response testGetSuperColumns(@PathParam("prefix") final String 
rowPrefix) {
         String result;
         try {
-            result = new CassandraTest(m_cassandraDaemon, 
m_pm).testGetSuperColumns(TestColumnFamilyProvider.GLOBAL_CF, rowPrefix);
+            result = new CassandraTest(m_cassandraDaemon, 
m_pm).testGetSuperColumns(TestColumnFamilyProvider.SUPER_CF, rowPrefix);
         } catch (Exception e) {
             throw new WebApplicationException(e);
         }
@@ -171,43 +144,43 @@
 
     @GET
     @Produces({MediaType.TEXT_PLAIN})
-    @Path("cassandra/private/{cfname}/getsupercolumns")
-    public Response testPrivateGetSuperColumns(@PathParam("cfname") final 
String columnFamilyName) {
+    @Path("cassandra/getrows")
+    public Response testGetRows() {
         String result;
         try {
-            result = new CassandraTest(m_cassandraDaemon, 
m_pm).testGetSuperColumns(columnFamilyName, "");
+            result = new CassandraTest(m_cassandraDaemon, 
m_pm).testGetRows(TestColumnFamilyProvider.STANDARD_CF);
         } catch (Exception e) {
             throw new WebApplicationException(e);
         }
         return buildOK(result);
+    }
+    
+    @GET
+    @Produces({MediaType.TEXT_PLAIN})
+    @Path("cassandra/getsuperrows")
+    public Response testGetSuperRows() {
+        String result;
+        try {
+            result = new CassandraTest(m_cassandraDaemon, 
m_pm).testGetSuperRows(TestColumnFamilyProvider.SUPER_CF);
+        } catch (Exception e) {
+            throw new WebApplicationException(e);
+        }
+        return buildOK(result);
     }
 
     @GET
     @Produces({MediaType.TEXT_PLAIN})
-    @Path("cassandra/global/{cfname}/removerows")
-    public Response testGlobalRemoveRows(@PathParam("prefix") final String 
rowPrefix) {
+    @Path("cassandra/{cftype}/{prefix}/removerows")
+    public Response testRemoveRows(@PathParam("cftype") final String cfType, 
@PathParam("prefix") final String rowPrefix) {
         String result;
         try {
-            result = new CassandraTest(m_cassandraDaemon, 
m_pm).testRemoveRows(TestColumnFamilyProvider.GLOBAL_CF, rowPrefix);
+            result = new CassandraTest(m_cassandraDaemon, 
m_pm).testRemoveRows(getCF(cfType), rowPrefix);
         } catch (Exception e) {
             throw new WebApplicationException(e);
         }
         return buildOK(result);
     }
-
-    @GET
-    @Produces({MediaType.TEXT_PLAIN})
-    @Path("cassandra/private/{cfname}/removerows")
-    public Response testPrivateRemoveRows(@PathParam("cfname") final String 
columnFamilyName) {
-        String result;
-        try {
-            result = new CassandraTest(m_cassandraDaemon, 
m_pm).testRemoveRows(columnFamilyName, "");
-        } catch (Exception e) {
-            throw new WebApplicationException(e);
-        }
-        return buildOK(result);
-    }
-    
+   
     protected Response buildOK(String result) {
         return Response.ok(result).cacheControl(m_cacheControl).build();
     }
@@ -218,6 +191,22 @@
 
     public String getResourceId() {
         return "performancetest";
+    }
+    
+    private boolean isSuper(String cfType) {
+        if ("super".equals(cfType)) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+    
+    private String getCF(String cfType) {
+        if ("super".equals(cfType)) {
+            return TestColumnFamilyProvider.SUPER_CF;
+        } else {
+            return TestColumnFamilyProvider.STANDARD_CF;
+        }
     }
     
     private String createRowKeyTestSet() {

Modified: 
branches/amdatu-cassandra-0.2.1/test-performance/test-bundle/src/main/java/org/amdatu/test/performance/service/TestColumnFamilyProvider.java
==============================================================================
--- 
branches/amdatu-cassandra-0.2.1/test-performance/test-bundle/src/main/java/org/amdatu/test/performance/service/TestColumnFamilyProvider.java
        (original)
+++ 
branches/amdatu-cassandra-0.2.1/test-performance/test-bundle/src/main/java/org/amdatu/test/performance/service/TestColumnFamilyProvider.java
        Tue Nov 15 12:13:16 2011
@@ -21,19 +21,23 @@
 import org.amdatu.cassandra.listener.ColumnFamilyProvider;
 
 public class TestColumnFamilyProvider implements ColumnFamilyProvider {
-    public final static String KEYSPACE = "PerformanceTestKeyspace";
-    public final static String GLOBAL_CF = "PerformanceTestGlobalCF";
+    public final static String KEYSPACE = "PerformanceTestKeyspace";
+    public final static String STANDARD_CF = "PerformanceTestStandardCF";
+    public final static String SUPER_CF = "PerformanceTestSuperCF";
     public final static String ROWKEY_CF = "PerformanceTestRowKeyCF";
         
     public ColumnFamilyDefinition[] getColumnFamilies() {
         // Register column families for Friend, which is a ColumnFamily 
specific to this bundle
         // <ColumnFamily Name="Friend" ColumnType="Super" 
CompareWith="BytesType" CompareSubcolumnsWith="BytesType" />
         ColumnFamilyDefinition colFamDef =
-                new ColumnFamilyDefinition(GLOBAL_CF, new String[]{KEYSPACE}, 
ColumnType.SUPER, CompareType.BYTESTYPE,
-                        CompareType.BYTESTYPE);
-        ColumnFamilyDefinition colFamDef2 =
+                new ColumnFamilyDefinition(SUPER_CF, new String[]{KEYSPACE}, 
ColumnType.SUPER, CompareType.BYTESTYPE,
+                        CompareType.BYTESTYPE);
+        ColumnFamilyDefinition colFamDef2 =
+            new ColumnFamilyDefinition(STANDARD_CF, new String[]{KEYSPACE}, 
ColumnType.STANDARD, CompareType.BYTESTYPE,
+                    null);
+        ColumnFamilyDefinition colFamDef3 =
             new ColumnFamilyDefinition(ROWKEY_CF, new String[]{KEYSPACE}, 
ColumnType.SUPER, CompareType.BYTESTYPE,
                     CompareType.BYTESTYPE);
-        return new ColumnFamilyDefinition[]{colFamDef, colFamDef2};
+        return new ColumnFamilyDefinition[]{colFamDef, colFamDef2, colFamDef3};
     }
 }

Modified: 
branches/amdatu-cassandra-0.2.1/test-performance/test-execution/src/main/resources/jmeter-plans/Amdatu
 Cassandra PM.jmx
==============================================================================
--- 
branches/amdatu-cassandra-0.2.1/test-performance/test-execution/src/main/resources/jmeter-plans/Amdatu
 Cassandra PM.jmx     (original)
+++ 
branches/amdatu-cassandra-0.2.1/test-performance/test-execution/src/main/resources/jmeter-plans/Amdatu
 Cassandra PM.jmx     Tue Nov 15 12:13:16 2011
@@ -88,7 +88,7 @@
             <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
           </HTTPSampler>
           <hashTree/>
-          <HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" 
testname="Create private CF" enabled="true">
+          <HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" 
testname="Standard setValue" enabled="true">
             <elementProp name="HTTPsampler.Arguments" elementType="Arguments" 
guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined 
Variables" enabled="true">
               <collectionProp name="Arguments.arguments"/>
             </elementProp>
@@ -98,8 +98,28 @@
             <stringProp name="HTTPSampler.response_timeout"></stringProp>
             <stringProp name="HTTPSampler.protocol"></stringProp>
             <stringProp name="HTTPSampler.contentEncoding"></stringProp>
-            <stringProp 
name="HTTPSampler.path">/rest/performancetest/cassandra/private/CF_${index}</stringProp>
-            <stringProp name="HTTPSampler.method">PUT</stringProp>
+            <stringProp 
name="HTTPSampler.path">/rest/performancetest/cassandra/standard/${threadnr}/setvalue</stringProp>
+            <stringProp name="HTTPSampler.method">GET</stringProp>
+            <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+            <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+            <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+            <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+            <boolProp name="HTTPSampler.monitor">false</boolProp>
+            <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+          </HTTPSampler>
+          <hashTree/>
+          <HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" 
testname="Super setValue" enabled="true">
+            <elementProp name="HTTPsampler.Arguments" elementType="Arguments" 
guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined 
Variables" enabled="true">
+              <collectionProp name="Arguments.arguments"/>
+            </elementProp>
+            <stringProp name="HTTPSampler.domain"></stringProp>
+            <stringProp name="HTTPSampler.port"></stringProp>
+            <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+            <stringProp name="HTTPSampler.response_timeout"></stringProp>
+            <stringProp name="HTTPSampler.protocol"></stringProp>
+            <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+            <stringProp 
name="HTTPSampler.path">/rest/performancetest/cassandra/super/${threadnr}/setvalue</stringProp>
+            <stringProp name="HTTPSampler.method">GET</stringProp>
             <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
             <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
             <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
@@ -108,7 +128,7 @@
             <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
           </HTTPSampler>
           <hashTree/>
-          <HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" 
testname="Global setValue" enabled="true">
+          <HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" 
testname="Standard getValue" enabled="true">
             <elementProp name="HTTPsampler.Arguments" elementType="Arguments" 
guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined 
Variables" enabled="true">
               <collectionProp name="Arguments.arguments"/>
             </elementProp>
@@ -118,7 +138,7 @@
             <stringProp name="HTTPSampler.response_timeout"></stringProp>
             <stringProp name="HTTPSampler.protocol"></stringProp>
             <stringProp name="HTTPSampler.contentEncoding"></stringProp>
-            <stringProp 
name="HTTPSampler.path">/rest/performancetest/cassandra/global/${threadnr}/setvalue</stringProp>
+            <stringProp 
name="HTTPSampler.path">/rest/performancetest/cassandra/standard/${threadnr}/getvalue</stringProp>
             <stringProp name="HTTPSampler.method">GET</stringProp>
             <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
             <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@@ -128,7 +148,7 @@
             <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
           </HTTPSampler>
           <hashTree/>
-          <HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" 
testname="Private setValue" enabled="true">
+          <HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" 
testname="Super getValue" enabled="true">
             <elementProp name="HTTPsampler.Arguments" elementType="Arguments" 
guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined 
Variables" enabled="true">
               <collectionProp name="Arguments.arguments"/>
             </elementProp>
@@ -138,7 +158,7 @@
             <stringProp name="HTTPSampler.response_timeout"></stringProp>
             <stringProp name="HTTPSampler.protocol"></stringProp>
             <stringProp name="HTTPSampler.contentEncoding"></stringProp>
-            <stringProp 
name="HTTPSampler.path">/rest/performancetest/cassandra/private/CF_${index}/setvalue</stringProp>
+            <stringProp 
name="HTTPSampler.path">/rest/performancetest/cassandra/super/${threadnr}/getvalue</stringProp>
             <stringProp name="HTTPSampler.method">GET</stringProp>
             <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
             <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@@ -148,7 +168,7 @@
             <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
           </HTTPSampler>
           <hashTree/>
-          <HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" 
testname="Global getRowKeys" enabled="true">
+          <HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" 
testname="getRowKeys" enabled="true">
             <elementProp name="HTTPsampler.Arguments" elementType="Arguments" 
guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined 
Variables" enabled="true">
               <collectionProp name="Arguments.arguments"/>
             </elementProp>
@@ -158,7 +178,7 @@
             <stringProp name="HTTPSampler.response_timeout"></stringProp>
             <stringProp name="HTTPSampler.protocol"></stringProp>
             <stringProp name="HTTPSampler.contentEncoding"></stringProp>
-            <stringProp 
name="HTTPSampler.path">/rest/performancetest/cassandra/global/getrowkeys</stringProp>
+            <stringProp 
name="HTTPSampler.path">/rest/performancetest/cassandra/getrowkeys</stringProp>
             <stringProp name="HTTPSampler.method">GET</stringProp>
             <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
             <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@@ -168,7 +188,7 @@
             <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
           </HTTPSampler>
           <hashTree/>
-          <HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" 
testname="Global smart getRowKeys" enabled="true">
+          <HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" 
testname="smart getRowKeys" enabled="true">
             <elementProp name="HTTPsampler.Arguments" elementType="Arguments" 
guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined 
Variables" enabled="true">
               <collectionProp name="Arguments.arguments"/>
             </elementProp>
@@ -178,7 +198,7 @@
             <stringProp name="HTTPSampler.response_timeout"></stringProp>
             <stringProp name="HTTPSampler.protocol"></stringProp>
             <stringProp name="HTTPSampler.contentEncoding"></stringProp>
-            <stringProp 
name="HTTPSampler.path">/rest/performancetest/cassandra/global/smartgetrowkeys</stringProp>
+            <stringProp 
name="HTTPSampler.path">/rest/performancetest/cassandra/smartgetrowkeys</stringProp>
             <stringProp name="HTTPSampler.method">GET</stringProp>
             <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
             <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@@ -188,7 +208,7 @@
             <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
           </HTTPSampler>
           <hashTree/>
-          <HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" 
testname="Private getRowKeys" enabled="true">
+          <HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" 
testname="getColumns" enabled="true">
             <elementProp name="HTTPsampler.Arguments" elementType="Arguments" 
guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined 
Variables" enabled="true">
               <collectionProp name="Arguments.arguments"/>
             </elementProp>
@@ -198,7 +218,7 @@
             <stringProp name="HTTPSampler.response_timeout"></stringProp>
             <stringProp name="HTTPSampler.protocol"></stringProp>
             <stringProp name="HTTPSampler.contentEncoding"></stringProp>
-            <stringProp 
name="HTTPSampler.path">/rest/performancetest/cassandra/private/CF_${index}/getrowkeys</stringProp>
+            <stringProp 
name="HTTPSampler.path">/rest/performancetest/cassandra/${threadnr}/getcolumns</stringProp>
             <stringProp name="HTTPSampler.method">GET</stringProp>
             <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
             <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@@ -208,7 +228,7 @@
             <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
           </HTTPSampler>
           <hashTree/>
-          <HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" 
testname="Private smart getRowKeys" enabled="true">
+          <HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" 
testname="getSuperColumns" enabled="true">
             <elementProp name="HTTPsampler.Arguments" elementType="Arguments" 
guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined 
Variables" enabled="true">
               <collectionProp name="Arguments.arguments"/>
             </elementProp>
@@ -218,7 +238,7 @@
             <stringProp name="HTTPSampler.response_timeout"></stringProp>
             <stringProp name="HTTPSampler.protocol"></stringProp>
             <stringProp name="HTTPSampler.contentEncoding"></stringProp>
-            <stringProp 
name="HTTPSampler.path">/rest/performancetest/cassandra/private/CF_${index}/smartgetrowkeys</stringProp>
+            <stringProp 
name="HTTPSampler.path">/rest/performancetest/cassandra/${threadnr}/getsupercolumns</stringProp>
             <stringProp name="HTTPSampler.method">GET</stringProp>
             <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
             <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@@ -228,7 +248,7 @@
             <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
           </HTTPSampler>
           <hashTree/>
-          <HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" 
testname="Global getSuperColumns" enabled="true">
+          <HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" 
testname="getRows" enabled="true">
             <elementProp name="HTTPsampler.Arguments" elementType="Arguments" 
guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined 
Variables" enabled="true">
               <collectionProp name="Arguments.arguments"/>
             </elementProp>
@@ -238,7 +258,7 @@
             <stringProp name="HTTPSampler.response_timeout"></stringProp>
             <stringProp name="HTTPSampler.protocol"></stringProp>
             <stringProp name="HTTPSampler.contentEncoding"></stringProp>
-            <stringProp 
name="HTTPSampler.path">/rest/performancetest/cassandra/global/${threadnr}/getsupercolumns</stringProp>
+            <stringProp 
name="HTTPSampler.path">/rest/performancetest/cassandra/getrows</stringProp>
             <stringProp name="HTTPSampler.method">GET</stringProp>
             <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
             <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@@ -248,7 +268,7 @@
             <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
           </HTTPSampler>
           <hashTree/>
-          <HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" 
testname="Private getSuperColumns" enabled="true">
+          <HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" 
testname="getSuperRows" enabled="true">
             <elementProp name="HTTPsampler.Arguments" elementType="Arguments" 
guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined 
Variables" enabled="true">
               <collectionProp name="Arguments.arguments"/>
             </elementProp>
@@ -258,7 +278,7 @@
             <stringProp name="HTTPSampler.response_timeout"></stringProp>
             <stringProp name="HTTPSampler.protocol"></stringProp>
             <stringProp name="HTTPSampler.contentEncoding"></stringProp>
-            <stringProp 
name="HTTPSampler.path">/rest/performancetest/cassandra/private/CF_${index}/getsupercolumns</stringProp>
+            <stringProp 
name="HTTPSampler.path">/rest/performancetest/cassandra/getsuperrows</stringProp>
             <stringProp name="HTTPSampler.method">GET</stringProp>
             <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
             <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@@ -268,7 +288,7 @@
             <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
           </HTTPSampler>
           <hashTree/>
-          <HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" 
testname="Global removeRows" enabled="true">
+          <HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" 
testname="Standard removeRows" enabled="true">
             <elementProp name="HTTPsampler.Arguments" elementType="Arguments" 
guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined 
Variables" enabled="true">
               <collectionProp name="Arguments.arguments"/>
             </elementProp>
@@ -278,7 +298,7 @@
             <stringProp name="HTTPSampler.response_timeout"></stringProp>
             <stringProp name="HTTPSampler.protocol"></stringProp>
             <stringProp name="HTTPSampler.contentEncoding"></stringProp>
-            <stringProp 
name="HTTPSampler.path">/rest/performancetest/cassandra/global/${threadnr}/removerows</stringProp>
+            <stringProp 
name="HTTPSampler.path">/rest/performancetest/cassandra/standard/${threadnr}/removerows</stringProp>
             <stringProp name="HTTPSampler.method">GET</stringProp>
             <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
             <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@@ -288,7 +308,7 @@
             <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
           </HTTPSampler>
           <hashTree/>
-          <HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" 
testname="Private removeRows" enabled="true">
+          <HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" 
testname="Super removeRows" enabled="true">
             <elementProp name="HTTPsampler.Arguments" elementType="Arguments" 
guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined 
Variables" enabled="true">
               <collectionProp name="Arguments.arguments"/>
             </elementProp>
@@ -298,7 +318,7 @@
             <stringProp name="HTTPSampler.response_timeout"></stringProp>
             <stringProp name="HTTPSampler.protocol"></stringProp>
             <stringProp name="HTTPSampler.contentEncoding"></stringProp>
-            <stringProp 
name="HTTPSampler.path">/rest/performancetest/cassandra/private/CF_${index}/removerows</stringProp>
+            <stringProp 
name="HTTPSampler.path">/rest/performancetest/cassandra/super/${threadnr}/removerows</stringProp>
             <stringProp name="HTTPSampler.method">GET</stringProp>
             <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
             <boolProp name="HTTPSampler.auto_redirects">false</boolProp>

Modified: 
branches/amdatu-cassandra-0.2.1/test-performance/test-releases/cassandra-0.2.0/pom.xml
==============================================================================
--- 
branches/amdatu-cassandra-0.2.1/test-performance/test-releases/cassandra-0.2.0/pom.xml
      (original)
+++ 
branches/amdatu-cassandra-0.2.1/test-performance/test-releases/cassandra-0.2.0/pom.xml
      Tue Nov 15 12:13:16 2011
@@ -274,7 +274,7 @@
     <dependency>
       <groupId>org.amdatu.cassandra</groupId>
       <artifactId>org.amdatu.cassandra.test.performance.bundle</artifactId>
-      <version>0.2.0</version>
+      <version>0.2.0-2</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
_______________________________________________
Amdatu-commits mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-commits

Reply via email to