expose journal writeBatchSize

git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@813467 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Gary Tully 2009-09-10 15:00:13 +00:00
parent ce4c065f75
commit 561cda1e45
2 changed files with 16 additions and 8 deletions

View File

@ -38,8 +38,6 @@ import org.apache.kahadb.util.LinkedNodeList;
*/
class DataFileAppender {
protected static final int DEFAULT_MAX_BATCH_SIZE = 1024 * 1024 * 4;
protected final Journal journal;
protected final Map<WriteKey, WriteCommand> inflightWrites;
protected final Object enqueueMutex = new Object() {
@ -49,7 +47,7 @@ class DataFileAppender {
protected boolean shutdown;
protected IOException firstAsyncException;
protected final CountDownLatch shutdownDone = new CountDownLatch(1);
protected int maxWriteBatchSize = DEFAULT_MAX_BATCH_SIZE;
protected int maxWriteBatchSize;
private boolean running;
private Thread thread;
@ -145,6 +143,7 @@ class DataFileAppender {
public DataFileAppender(Journal dataManager) {
this.journal = dataManager;
this.inflightWrites = this.journal.getInflightWrites();
this.maxWriteBatchSize = this.journal.getWriteBatchSize();
}
/**

View File

@ -73,7 +73,8 @@ public class Journal {
public static final int DEFAULT_MAX_FILE_LENGTH = 1024 * 1024 * 32;
public static final int DEFAULT_CLEANUP_INTERVAL = 1000 * 30;
public static final int PREFERED_DIFF = 1024 * 512;
public static final int DEFAULT_MAX_WRITE_BATCH_SIZE = 1024 * 1024 * 4;
private static final Log LOG = LogFactory.getLog(Journal.class);
protected final Map<WriteKey, WriteCommand> inflightWrites = new ConcurrentHashMap<WriteKey, WriteCommand>();
@ -86,7 +87,8 @@ public class Journal {
protected int maxFileLength = DEFAULT_MAX_FILE_LENGTH;
protected int preferedFileLength = DEFAULT_MAX_FILE_LENGTH - PREFERED_DIFF;
protected int writeBatchSize = DEFAULT_MAX_WRITE_BATCH_SIZE;
protected DataFileAppender appender;
protected DataFileAccessorPool accessorPool;
@ -102,6 +104,8 @@ public class Journal {
protected boolean checksum;
protected boolean checkForCorruptionOnStartup;
public synchronized void start() throws IOException {
if (started) {
return;
@ -175,9 +179,6 @@ public class Journal {
}
protected Location recoveryCheck(DataFile dataFile) throws IOException {
byte controlRecord[] = new byte[BATCH_CONTROL_RECORD_SIZE];
DataByteArrayInputStream controlIs = new DataByteArrayInputStream(controlRecord);
Location location = new Location();
location.setDataFileId(dataFile.getDataFileId());
location.setOffset(0);
@ -707,4 +708,12 @@ public class Journal {
public void setCheckForCorruptionOnStartup(boolean checkForCorruptionOnStartup) {
this.checkForCorruptionOnStartup = checkForCorruptionOnStartup;
}
public void setWriteBatchSize(int writeBatchSize) {
this.writeBatchSize = writeBatchSize;
}
public int getWriteBatchSize() {
return writeBatchSize;
}
}