Description

This article describes the parameters and functionality a GenRocket Receiver must implement in order to be used with the GenRocket Partition Engine. 


Required Parameters

Since the GenRocket Partition Engine may be used to generate test data across multiple instances running on multiple servers, a GenRocket Receiver, used to output data generated by a GenRocket Partition, must contain enough information to know what server it's located on, what instance it is running on and where it should output the generated data. To accomplish this goal, a Receiver must have, at a minimum, the following parameters:

  • outputPath - defines the location/base directory where the generated data will be stored.
  • outputFileName - defines the name of the output file, appended with a number (e.g. file1.txt, file2.txt, etc.)
  • subDirectoryName - defines the subdirectory name appended by a number that will be created under the base directory (e.g. data1, data2, etc.)
  • filesPerDirectory - defines the number of files to create in a subdirectory before creating a new subdirectory. 
  • rowsPerFile - defines the number of rows to insert into a file before creating a new file.
  • serverNumber - defines the server number the Receiver is running on (default = 1). This parameter is automatically updated by the GenRocket Partition Engine.
  • instanceNumber - defines the instance number the Receiver is running on within a given server (default = 1). This parameter is automatically updated by the GenRocket Partition Engine.


Example Directory Structure

The following is an example directory structure of three servers each running three instances, with each instance writing test data to a shared Amazon S3 file server.

  • server1
    • instance1: s3/server1/instance1/data1/file1.txt, file2.txt, file3.txt...
    • instance2: s3/server1/instance2/data1/file1.txt, file2.txt, file3.txt...
    • instance3: s3/server1/instance3/data1/file1.txt, file2.txt, file3.txt...
  • server2
    • instance1: s3/server2/instance1/data1/file1.txt, file2.txt, file3.txt...
    • instance2: s3/server2/instance2/data1/file1.txt, file2.txt, file3.txt...
    • instance3: s3/server2/instance3/data1/file1.txt, file2.txt, file3.txt...
  • server3
    • instance1: s3/server3/instance1/data1/file1.txt, file2.txt, file3.txt...
    • instance2: s3/server3/instance2/data1/file1.txt, file2.txt, file3.txt...
    • instance3: s3/server3/instance3/data1/file1.txt, file2.txt, file3.txt...