Bug in `databricks.sql.exc.Error` base class
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
调研方向
在 connector 中搜索 databricks.sql.exc.Error 类,并检查其 str 和 message_with_context 方法。复现一个没有消息的 Error,然后验证字符串转换和 message_with_context 不再失败,并且现有的错误行为保持不变。
由索引模型根据 Issue 内容生成。
描述
Problem: When try except catching errors and logging them I occasionally get this TypeError
...
try:
with connection.cursor() as cursor:
cursor.execute(query)
...
except databricks.sql.Error as e:
logger.debug(f"{str(e)}: failed to execute query {query}")
...
__str__ returned non-string (type NoneType)
Explanation:
String representations of a class must be of type string
the message attribute can be None therefore there needs to be a check/cast prior to returning.
Note: message_with_context will also fail when a message is None since you can't use the operand type + for NoneType and a str
class Error(Exception):
"""Base class for DB-API2.0 exceptions.
`message`: An optional user-friendly error message. It should be short, actionable and stable
`context`: Optional extra context about the error. MUST be JSON serializable
"""
def __init__(self, message=None, context=None, *args, **kwargs):
super().__init__(message, *args, **kwargs)
self.message = message
self.context = context or {}
def __str__(self):
return self.message
def message_with_context(self):
return self.message + ": " + json.dumps(self.context, default=str)
- 主要语言
- Python
- 星标
- 236
- 派生
- 162
- 平均合并
- 13 小时 13 分钟
- 30 天内合并 PR
- 23
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
databricks/databricks-sql-python 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 72/100
databricks/databricks-sql-python#1034 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
databricks/databricks-sql-python#1012 ·
维护者通常 1 天内回复
-
Token federation: `_exchange_token` raises KeyError('access_token') on error responses, discarding the real failure reason可能已有人在做 @TangoEnSkai 于 82 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 76/100
databricks/databricks-sql-python#904 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 84/100
databricks/databricks-sql-python#865 ·
维护者通常 1 天内回复
-
engineer-bot
难度 2/5 1-3 小时 新手友好度 76/100
databricks/databricks-sql-python#860 · 3 条评论 ·
维护者通常 1 天内回复
查看 databricks/databricks-sql-python 的全部 Issue
相似的 Issue
-
AI bug
难度 2/5 1-3 小时 新手友好度 68/100
AUTO-MAS-Project/AUTO-MAS#1960 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 82/100
btclib-org/btclib-wallet#872 ·
维护者通常 1 天内回复
-
[Bug]: Scheduled returns scan all accepted minion keys causing extreme load可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭bug needs-triage
难度 2/5 1-3 小时 新手友好度 76/100
saltstack/salt#70789 · 1 条评论 ·
维护者通常 3 天内回复
-
难度 2/5 1-3 小时 新手友好度 87/100
btclib-org/btclib#3093 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 76/100
维护者通常 1 天内回复