kragniz / kragniz/python-etcd3

io in Client constructor

Open
#1,003 7 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
450
Forks
194
PR merge metrics
No merged PRs in 30d

Description

`etcd3.client.Client` performs IO in its constructor

https://github.com/kragniz/python-etcd3/blob/aca9b60205620e31b1635ce32b7ef74170698c7e/etcd3/client.py#L127

https://github.com/kragniz/python-etcd3/blob/aca9b60205620e31b1635ce32b7ef74170698c7e/etcd3/client.py#L148

this makes it difficult to create an asyncio port or a thread based wrapper

is it safe to call `.__enter__()` and `.__exit__` in different threads?

Contributor guide

Open the contributing guide

Research direction

Start by reading etcd3/client.py at the linked lines 127 and 148 to trace the I/O performed during Client construction and the related context-manager methods. Check the issue's thread for the intended lifecycle and thread-safety expectations; done should establish whether construction and __enter__/__exit__ can support the proposed asyncio or thread-based wrapper safely.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.