|
16 | 16 | package com.google.cloud.bigtable.hbase.replication; |
17 | 17 |
|
18 | 18 | import static com.google.cloud.bigtable.hbase.replication.metrics.HBaseToCloudBigtableReplicationMetrics.DROPPED_INCOMPATIBLE_MUTATION_METRIC_KEY; |
| 19 | +import static com.google.cloud.bigtable.hbase.replication.metrics.HBaseToCloudBigtableReplicationMetrics.INCOMPATIBLE_MUTATION_DELETES_METRICS_KEY; |
19 | 20 | import static com.google.cloud.bigtable.hbase.replication.metrics.HBaseToCloudBigtableReplicationMetrics.INCOMPATIBLE_MUTATION_METRIC_KEY; |
| 21 | +import static com.google.cloud.bigtable.hbase.replication.metrics.HBaseToCloudBigtableReplicationMetrics.INCOMPATIBLE_MUTATION_TIMESTAMP_OVERFLOW_METRIC_KEY; |
| 22 | +import static com.google.cloud.bigtable.hbase.replication.metrics.HBaseToCloudBigtableReplicationMetrics.PUTS_IN_FUTURE_METRIC_KEY; |
20 | 23 | import static com.google.cloud.bigtable.hbase.replication.utils.TestUtils.CF1; |
21 | 24 | import static com.google.cloud.bigtable.hbase.replication.utils.TestUtils.ROW_KEY; |
22 | 25 | import static com.google.cloud.bigtable.hbase.replication.utils.TestUtils.TABLE_NAME_STRING; |
@@ -107,8 +110,13 @@ public void testReplicateDryRun() { |
107 | 110 | // Called during the constructor |
108 | 111 | verify(mockMetricExporter).incCounters(INCOMPATIBLE_MUTATION_METRIC_KEY, 0); |
109 | 112 | verify(mockMetricExporter).incCounters(DROPPED_INCOMPATIBLE_MUTATION_METRIC_KEY, 0); |
| 113 | + verify(mockMetricExporter).incCounters(INCOMPATIBLE_MUTATION_DELETES_METRICS_KEY, 0); |
| 114 | + verify(mockMetricExporter).incCounters(INCOMPATIBLE_MUTATION_TIMESTAMP_OVERFLOW_METRIC_KEY, 0); |
| 115 | + verify(mockMetricExporter).incCounters(PUTS_IN_FUTURE_METRIC_KEY, 0); |
| 116 | + |
110 | 117 | // Incremented due to incompatible DeleteFamilyVersion mutation |
111 | 118 | verify(mockMetricExporter).incCounters(INCOMPATIBLE_MUTATION_METRIC_KEY, 1); |
| 119 | + verify(mockMetricExporter).incCounters(INCOMPATIBLE_MUTATION_DELETES_METRICS_KEY, 1); |
112 | 120 | verify(mockMetricExporter).incCounters(DROPPED_INCOMPATIBLE_MUTATION_METRIC_KEY, 1); |
113 | 121 |
|
114 | 122 | Mockito.verifyNoMoreInteractions(mockMetricExporter); |
@@ -151,6 +159,10 @@ public void testReplicateDoesNotSplitInBatches() throws IOException { |
151 | 159 | // called during constructor |
152 | 160 | verify(mockMetricExporter).incCounters(INCOMPATIBLE_MUTATION_METRIC_KEY, 0); |
153 | 161 | verify(mockMetricExporter).incCounters(DROPPED_INCOMPATIBLE_MUTATION_METRIC_KEY, 0); |
| 162 | + verify(mockMetricExporter).incCounters(INCOMPATIBLE_MUTATION_DELETES_METRICS_KEY, 0); |
| 163 | + verify(mockMetricExporter).incCounters(INCOMPATIBLE_MUTATION_TIMESTAMP_OVERFLOW_METRIC_KEY, 0); |
| 164 | + verify(mockMetricExporter).incCounters(PUTS_IN_FUTURE_METRIC_KEY, 0); |
| 165 | + |
154 | 166 | // Replicator should submit just 1 CloudBigtableReplicationTask for both WALEntries |
155 | 167 | verify(mockExecutorService) |
156 | 168 | .submit( |
@@ -198,6 +210,9 @@ public void testReplicateSplitsBatchesOnRowBoundary() throws IOException { |
198 | 210 | // called during constructor |
199 | 211 | verify(mockMetricExporter).incCounters(INCOMPATIBLE_MUTATION_METRIC_KEY, 0); |
200 | 212 | verify(mockMetricExporter).incCounters(DROPPED_INCOMPATIBLE_MUTATION_METRIC_KEY, 0); |
| 213 | + verify(mockMetricExporter).incCounters(INCOMPATIBLE_MUTATION_DELETES_METRICS_KEY, 0); |
| 214 | + verify(mockMetricExporter).incCounters(INCOMPATIBLE_MUTATION_TIMESTAMP_OVERFLOW_METRIC_KEY, 0); |
| 215 | + verify(mockMetricExporter).incCounters(PUTS_IN_FUTURE_METRIC_KEY, 0); |
201 | 216 |
|
202 | 217 | // Replicator should split WALs into 2 CloudBigtableReplicationTask at row keys |
203 | 218 | verify(mockExecutorService) |
@@ -251,6 +266,9 @@ public void testReplicateSplitsBatchesOnTableBoundary() throws IOException { |
251 | 266 | // called during constructor |
252 | 267 | verify(mockMetricExporter).incCounters(INCOMPATIBLE_MUTATION_METRIC_KEY, 0); |
253 | 268 | verify(mockMetricExporter).incCounters(DROPPED_INCOMPATIBLE_MUTATION_METRIC_KEY, 0); |
| 269 | + verify(mockMetricExporter).incCounters(INCOMPATIBLE_MUTATION_DELETES_METRICS_KEY, 0); |
| 270 | + verify(mockMetricExporter).incCounters(INCOMPATIBLE_MUTATION_TIMESTAMP_OVERFLOW_METRIC_KEY, 0); |
| 271 | + verify(mockMetricExporter).incCounters(PUTS_IN_FUTURE_METRIC_KEY, 0); |
254 | 272 |
|
255 | 273 | // Replicator should split WALs into 2 CloudBigtableReplicationTask at table boundary |
256 | 274 | verify(mockExecutorService) |
@@ -300,6 +318,9 @@ public void testReplicateFailsOnAnyFailure() throws IOException { |
300 | 318 | // called during constructor |
301 | 319 | verify(mockMetricExporter).incCounters(INCOMPATIBLE_MUTATION_METRIC_KEY, 0); |
302 | 320 | verify(mockMetricExporter).incCounters(DROPPED_INCOMPATIBLE_MUTATION_METRIC_KEY, 0); |
| 321 | + verify(mockMetricExporter).incCounters(INCOMPATIBLE_MUTATION_DELETES_METRICS_KEY, 0); |
| 322 | + verify(mockMetricExporter).incCounters(INCOMPATIBLE_MUTATION_TIMESTAMP_OVERFLOW_METRIC_KEY, 0); |
| 323 | + verify(mockMetricExporter).incCounters(PUTS_IN_FUTURE_METRIC_KEY, 0); |
303 | 324 |
|
304 | 325 | // Replicator should split WALs into 2 CloudBigtableReplicationTask at row keys |
305 | 326 | verify(mockExecutorService) |
@@ -349,6 +370,9 @@ public void testReplicateFailsOnAnyFutureFailure() throws IOException { |
349 | 370 | // called during constructor |
350 | 371 | verify(mockMetricExporter).incCounters(INCOMPATIBLE_MUTATION_METRIC_KEY, 0); |
351 | 372 | verify(mockMetricExporter).incCounters(DROPPED_INCOMPATIBLE_MUTATION_METRIC_KEY, 0); |
| 373 | + verify(mockMetricExporter).incCounters(INCOMPATIBLE_MUTATION_DELETES_METRICS_KEY, 0); |
| 374 | + verify(mockMetricExporter).incCounters(INCOMPATIBLE_MUTATION_TIMESTAMP_OVERFLOW_METRIC_KEY, 0); |
| 375 | + verify(mockMetricExporter).incCounters(PUTS_IN_FUTURE_METRIC_KEY, 0); |
352 | 376 |
|
353 | 377 | // Replicator should split WALs into 2 CloudBigtableReplicationTask at row keys |
354 | 378 | verify(mockExecutorService) |
@@ -398,6 +422,9 @@ public void testReplicateFailsToSubmitTask() throws IOException { |
398 | 422 | // called during constructor |
399 | 423 | verify(mockMetricExporter).incCounters(INCOMPATIBLE_MUTATION_METRIC_KEY, 0); |
400 | 424 | verify(mockMetricExporter).incCounters(DROPPED_INCOMPATIBLE_MUTATION_METRIC_KEY, 0); |
| 425 | + verify(mockMetricExporter).incCounters(INCOMPATIBLE_MUTATION_DELETES_METRICS_KEY, 0); |
| 426 | + verify(mockMetricExporter).incCounters(INCOMPATIBLE_MUTATION_TIMESTAMP_OVERFLOW_METRIC_KEY, 0); |
| 427 | + verify(mockMetricExporter).incCounters(PUTS_IN_FUTURE_METRIC_KEY, 0); |
401 | 428 | // Replicator should split WALs into 2 CloudBigtableReplicationTask at row keys |
402 | 429 | verify(mockExecutorService) |
403 | 430 | .submit( |
|
0 commit comments