Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Reauth issue with more than 4 running containers

Aperta
#9 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
25/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
azure, docker, python

Direzione di ricerca

Inizia riproducendo il problema di riautorizzazione del quarto container nella configurazione indicata con Debian 11, Docker e Azure IoT. Esamina quindi retry_reauthorize in pipeline_stages_base.py, oltre al percorso _reauthorize e all’asserzione del thread della pipeline in pipeline_thread.py. Il lavoro è completato quando viene identificata la causa del timeout del trasporto e il comportamento viene confermato con un test di regressione o una riproduzione documentata.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

I have this strange issue, which I only encounter when I have a certain number of running processes.

The setup is VMware ESXi virtual machine running Debian 11 with Docker on top. I am now running devices in docker containers, which basically contains a Azure IoT Device client per container together with a bunch of logic. Three of these containers works fine, but when I startup the fourth container, it connects fine, but after 1 hour when it tries to re-auth it fails (only happens on the last started container):

22-11-22 10:30:02[ERROR] Exception caught in background thread.  Unable to handle.
22-11-22 10:30:02[ERROR] ["azure.iot.device.common.pipeline.pipeline_exceptions.OperationCancelled: OperationCancelled('Transport timeout on connection operation')\n"]
Exception in thread Thread-410:
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/threading.py", line 980, in _bootstrap_inner
    self.run()
  File "/usr/local/lib/python3.9/threading.py", line 1306, in run
    self.function(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.9/site-packages/azure/iot/device/common/pipeline/pipeline_stages_base.py", line 466, in retry_reauthorize
    this._reauthorize()
  File "/usr/local/lib/python3.9/site-packages/azure/iot/device/common/pipeline/pipeline_thread.py", line 192, in wrapper
    assert (
AssertionError:
            Function _reauthorize is not running inside pipeline thread.
            It should be. You should use invoke_on_pipeline_thread(_nowait) to enter the
            pipeline thread before calling this function.  If you're hitting this from
            inside a test function, you may need to add the fake_pipeline_thread fixture to
            your test.  (generally applied on the global pytestmark in a module)
22-11-22 10:31:02[DEBUG] OperationCancelled('Could not complete operation') caused by OperationCancelled('Transport timeout on connection operation')

I am running:

  • azure-iot-device==2.8.0 (Tried version 2.9.0, doesn't help)
  • Docker: Docker version 20.10.21, build baeda1f
Lingua principale
Python
Stelle
18
Fork
24
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di Azure/azure-iot-hub-python

Tutte le issue di Azure/azure-iot-hub-python

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.