[Freemail] r19935 - trunk/apps/Freemail/src/freemail

Top Page
Delete this message
Reply to this message
Author: dbkr
Date:  
To: freemail
Subject: [Freemail] r19935 - trunk/apps/Freemail/src/freemail
Author: dbkr
Date: 2008-05-14 23:28:56 +0000 (Wed, 14 May 2008)
New Revision: 19935

Modified:
trunk/apps/Freemail/src/freemail/OutboundContact.java
Log:
Handle collisions on message inserts (should never happen under normal circumstances, but let's do it for good measure). Also add the error code for a failed message insert.


Modified: trunk/apps/Freemail/src/freemail/OutboundContact.java
===================================================================
--- trunk/apps/Freemail/src/freemail/OutboundContact.java    2008-05-14 23:27:47 UTC (rev 19934)
+++ trunk/apps/Freemail/src/freemail/OutboundContact.java    2008-05-14 23:28:56 UTC (rev 19935)
@@ -720,6 +720,10 @@
                    msgs[i].first_send_time = System.currentTimeMillis();
                msgs[i].last_send_time = System.currentTimeMillis();
                msgs[i].saveProps();
+            } else if (err.errorcode == FCPInsertErrorMessage.COLLISION) {
+                msgs[i].slot = popNextSlot();
+                Logger.error(this, "Insert collided! Assigned new slot: "+msgs[i].slot);
+                msgs[i].saveProps();
            } else if (msgs[i].added_time + FAIL_DELAY < System.currentTimeMillis()) {
                Logger.normal(this,"Giving up on a message - been trying to send for too long. Bouncing.");
                if (Postman.bounceMessage(msgs[i].getMessageFile(), account.getMessageBank(),
@@ -728,7 +732,7 @@
                    msgs[i].delete();
                }
            } else {
-                Logger.normal(this,"Failed to insert "+key+" will try again soon.");
+                Logger.normal(this,"Failed to insert "+key+" (error code "+err.errorcode+") will try again soon.");
            }
        }
    }