internal ReadThreadsTest(int rec_count, int rec_per_segment)
{
this.TEST_RECORD_COUNT = rec_count;
this.RECORDS_PER_SEGMENT = rec_per_segment;
System.GC.Collect();
db = new LayerManager(InitMode.NEW_REGION, "c:\\BENDtst\\10");
testdata = new SortedDictionary<string, string>();
testrows = new SortedDictionary<RecordKey, RecordUpdate>();
// generate some data
for (int i=0;i<TEST_RECORD_COUNT;i++) {
string key = "test/" + i.ToString();
string value = "data: " + key;
testdata[key] = value;
RecordKey rkey = new RecordKey().appendParsedKey(key);
RecordUpdate rupdate = RecordUpdate.WithPayload(value);
testrows[rkey] = rupdate;
}
// fill the db with some data.
int pos = 0;
foreach (KeyValuePair<RecordKey,RecordUpdate> kvp in testrows) {
LayerWriteGroup txn = db.newWriteGroup();
txn.setValue(kvp.Key, kvp.Value);
txn.finish();
pos++;
if ((pos % RECORDS_PER_SEGMENT) == 0) {
db.flushWorkingSegment();
}
}
db.flushWorkingSegment();
}