Aeorpsike Unit Test Framework

Aerospike Unit Test framework  to run test on Aerospike as part of maven module

Code Base :

  1. Main
  2. Test

 

Aerospike 
            ---------------------
           |     NameSpace       |
           |  -----------------  |                 
           | |                 | |
           | |      Set        | |  
           | |  -------------  | |
           | |  |  Bin:Value | | |
           | |   ------------  | |
           | |                 | |
           |  -----------------  | 
           |                     |
            ---------------------

Key = NameSpace + Set + PrimaryKey 
Client.put =  key + BinName + BinValue

Aerospike FAQ          : http://www.aerospike.com/docs/guide/FAQ.html
Aerospike Tar Download : http://www.aerospike.com/docs/operations/install/linux/other/
Aerospike 3.6.0 Tar    :  http://www.aerospike.com/download/server/3.6.0/artifact/tgz

Tar uses in this project : http://www.aerospike.com/download/server/3.6.0/artifact/tgz 

[addToAppearHere]


Aerospike Unit Key Features:
    * Spawans a actual Aerospike Server
    * Figures out random port at runTime(for binding), thus can support multiple instances of the Aerospike server at same time on the same box.
    * Supports simultaneous build on the same box.
    * Spawns a single server for unit test case, Integration Test.
    * Indirect handle provided to spawn multiple nodes, and form a cluster by enabling multicast cluster detection.
    * Configurable Namespace, memory, Replication Factor.
    * No sudo permission required.
    * Support SingleNameSpace/MultipLe Space
    * As of now "only supported on Linux"(MAC will be taken up later, Aerospike being a C code base the binaries are different for different platform)
    * Set/Bin/Lua related featured test cases supported.
    * ShutdownHook to stop the server. 
    ***** As of now only Supported on Ubuntu(MAC will be taken up later, Aerospike being a C code base the binaries are different  for different platform )
    * build can run for both 1.7/1.8 change  project.build.targetJdk to 1.7 if needed


General Usage : 

    * AerospikeSingleNodeCluster cluster = new AerospikeSingleNodeCluster(namespace, memorySize);
              cluster.start();
             AerospikeRunTimeConfig runtimConfig = runtimConfig = cluster.getRunTimeConfiguration();
    * Faster Dev Effort Use Constructor cluster = new AerospikeSingleNodeCluster(namespace, memorySize,"file:///usr/share/aerospike.tgz");