activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From chir...@apache.org
Subject svn commit: r412759 - in /incubator/activemq/trunk/activeio/activeio-core/src: main/java/org/apache/activeio/journal/active/ test/java/org/apache/activeio/journal/ test/java/org/apache/activeio/journal/active/
Date Thu, 08 Jun 2006 14:15:56 GMT
Author: chirino
Date: Thu Jun  8 07:15:55 2006
New Revision: 412759

URL: http://svn.apache.org/viewvc?rev=412759&view=rev
Log:
Fixed overflow notification could eventually get into infinate recusion.

Modified:
    incubator/activemq/trunk/activeio/activeio-core/src/main/java/org/apache/activeio/journal/active/JournalImpl.java
    incubator/activemq/trunk/activeio/activeio-core/src/test/java/org/apache/activeio/journal/JournalPerfToolSupport.java
    incubator/activemq/trunk/activeio/activeio-core/src/test/java/org/apache/activeio/journal/active/JournalPerfTool.java

Modified: incubator/activemq/trunk/activeio/activeio-core/src/main/java/org/apache/activeio/journal/active/JournalImpl.java
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activeio/activeio-core/src/main/java/org/apache/activeio/journal/active/JournalImpl.java?rev=412759&r1=412758&r2=412759&view=diff
==============================================================================
--- incubator/activemq/trunk/activeio/activeio-core/src/main/java/org/apache/activeio/journal/active/JournalImpl.java
(original)
+++ incubator/activemq/trunk/activeio/activeio-core/src/main/java/org/apache/activeio/journal/active/JournalImpl.java
Thu Jun  8 07:15:55 2006
@@ -86,7 +86,8 @@
     private ByteBufferPacketPool packetPool;
     private long overflowNotificationTime = System.currentTimeMillis();
     private Packet markPacket = new ByteArrayPacket(new byte[Location.SERIALIZED_SIZE]);
-
+    private boolean doingNotification=false;
+    
     public JournalImpl(File logDirectory) throws IOException {
         this(new LogFileManager(logDirectory));
     }
@@ -267,13 +268,17 @@
 
         // See if we need to issue an overflow notification.
         if (eventListener != null && file.isPastHalfActive()
-                && overflowNotificationTime + OVERFLOW_RENOTIFICATION_DELAY <
System.currentTimeMillis()) {
-
-            // We need to send an overflow notification to free up
-            // some logFiles.
-            Location safeSpot = file.getFirstRecordLocationOfSecondActiveLogFile();
-            eventListener.overflowNotification(safeSpot);
-            overflowNotificationTime = System.currentTimeMillis();
+                && overflowNotificationTime + OVERFLOW_RENOTIFICATION_DELAY <
System.currentTimeMillis() && !doingNotification ) {
+            doingNotification = true;
+            try {
+                // We need to send an overflow notification to free up
+                // some logFiles.
+                Location safeSpot = file.getFirstRecordLocationOfSecondActiveLogFile();
+                eventListener.overflowNotification(safeSpot);
+                overflowNotificationTime = System.currentTimeMillis();
+            } finally {
+                doingNotification = false;
+            }
         }
 
         // Is it time to roll over?

Modified: incubator/activemq/trunk/activeio/activeio-core/src/test/java/org/apache/activeio/journal/JournalPerfToolSupport.java
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activeio/activeio-core/src/test/java/org/apache/activeio/journal/JournalPerfToolSupport.java?rev=412759&r1=412758&r2=412759&view=diff
==============================================================================
--- incubator/activemq/trunk/activeio/activeio-core/src/test/java/org/apache/activeio/journal/JournalPerfToolSupport.java
(original)
+++ incubator/activemq/trunk/activeio/activeio-core/src/test/java/org/apache/activeio/journal/JournalPerfToolSupport.java
Thu Jun  8 07:15:55 2006
@@ -153,7 +153,7 @@
     
 	public void overflowNotification(RecordLocation safeLocation) {
 		try {
-			System.out.println("Mark set: "+safeLocation);
+			// System.out.println("Mark set: "+safeLocation);
 			journal.setMark(safeLocation, false);
 		} catch (InvalidRecordLocationException e) {
 			e.printStackTrace();

Modified: incubator/activemq/trunk/activeio/activeio-core/src/test/java/org/apache/activeio/journal/active/JournalPerfTool.java
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activeio/activeio-core/src/test/java/org/apache/activeio/journal/active/JournalPerfTool.java?rev=412759&r1=412758&r2=412759&view=diff
==============================================================================
--- incubator/activemq/trunk/activeio/activeio-core/src/test/java/org/apache/activeio/journal/active/JournalPerfTool.java
(original)
+++ incubator/activemq/trunk/activeio/activeio-core/src/test/java/org/apache/activeio/journal/active/JournalPerfTool.java
Thu Jun  8 07:15:55 2006
@@ -30,11 +30,16 @@
  */
 public class JournalPerfTool extends JournalPerfToolSupport {
 	
-	private int logFileSize = 1024*1000*5;
+	private int logFileSize = 1024*1024*50;
     private int logFileCount = 4;
 	
 	public static void main(String[] args) throws Exception {
 		JournalPerfTool tool = new JournalPerfTool();
+        tool.syncFrequency=15;
+        tool.workerIncrement=50;
+        tool.workerThinkTime=0;
+        tool.verbose=false;
+
 		if( args.length > 0 ) {
 			tool.journalDirectory = new File(args[0]);
 		}



Mime
View raw message