We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
2 parents 88f1f3c + e8cd8a6 commit b2b2f14Copy full SHA for b2b2f14
sdks/python/apache_beam/metrics/cells.py
@@ -746,7 +746,7 @@ def merge(self, other: '_BoundedTrieNode') -> int:
746
delta = 0
747
elif not self._children:
748
self._children = other._children
749
- delta = self._size - other._size
+ delta = other._size - self._size
750
else:
751
752
other_child: '_BoundedTrieNode'
sdks/python/apache_beam/metrics/cells_test.py
@@ -420,6 +420,23 @@ def test_bounded_trie_data_combine_trim(self):
420
BoundedTrieData(root=right, bound=3)).get_result(),
421
set([('a', True), ('b', 'd', False), ('c', 'd', False)]))
422
423
+ def test_merge_on_empty_node(self):
424
+ root1 = _BoundedTrieNode()
425
+ root2 = _BoundedTrieNode()
426
+ root2.add_all([["a", "b", "c"], ["a", "b", "d"], ["a", "e"]])
427
+ self.assertEqual(2, root1.merge(root2))
428
+ self.assertEqual(3, root1.size())
429
+ self.assertFalse(root1._truncated)
430
+
431
+ def test_merge_with_empty_node(self):
432
433
+ root1.add_all([["a", "b", "c"], ["a", "b", "d"], ["a", "e"]])
434
435
436
+ self.assertEqual(0, root1.merge(root2))
437
438
439
440
441
if __name__ == '__main__':
442
unittest.main()
0 commit comments