This is an automated email from the ASF dual-hosted git repository.

bharathkk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/samza.git


The following commit(s) were added to refs/heads/master by this push:
     new 4e7154f  SAMZA-2563: Fix double counting of InMemoryKeyValueStore 
deletion (#1458)
4e7154f is described below

commit 4e7154f11b9c2ad33464b08f46900644944a0682
Author: Ziting <[email protected]>
AuthorDate: Wed Feb 3 20:39:02 2021 -0800

    SAMZA-2563: Fix double counting of InMemoryKeyValueStore deletion (#1458)
    
    Symptom: Calling InMemoryKeyValueStore.delete will double count the deletes 
in metrics.
    
    Cause: InMemoryKeyValueStore.delete is implemented by calling 
InMemoryKeyValueStore.put with a null value. InMemoryKeyValueStore.delete 
explicitly increments the delete metric. InMemoryKeyValueStore.put also 
explicitly increments the delete metric when passed a null value.
    
    Changes: Remove incrementing the delete metric in 
InMemoryKeyValueStore.delete
---
 .../samza/storage/kv/inmemory/InMemoryKeyValueStore.java    |  2 --
 .../storage/kv/inmemory/TestInMemoryKeyValueStore.java      | 13 +++----------
 2 files changed, 3 insertions(+), 12 deletions(-)

diff --git 
a/samza-kv-inmemory/src/main/java/org/apache/samza/storage/kv/inmemory/InMemoryKeyValueStore.java
 
b/samza-kv-inmemory/src/main/java/org/apache/samza/storage/kv/inmemory/InMemoryKeyValueStore.java
index 1d5a36c..3b1256d 100644
--- 
a/samza-kv-inmemory/src/main/java/org/apache/samza/storage/kv/inmemory/InMemoryKeyValueStore.java
+++ 
b/samza-kv-inmemory/src/main/java/org/apache/samza/storage/kv/inmemory/InMemoryKeyValueStore.java
@@ -87,8 +87,6 @@ public class InMemoryKeyValueStore implements 
KeyValueStore<byte[], byte[]> {
 
   @Override
   public void delete(byte[] key) {
-    // TODO Bug: SAMZA-2563: This double counts deletes for metrics, because 
put also counts a delete
-    metrics.deletes().inc();
     put(key, null);
   }
 
diff --git 
a/samza-kv-inmemory/src/test/java/org/apache/samza/storage/kv/inmemory/TestInMemoryKeyValueStore.java
 
b/samza-kv-inmemory/src/test/java/org/apache/samza/storage/kv/inmemory/TestInMemoryKeyValueStore.java
index 48dbde6..7cdb235 100644
--- 
a/samza-kv-inmemory/src/test/java/org/apache/samza/storage/kv/inmemory/TestInMemoryKeyValueStore.java
+++ 
b/samza-kv-inmemory/src/test/java/org/apache/samza/storage/kv/inmemory/TestInMemoryKeyValueStore.java
@@ -239,11 +239,7 @@ public class TestInMemoryKeyValueStore {
     this.inMemoryKeyValueStore.delete(key(0));
     assertNull(this.inMemoryKeyValueStore.get(key(0)));
 
-    /*
-     * There is a bug in which deletes are double counted in metrics. This 
deletesCounter should only be invoked once
-     * when the bug is fixed.
-     */
-    verify(this.deletesCounter, times(2)).inc();
+    verify(this.deletesCounter, times(1)).inc();
   }
 
   @Test
@@ -251,11 +247,8 @@ public class TestInMemoryKeyValueStore {
     this.inMemoryKeyValueStore.delete(key(0));
 
     assertNull(this.inMemoryKeyValueStore.get(key(0)));
-    /*
-     * There is a bug in which deletes are double counted in metrics. This 
deletesCounter should only be invoked once
-     * when the bug is fixed.
-     */
-    verify(this.deletesCounter, times(2)).inc();
+
+    verify(this.deletesCounter, times(1)).inc();
   }
 
   @Test

Reply via email to