You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by al...@apache.org on 2015/07/16 15:03:44 UTC

svn commit: r1691394 - in /jackrabbit/oak/trunk/oak-tarmk-standby/src/main/java/org/apache/jackrabbit/oak/plugins/segment/standby: client/StandbyClient.java jmx/ClientStandbyStatusMBean.java

Author: alexparvulescu
Date: Thu Jul 16 13:03:44 2015
New Revision: 1691394

URL: http://svn.apache.org/r1691394
Log:
OAK-3113 ColdStandby should provide sync start and end timestamps

Modified:
    jackrabbit/oak/trunk/oak-tarmk-standby/src/main/java/org/apache/jackrabbit/oak/plugins/segment/standby/client/StandbyClient.java
    jackrabbit/oak/trunk/oak-tarmk-standby/src/main/java/org/apache/jackrabbit/oak/plugins/segment/standby/jmx/ClientStandbyStatusMBean.java

Modified: jackrabbit/oak/trunk/oak-tarmk-standby/src/main/java/org/apache/jackrabbit/oak/plugins/segment/standby/client/StandbyClient.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-tarmk-standby/src/main/java/org/apache/jackrabbit/oak/plugins/segment/standby/client/StandbyClient.java?rev=1691394&r1=1691393&r2=1691394&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-tarmk-standby/src/main/java/org/apache/jackrabbit/oak/plugins/segment/standby/client/StandbyClient.java (original)
+++ jackrabbit/oak/trunk/oak-tarmk-standby/src/main/java/org/apache/jackrabbit/oak/plugins/segment/standby/client/StandbyClient.java Thu Jul 16 13:03:44 2015
@@ -81,6 +81,9 @@ public final class StandbyClient impleme
 
     private final AtomicBoolean running = new AtomicBoolean(true);
 
+    private long syncStartTimestamp;
+    private long syncEndTimestamp;
+
     public StandbyClient(String host, int port, SegmentStore store) throws SSLException {
         this(host, port, store, false, 10000);
     }
@@ -95,6 +98,8 @@ public final class StandbyClient impleme
             throws SSLException {
         this.state = STATUS_INITIALIZING;
         this.lastSuccessfulRequest = -1;
+        this.syncStartTimestamp = -1;
+        this.syncEndTimestamp = -1;
         this.failedRequests = 0;
         this.host = host;
         this.port = port;
@@ -181,6 +186,7 @@ public final class StandbyClient impleme
         }
 
         try {
+            syncStartTimestamp = System.currentTimeMillis();
             // Start the client.
             ChannelFuture f = b.connect(host, port).sync();
             // Wait until the connection is closed.
@@ -195,6 +201,7 @@ public final class StandbyClient impleme
                 this.active = false;
                 shutdownNetty();
             }
+            syncEndTimestamp = System.currentTimeMillis();
         }
     }
 
@@ -261,4 +268,15 @@ public final class StandbyClient impleme
     public void cleanup() {
         store.cleanup();
     }
+
+    @Override
+    public long getSyncStartTimestamp() {
+        return syncStartTimestamp;
+    }
+
+    @Override
+    public long getSyncEndTimestamp() {
+        return syncEndTimestamp;
+    }
+
 }

Modified: jackrabbit/oak/trunk/oak-tarmk-standby/src/main/java/org/apache/jackrabbit/oak/plugins/segment/standby/jmx/ClientStandbyStatusMBean.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-tarmk-standby/src/main/java/org/apache/jackrabbit/oak/plugins/segment/standby/jmx/ClientStandbyStatusMBean.java?rev=1691394&r1=1691393&r2=1691394&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-tarmk-standby/src/main/java/org/apache/jackrabbit/oak/plugins/segment/standby/jmx/ClientStandbyStatusMBean.java (original)
+++ jackrabbit/oak/trunk/oak-tarmk-standby/src/main/java/org/apache/jackrabbit/oak/plugins/segment/standby/jmx/ClientStandbyStatusMBean.java Thu Jul 16 13:03:44 2015
@@ -27,6 +27,12 @@ public interface ClientStandbyStatusMBea
     @Description("number of seconds since last successful request")
     int getSecondsSinceLastSuccess();
 
+    @Description("Local timestamp of the moment when the last sync cycle was started")
+    long getSyncStartTimestamp();
+
+    @Description("Local timestamp of the moment when the last sync cycle ended")
+    long getSyncEndTimestamp();
+
     // expose the informations as operations, too
 
     @Description("number of consecutive failed requests")