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;