Session is not set in object if connection fails, which raises 'AttributeError' on __del__

Ouverte Adaptée aux débutants
#746 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
75/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Calme
Stack technique
python
Domaine
databases

Piste de recherche

Commencez dans src/databricks/sql/client.py vers la ligne 296 et examinez Connection.del ainsi que le chemin d’initialisation ayant échoué. Reproduisez un échec de connexion avec un hôte ou des identifiants invalides, puis vérifiez que la destruction de la Connection incomplète n’affiche plus d’avertissement AttributeError sur stderr.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

engineer-bot

The session attribute is set on the Connection here: https://github.com/databricks/databricks-sql-python/blob/9fe7356a18d611ae18943c2f972160657b08eea2/src/databricks/sql/client.py#L296.

If connecting fails (e.g. due to invalid host or credentials) then no session attribute will be set, but __del__ will still be called when the not-fully-initialized Connection instance is destroyed. This causes warnings to be printed to stderr.

A simple fix would be to check if session is set in open or doing the same thing in __del__ only, to keep the semantics of open intact.

Langage dominant
Python
Étoiles
233
Forks
152
Merge moyen
21 h 5 min
PR mergées (30 j)
10

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de databricks/databricks-sql-python

Toutes les issues de databricks/databricks-sql-python

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.