Take a look at non-default server failure detection

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

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Refactoring
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
python
Ambito
testing-qa

Direzione di ricerca

Trace Test.current_test_greenlet, kill_current_test(), and the TestState server tracking described in the issue. Compare the shutdown behavior around greenlet.join() and greenlet.get(), then define how failures from any related server would be detected and how all affected greenlets would complete their shutdown outside those calls.

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

Descrizione

code health

The implementation kills a currently executed greenlet (<Test instance>.current_test_greenlet) in the case of fail of a non-default instance. A greenlet that is stored in the <Test instance>.current_test_greenlet field may be killed at any point by the kill_current_test() method.

So we can assume some predicates after <greenlet>.join() as true, however it may be not so. And the greenlet will not perform any shutdown actions: they should be done outside, somewhere after <greenlet>.join() / <greenlet>.get(). That's all make the code less obvious.

We already store all servers that are related to a particular test in the TestState object. So, maybe, we can reverse the dependency and periodically check whether a failure of any other server occurs from a code that executes a test.

Lingua principale
Python
Stelle
13
Fork
19
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 tarantool/test-run

Tutte le issue di tarantool/test-run

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.