Closed Bug 1268053 Opened 8 years ago Closed 6 years ago

Move python_moztelemetry to python 3

Categories

(Data Platform and Tools :: General, defect, P1)

defect
Points:
2

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: rvitillo, Assigned: relud)

References

Details

(Whiteboard: [DataPlatform])

We should move our library to Python 3 as support for it was added to PySpark in Spark 1.4. This will also require some changes to the EMR bootstrap script to set Python 3 as the default Python interpreter.
Points: --- → 2
Priority: -- → P3
Priority: P3 → P2
I ran across an issue yesterday w/ a dependency on `expiringdict`. The package has a v1.1.4 to support python 3, but hasn't been bumped on PYPI. There are also numerous open issues about this bump that haven't been answered https://github.com/mailgun/expiringdict/issues. We can use `dependency_links` in the pip install, but that's deprecated and going to be removed in the future.
We could replace expiringdict with the @lru_cache decorator available onpython3/functools32. The only missing feature is the time expiration, which is probably not required for our case.
Depends on: 1351361
Depends on: 1341566
When this work is eventually prioritized we should also move to using python-rapidjson instead of the current dual stdlib/ujson approach, as rapidjson is the underlying library for ingestion and this should reduce compatibility issues.
Component: Metrics: Pipeline → Telemetry APIs for Analysis
Product: Cloud Services → Data Platform and Tools
Assignee: nobody → dthorn
Priority: P2 → P1
Priority: P1 → P2
Whiteboard: [DataPlatform]
Priority: P2 → P1
Depends on: 1474347
Moved comment 3 to separate bug 1474357
No longer depends on: 1341566, 1351361
python_moztelemetry supports python 3 as of version 0.10.0
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Component: Telemetry APIs for Analysis → General
You need to log in before you can comment on or make changes to this bug.