diff --git a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/DatasetInfo.java b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/DatasetInfo.java
index 72dacc4..7483a17 100644
--- a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/DatasetInfo.java
+++ b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/DatasetInfo.java
@@ -45,6 +45,7 @@
     private int numActiveIOOps;
     private int pendingFlushes;
     private int pendingMerges;
+    private int pendingReplications;
     private long lastAccess;
     private boolean isExternal;
     private boolean isRegistered;
@@ -82,6 +83,9 @@
             case MERGE:
                 pendingMerges++;
                 break;
+            case REPLICATE:
+                pendingReplications++;
+                break;
             default:
                 break;
         }
@@ -96,6 +100,9 @@
             case MERGE:
                 pendingMerges--;
                 break;
+            case REPLICATE:
+                pendingReplications--;
+                break;
             default:
                 break;
         }
@@ -251,4 +258,8 @@
     public synchronized int getPendingMerges() {
         return pendingMerges;
     }
+
+    public synchronized int getPendingReplications() {
+        return pendingReplications;
+    }
 }
diff --git a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/DatasetLifecycleManager.java b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/DatasetLifecycleManager.java
index bd24696..c431dca 100644
--- a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/DatasetLifecycleManager.java
+++ b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/DatasetLifecycleManager.java
@@ -562,6 +562,7 @@
         for (DatasetResource dsr : datasets.values()) {
             stats.addPendingFlushes(dsr.getDatasetInfo().getPendingFlushes());
             stats.addPendingMerges(dsr.getDatasetInfo().getPendingMerges());
+            stats.addPendingReplications(dsr.getDatasetInfo().getPendingReplications());
         }
         return stats;
     }
diff --git a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/storage/StorageIOStats.java b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/storage/StorageIOStats.java
index 0b44f76..da4578f 100644
--- a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/storage/StorageIOStats.java
+++ b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/storage/StorageIOStats.java
@@ -22,6 +22,7 @@
 
     private int pendingFlushes;
     private int pendingMerges;
+    private int pendingReplications;
 
     public void addPendingFlushes(int pending) {
         pendingFlushes += pending;
@@ -31,6 +32,10 @@
         pendingMerges += pending;
     }
 
+    public void addPendingReplications(int pending) {
+        pendingReplications += pending;
+    }
+
     public int getPendingFlushes() {
         return pendingFlushes;
     }
@@ -38,4 +43,8 @@
     public int getPendingMerges() {
         return pendingMerges;
     }
+
+    public int getPendingReplications() {
+        return pendingReplications;
+    }
 }
