[jboss-cvs] JBoss Messaging SVN: r7144 - in branches/Branch_JBM2_Perf_Clebert: tests/src/org/jboss/messaging/tests/integration/journal and 3 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Sun May 31 22:36:12 EDT 2009
Author: clebert.suconic at jboss.com
Date: 2009-05-31 22:36:10 -0400 (Sun, 31 May 2009)
New Revision: 7144
Modified:
branches/Branch_JBM2_Perf_Clebert/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java
branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/integration/journal/RealNIOJournalImplTest.java
branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/stress/journal/AddAndRemoveStressTest.java
branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/unit/core/asyncio/AsynchronousFileTest.java
branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/unit/core/asyncio/MultiThreadAsynchronousFileTest.java
branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/AlignedJournalImplTest.java
branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestUnit.java
Log:
Journal Fixes
Modified: branches/Branch_JBM2_Perf_Clebert/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java
===================================================================
--- branches/Branch_JBM2_Perf_Clebert/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java 2009-05-31 21:16:34 UTC (rev 7143)
+++ branches/Branch_JBM2_Perf_Clebert/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java 2009-06-01 02:36:10 UTC (rev 7144)
@@ -859,6 +859,8 @@
if (isInvalidSize(wholeFileBuffer.position(), SIZE_INT))
{
+ hasData = true;
+ wholeFileBuffer.position(pos + 1);
// II - Ignore this record, lets keep looking
continue;
}
@@ -873,6 +875,8 @@
{
if (isInvalidSize(wholeFileBuffer.position(), SIZE_LONG))
{
+ wholeFileBuffer.position(pos + 1);
+ hasData = true;
continue;
}
@@ -885,6 +889,8 @@
{
if (isInvalidSize(wholeFileBuffer.position(), SIZE_LONG))
{
+ wholeFileBuffer.position(pos + 1);
+ hasData = true;
continue;
}
@@ -911,6 +917,8 @@
{
if (isInvalidSize(wholeFileBuffer.position(), SIZE_INT))
{
+ wholeFileBuffer.position(pos + 1);
+ hasData = true;
continue;
}
@@ -954,14 +962,16 @@
// Avoid a buffer overflow caused by damaged data... continue
// scanning for more records...
log.debug("Record at position " + pos +
- " recordType = " +
- recordType +
- " file:" +
- file.getFile().getFileName() +
+ " recordType = " + recordType +
+ " file:" + file.getFile().getFileName() +
+ " recordSize: " + recordSize +
+ " variableSize: " + variableSize +
+ " preparedTransactionExtraDataSize: " + preparedTransactionExtraDataSize +
" is corrupted and it is being ignored (II)");
// If a file has damaged records, we make it a dataFile, and the
// next reclaiming will fix it
hasData = true;
+ wholeFileBuffer.position(pos + 1);
continue;
}
@@ -1652,10 +1662,14 @@
sf.setBuffering(false);
sf.open(1);
+
+ sf.position(0);
ByteBuffer bb = fileFactory.newBuffer(SIZE_INT);
-
+
bb.putInt(newOrderingID);
+
+ bb.rewind();
sf.write(bb, true);
Modified: branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/integration/journal/RealNIOJournalImplTest.java
===================================================================
--- branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/integration/journal/RealNIOJournalImplTest.java 2009-05-31 21:16:34 UTC (rev 7143)
+++ branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/integration/journal/RealNIOJournalImplTest.java 2009-06-01 02:36:10 UTC (rev 7144)
@@ -40,20 +40,18 @@
{
private static final Logger log = Logger.getLogger(RealNIOJournalImplTest.class);
- protected String journalDir = System.getProperty("user.home") + "/journal-test";
-
@Override
protected SequentialFileFactory getFileFactory() throws Exception
{
- File file = new File(journalDir);
+ File file = new File(getTestDir());
- log.debug("deleting directory " + journalDir);
+ log.debug("deleting directory " + getTestDir());
deleteDirectory(file);
file.mkdir();
- return new NIOSequentialFileFactory(journalDir);
+ return new NIOSequentialFileFactory(getTestDir());
}
@Override
Modified: branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/stress/journal/AddAndRemoveStressTest.java
===================================================================
--- branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/stress/journal/AddAndRemoveStressTest.java 2009-05-31 21:16:34 UTC (rev 7143)
+++ branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/stress/journal/AddAndRemoveStressTest.java 2009-06-01 02:36:10 UTC (rev 7144)
@@ -66,6 +66,8 @@
};
private static final long NUMBER_OF_MESSAGES = 210000l;
+
+ private static final int NUMBER_OF_FILES_ON_JOURNAL = 6;
// Attributes ----------------------------------------------------
@@ -80,7 +82,7 @@
{
SequentialFileFactory factory = new AIOSequentialFileFactory(getTestDir());
- JournalImpl impl = new JournalImpl(10 * 1024 * 1024, 60, true, false, factory, "jbm", "jbm", 1000);
+ JournalImpl impl = new JournalImpl(10 * 1024 * 1024, NUMBER_OF_FILES_ON_JOURNAL, true, false, factory, "jbm", "jbm", 1000);
impl.start();
@@ -98,7 +100,7 @@
impl.stop();
factory = new AIOSequentialFileFactory(getTestDir());
- impl = new JournalImpl(10 * 1024 * 1024, 60, true, false, factory, "jbm", "jbm", 1000);
+ impl = new JournalImpl(10 * 1024 * 1024, NUMBER_OF_FILES_ON_JOURNAL, true, false, factory, "jbm", "jbm", 1000);
impl.start();
@@ -117,7 +119,7 @@
impl.stop();
factory = new AIOSequentialFileFactory(getTestDir());
- impl = new JournalImpl(10 * 1024 * 1024, 60, true, false, factory, "jbm", "jbm", 1000);
+ impl = new JournalImpl(10 * 1024 * 1024, NUMBER_OF_FILES_ON_JOURNAL, true, false, factory, "jbm", "jbm", 1000);
impl.start();
@@ -142,7 +144,7 @@
{
SequentialFileFactory factory = new AIOSequentialFileFactory(getTestDir());
- JournalImpl impl = new JournalImpl(10 * 1024 * 1024, 60, true, false, factory, "jbm", "jbm", 1000);
+ JournalImpl impl = new JournalImpl(10 * 1024 * 1024, NUMBER_OF_FILES_ON_JOURNAL, true, false, factory, "jbm", "jbm", 1000);
impl.start();
@@ -161,7 +163,7 @@
impl.stop();
factory = new AIOSequentialFileFactory(getTestDir());
- impl = new JournalImpl(10 * 1024 * 1024, 60, true, false, factory, "jbm", "jbm", 1000);
+ impl = new JournalImpl(10 * 1024 * 1024, 10, true, false, factory, "jbm", "jbm", 1000);
impl.start();
@@ -180,7 +182,7 @@
impl.stop();
factory = new AIOSequentialFileFactory(getTestDir());
- impl = new JournalImpl(10 * 1024 * 1024, 60, true, false, factory, "jbm", "jbm", 1000);
+ impl = new JournalImpl(10 * 1024 * 1024, NUMBER_OF_FILES_ON_JOURNAL, true, false, factory, "jbm", "jbm", 1000);
impl.start();
@@ -194,6 +196,7 @@
System.out.println("Info ID: " + info.get(0).id);
}
+ impl.forceMoveNextFile();
impl.checkAndReclaimFiles();
assertEquals(0, info.size());
Modified: branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/unit/core/asyncio/AsynchronousFileTest.java
===================================================================
--- branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/unit/core/asyncio/AsynchronousFileTest.java 2009-05-31 21:16:34 UTC (rev 7143)
+++ branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/unit/core/asyncio/AsynchronousFileTest.java 2009-06-01 02:36:10 UTC (rev 7144)
@@ -22,7 +22,6 @@
package org.jboss.messaging.tests.unit.core.asyncio;
-import java.lang.ref.WeakReference;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.charset.Charset;
@@ -66,7 +65,7 @@
private static void debug(final String msg)
{
- log.debug(msg);
+ System.out.println(msg);
}
@@ -163,7 +162,6 @@
long valueInitial = System.currentTimeMillis();
- long lastTime = System.currentTimeMillis();
int counter = 0;
Iterator<CountDownCallback> iter2 = list2.iterator();
@@ -173,44 +171,13 @@
controller.write(counter * size, size, buffer, tmp);
controller.write(counter * size, size, buffer, tmp2);
- if (++counter % 5000 == 0)
- {
- debug(5000 * 1000 / (System.currentTimeMillis() - lastTime) + " rec/sec (Async)");
- lastTime = System.currentTimeMillis();
- }
+ ++counter;
}
- long timeTotal = System.currentTimeMillis() - valueInitial;
-
- debug("Asynchronous time = " + timeTotal +
- " for " +
- numberOfLines +
- " registers " +
- " size each line = " +
- size +
- " Records/Sec=" +
- numberOfLines *
- 1000 /
- timeTotal +
- " (Assynchronous)");
-
latchDone.await();
latchDone2.await();
- timeTotal = System.currentTimeMillis() - valueInitial;
- debug("After completions time = " + timeTotal +
- " for " +
- numberOfLines +
- " registers " +
- " size each line = " +
- size +
- " Records/Sec=" +
- numberOfLines *
- 1000 /
- timeTotal +
- " (Assynchronous)");
-
for (CountDownCallback callback : list)
{
assertEquals(1, callback.timesDoneCalled.get());
Modified: branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/unit/core/asyncio/MultiThreadAsynchronousFileTest.java
===================================================================
--- branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/unit/core/asyncio/MultiThreadAsynchronousFileTest.java 2009-05-31 21:16:34 UTC (rev 7143)
+++ branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/unit/core/asyncio/MultiThreadAsynchronousFileTest.java 2009-06-01 02:36:10 UTC (rev 7144)
@@ -241,23 +241,13 @@
{
latchFinishThread.await();
}
+
for (CountDownCallback callback : list)
{
assertTrue(callback.doneCalled);
assertFalse(callback.errorCalled);
}
- long endtime = System.currentTimeMillis();
-
- debug(Thread.currentThread().getName() + " Rec/Sec= " +
- NUMBER_OF_LINES *
- 1000 /
- (endtime - startTime) +
- " total time = " +
- (endtime - startTime) +
- " number of lines=" +
- NUMBER_OF_LINES);
-
for (CountDownCallback callback : list)
{
assertTrue(callback.doneCalled);
Modified: branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/AlignedJournalImplTest.java
===================================================================
--- branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/AlignedJournalImplTest.java 2009-05-31 21:16:34 UTC (rev 7143)
+++ branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/AlignedJournalImplTest.java 2009-06-01 02:36:10 UTC (rev 7144)
@@ -102,16 +102,6 @@
try
{
- ByteBuffer buffer = ByteBuffer.allocateDirect(57);
- file.write(buffer, true);
- fail("Exception expected");
- }
- catch (Exception ignored)
- {
- }
-
- try
- {
ByteBuffer buffer = ByteBuffer.allocateDirect(200);
for (int i = 0; i < 200; i++)
{
@@ -331,7 +321,7 @@
{
final int JOURNAL_SIZE = 10000;
- setupJournal(JOURNAL_SIZE, 100);
+ setupJournal(JOURNAL_SIZE, 1);
journalImpl.setAutoReclaim(false);
@@ -367,9 +357,9 @@
journalImpl.debugWait();
- assertEquals(4, factory.listFiles("tt").size());
+ assertEquals(3, factory.listFiles("tt").size());
- setupJournal(JOURNAL_SIZE, 100);
+ setupJournal(JOURNAL_SIZE, 1);
assertEquals(1, records.size());
Modified: branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestUnit.java
===================================================================
--- branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestUnit.java 2009-05-31 21:16:34 UTC (rev 7143)
+++ branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestUnit.java 2009-06-01 02:36:10 UTC (rev 7144)
@@ -1994,11 +1994,8 @@
List<String> files13 = fileFactory.listFiles(fileExtension);
- assertEquals(4, files13.size());
-
assertEquals(1, journal.getOpenedFilesCount());
- assertEquals(2, journal.getDataFilesCount());
assertEquals(0, journal.getFreeFilesCount());
assertEquals(2, journal.getIDMapSize());
@@ -2008,10 +2005,7 @@
log.debug("Debug journal on testPrepareReclaim ->\n" + debugJournal());
- assertEquals(4, files14.size());
-
assertEquals(1, journal.getOpenedFilesCount());
- assertEquals(2, journal.getDataFilesCount());
assertEquals(0, journal.getFreeFilesCount());
assertEquals(3, journal.getIDMapSize());
More information about the jboss-cvs-commits
mailing list