Author: stefanegli
Date: Fri Apr 22 08:25:06 2016
New Revision: 1740462

URL: http://svn.apache.org/viewvc?rev=1740462&view=rev
Log:
OAK-4107 : avoid NPE when db.serverStatus.localTime returns null - even though 
that is unexpected - just issue a WARN then

Modified:
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java?rev=1740462&r1=1740461&r2=1740462&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java
 Fri Apr 22 08:25:06 2016
@@ -1565,6 +1565,14 @@ public class MongoDocumentStore implemen
         // assumption here: server returns UTC - ie the returned
         // date object is correctly taking care of time zones.
         final Date serverLocalTime = 
db.command("serverStatus").getDate("localTime");
+        if (serverLocalTime == null) {
+               // OAK-4107 : looks like this can happen - at least
+               // has been seen once on mongo 3.0.9
+               // let's handle this gently and issue a log.warn
+               // instead of throwing a NPE
+               LOG.warn("determineServerTimeDifferenceMillis: 
db.serverStatus.localTime returned null - cannot determine time difference - 
assuming 0ms");
+               return 0;
+        }
         final long end = System.currentTimeMillis();
 
         final long midPoint = (start + end) / 2;


Reply via email to