package org.mapdb.issues;
import org.junit.Test;
import org.mapdb.*;
import java.io.File;
public class Issue746Test {
File f = TT.tempFile();
@Test public void test() {
run();
run();
run();
run();
run();
run();
}
protected void run(){
DB db = DBMaker
.fileDB(f)
.closeOnJvmShutdown()
.transactionEnable()
.make();
HTreeMap map = db
.hashMap("map")
.keySerializer(Serializer.STRING)
.valueSerializer(Serializer.JAVA)
.createOrOpen();
//Putting data in
// System.out.println("Storing data");
map.put("something", "here");
for (int i = 0; i < 100; i++) {
map.put(""+i, "value-a"+i);
}
// System.out.println("Commiting transaction");
db.commit(); //Here I get the stacktrace the second time.
// System.out.println("Loading data");
for (int i = 0; i < 100; i++) {
Object get = map.get(""+i);
// System.out.println(get);
}
// System.out.println(map.get("something"));
// System.out.println("Clearing data");
map.clear();
// System.out.println("Commiting transaction");
db.commit();
// System.out.println("Loading data");
for (int i = 0; i < 1000; i++) {
Object get = map.get(""+i);
// System.out.println(get);
}
db.close();
// System.out.println(map.get("something"));
// System.out.println("Done");
}
}