[ https://issues.apache.org/jira/browse/BEAM-4006?focusedWorklogId=128455&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-128455 ]
ASF GitHub Bot logged work on BEAM-4006: ---------------------------------------- Author: ASF GitHub Bot Created on: 28/Jul/18 16:09 Start Date: 28/Jul/18 16:09 Worklog Time Spent: 10m Work Description: Fematich commented on a change in pull request #5729: [BEAM-4006] Futurize transforms subpackage URL: https://github.com/apache/beam/pull/5729#discussion_r205946917 ########## File path: sdks/python/apache_beam/transforms/window.py ########## @@ -246,10 +263,33 @@ def __init__(self, value, timestamp): self.value = value self.timestamp = Timestamp.of(timestamp) - def __cmp__(self, other): - if type(self) is not type(other): - return cmp(type(self), type(other)) - return cmp((self.value, self.timestamp), (other.value, other.timestamp)) + def __eq__(self, other): Review comment: Using `total_ordering` results in unexpected behavior. Concretely the test `test_reshuffle_windows_unchanged` fails. I have tried to locate the exact cause by implementing all OPs (with the `total_ordering` decorator in place) and subsequently leaving out the OPs one by one: 1) adding the `total_ordering` decorator itself doesn't introduce issues 2) only use `total_ordering` to fill in `__lt__` works, using other combinations always fail. 3) I am currently testing the OPs by manually using the conversion rules defined by [total_ordering](https://github.com/python/cpython/blob/master/Lib/functools.py) to see if I can locate the exact problem. @tvalentyn: Given [the note](https://docs.python.org/3/library/functools.html#functools.total_ordering) on performance impact of the total_ordering decorator, it might make sense to implement all OPs instead of using the decorator? That works already, in the meantime I will continue the testing (step3) to see if I can give more info. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking ------------------- Worklog Id: (was: 128455) Time Spent: 13h (was: 12h 50m) > Futurize and fix python 2 compatibility for transforms subpackage > ----------------------------------------------------------------- > > Key: BEAM-4006 > URL: https://issues.apache.org/jira/browse/BEAM-4006 > Project: Beam > Issue Type: Sub-task > Components: sdk-py-core > Reporter: Robbe > Assignee: Matthias Feys > Priority: Major > Time Spent: 13h > Remaining Estimate: 0h > -- This message was sent by Atlassian JIRA (v7.6.3#76005)