[ 
https://issues.apache.org/jira/browse/BEAM-7013?focusedWorklogId=309920&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-309920
 ]

ASF GitHub Bot logged work on BEAM-7013:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 10/Sep/19 15:57
            Start Date: 10/Sep/19 15:57
    Worklog Time Spent: 10m 
      Work Description: zfraa commented on pull request #9519: [BEAM-7013] Use 
a 0-length byte array to represent empty sketch in HllCount
URL: https://github.com/apache/beam/pull/9519#discussion_r322760086
 
 

 ##########
 File path: 
sdks/java/extensions/zetasketch/src/test/java/org/apache/beam/sdk/extensions/zetasketch/HllCountTest.java
 ##########
 @@ -302,12 +304,53 @@ public void testMergePartialGlobally_SingletonInput() {
 
   @Test
   @Category(NeedsRunner.class)
-  public void testMergePartialGlobally_EmptyInput() {
+  public void testMergePartialGlobally_SingletonInputEmptySketch() {
     PCollection<byte[]> result =
-        p.apply(Create.empty(TypeDescriptor.of(byte[].class)))
+        
p.apply(Create.of(EMPTY_SKETCH)).apply(HllCount.MergePartial.globally());
+
+    PAssert.thatSingleton(result).isEqualTo(EMPTY_SKETCH);
+    p.run();
+  }
+
+  @Test
+  @Category(NeedsRunner.class)
+  public void testMergePartialGlobally_MergeWithEmptySketch() {
+    PCollection<byte[]> result =
+        p.apply(Create.of(LONGS_SKETCH, 
EMPTY_SKETCH)).apply(HllCount.MergePartial.globally());
+
+    PAssert.thatSingleton(result).isEqualTo(LONGS_SKETCH);
+    p.run();
+  }
+
+  @Test
+  @Category(NeedsRunner.class)
+  public void testMergePartialGlobally_MergeMultipleEmptySketches() {
+    PCollection<byte[]> result =
+        p.apply(Create.of(EMPTY_SKETCH, 
EMPTY_SKETCH)).apply(HllCount.MergePartial.globally());
+
+    PAssert.thatSingleton(result).isEqualTo(EMPTY_SKETCH);
+    p.run();
+  }
+
+  @Test
+  @Category(NeedsRunner.class)
+  public void testMergePartialGlobally_MergeWithSketchOfEmptySet() {
+    PCollection<byte[]> result =
+        p.apply(Create.of(LONGS_SKETCH, LONGS_SKETCH_OF_EMPTY_SET))
+            .apply(HllCount.MergePartial.globally());
+
+    PAssert.thatSingleton(result).isEqualTo(LONGS_SKETCH);
+    p.run();
+  }
+
+  @Test
+  @Category(NeedsRunner.class)
+  public void testMergePartialGlobally_MergeEmptySketchWithSketchOfEmptySet() {
+    PCollection<byte[]> result =
+        p.apply(Create.of(EMPTY_SKETCH, LONGS_SKETCH_OF_EMPTY_SET))
             .apply(HllCount.MergePartial.globally());
 
-    PAssert.that(result).empty();
+    PAssert.thatSingleton(result).isEqualTo(LONGS_SKETCH_OF_EMPTY_SET);
 
 Review comment:
   Nit: this is testing an implementation detail (there are other valid return 
values here). Maybe apply an extract and verify that the result is zero, 
because there, there's only one valid answer? 
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


Issue Time Tracking
-------------------

    Worklog Id:     (was: 309920)
    Time Spent: 31h 50m  (was: 31h 40m)

> A new count distinct transform based on BigQuery compatible HyperLogLog++ 
> implementation
> ----------------------------------------------------------------------------------------
>
>                 Key: BEAM-7013
>                 URL: https://issues.apache.org/jira/browse/BEAM-7013
>             Project: Beam
>          Issue Type: New Feature
>          Components: extensions-java-sketching, sdk-java-core
>            Reporter: Yueyang Qiu
>            Assignee: Yueyang Qiu
>            Priority: Major
>             Fix For: 2.16.0
>
>          Time Spent: 31h 50m
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian Jira
(v8.3.2#803003)

Reply via email to