package org.mapdb.issues;
import org.junit.Test;
import org.mapdb.DB;
import org.mapdb.DBMaker;
import org.mapdb.Serializer;
import org.mapdb.TT;
import java.io.Serializable;
import java.util.ArrayList;
public class Issue794 {
public static class DataPoint extends ArrayList<String> implements Serializable
{
private static final long serialVersionUID = -3660080037783514247L;
public DataPoint()
{
super(5);
}
}
double limit = TT.testScale()*1e5 + 100;
@Test
public void test() {
DB db = DBMaker.memoryDB().closeOnJvmShutdown().make();
DB.TreeMapSink<Long, DataPoint> sIds2DataPointSink =
db.treeMap("ids2DataPoint", Serializer.LONG, Serializer.ELSA).valuesOutsideNodesEnable().createFromSink();
for (long i=0;i<limit;i++)
{
DataPoint point = new DataPoint();
point.add("aaa");
point.add("aaa");
point.add("aaa");
point.add("aaa");
//insert 70G DataPoint entities, each filled with 5 Strings
sIds2DataPointSink.put(i, point);
}
//here the error occurs
sIds2DataPointSink.create();
db.close();
}
}