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

Offen Anfängerfreundlich
#746 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
75/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Ruhig
Tech-Stack
python
Bereich
databases

Rechercherichtung

Beginne in src/databricks/sql/client.py ungefähr bei Zeile 296 und untersuche Connection.del zusammen mit dem Pfad einer fehlgeschlagenen Initialisierung. Reproduziere einen Verbindungsfehler mit einem ungültigen Host oder ungültigen Zugangsdaten und überprüfe anschließend, dass das Zerstören der unvollständig initialisierten Connection keine AttributeError-Warnung mehr an stderr ausgibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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.

Vorherrschende Sprache
Python
Sterne
233
Forks
152
Ø Merge
21 Std. 5 Min.
Gemergte PRs (30 T.)
10

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus databricks/databricks-sql-python

Alle Issues in databricks/databricks-sql-python

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.