[
https://issues.apache.org/jira/browse/THRIFT-4002?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Duru Can Celasun resolved THRIFT-4002.
--------------------------------------
Fix Version/s: 0.14.0
Resolution: Fixed
> Thrift exceptions are not hashable in Python 3
> ----------------------------------------------
>
> Key: THRIFT-4002
> URL: https://issues.apache.org/jira/browse/THRIFT-4002
> Project: Thrift
> Issue Type: Bug
> Components: Python - Compiler
> Reporter: Jelle Zijlstra
> Priority: Major
> Labels: compiler, python
> Fix For: 0.14.0
>
> Attachments: thrift-hashable-exc.patch
>
> Time Spent: 40m
> Remaining Estimate: 0h
>
> The Thrift-to-Python compiler generates `__eq__` but not `__hash__` for
> Thrift exception classes, which makes them not hashable in Python 3. Due to
> http://bugs.python.org/issue28603, this can lead the Python standard library
> to throw an error while printing tracebacks involving Thrift exceptions.
> The attached patch generates `__hash__` for Thrift exceptions. This can
> technically be incorrect since Thrift exceptions are mutable (compare
> https://issues.apache.org/jira/browse/THRIFT-162), but in practice it seems
> unlikely that people would mutate exception instances other than directly
> after creating them, and without this patch some Thrift exceptions cannot be
> displayed by the standard library.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)