log refactor
This commit is contained in:
@@ -18,9 +18,11 @@ import time
|
||||
import uuid
|
||||
|
||||
from ...core.logger import logger, belief_scope
|
||||
from ...core.cot_logger import MarkerLogger
|
||||
from ...core.config_manager import ConfigManager
|
||||
from ...core.superset_client import SupersetClient
|
||||
|
||||
log = MarkerLogger("SupersetExecutor")
|
||||
|
||||
# #region SupersetSqlLabExecutor [C:5] [TYPE Class] [SEMANTICS translate,superset,sqllab]
|
||||
# @BRIEF Submit SQL to Superset SQL Lab API with polling and status tracking.
|
||||
@@ -74,7 +76,7 @@ class SupersetSqlLabExecutor:
|
||||
for db in databases:
|
||||
if db.get("database_name", "").lower() == database_name.lower():
|
||||
self._database_id = db["id"]
|
||||
logger.reason("Resolved database ID by name", {
|
||||
log.reason("Resolved database ID by name", payload={
|
||||
"database_name": database_name,
|
||||
"database_id": self._database_id,
|
||||
})
|
||||
@@ -85,7 +87,7 @@ class SupersetSqlLabExecutor:
|
||||
|
||||
# Default: use first database
|
||||
self._database_id = databases[0]["id"]
|
||||
logger.reason("Using default database", {
|
||||
log.reason("Using default database", payload={
|
||||
"database_name": databases[0].get("database_name"),
|
||||
"database_id": self._database_id,
|
||||
})
|
||||
@@ -111,7 +113,7 @@ class SupersetSqlLabExecutor:
|
||||
if db_uuid.lower() == uuid_str.lower():
|
||||
db_id = db["id"]
|
||||
self._database_id = db_id
|
||||
logger.reason("Resolved database ID by UUID", {
|
||||
log.reason("Resolved database ID by UUID", payload={
|
||||
"uuid": uuid_str,
|
||||
"database_id": db_id,
|
||||
"database_name": db.get("database_name"),
|
||||
@@ -145,7 +147,7 @@ class SupersetSqlLabExecutor:
|
||||
except (ValueError, TypeError):
|
||||
db_id = self.resolve_database_uuid(db_id)
|
||||
|
||||
logger.reason("Submitting SQL to Superset SQL Lab", {
|
||||
log.reason("Submitting SQL to Superset SQL Lab", payload={
|
||||
"database_id": db_id,
|
||||
"sql_length": len(sql),
|
||||
})
|
||||
@@ -165,7 +167,7 @@ class SupersetSqlLabExecutor:
|
||||
headers={"Content-Type": "application/json"},
|
||||
)
|
||||
except Exception as e:
|
||||
logger.explore("SQL Lab execute failed", {"error": str(e)})
|
||||
log.explore("SQL Lab execute failed", error=str(e))
|
||||
raise ValueError(f"Superset SQL Lab execute failed: {e}")
|
||||
|
||||
# Parse response — try multiple formats
|
||||
@@ -177,7 +179,7 @@ class SupersetSqlLabExecutor:
|
||||
or (result.get("result") or {}).get("id"))
|
||||
status = result.get("status", "unknown")
|
||||
|
||||
logger.reason("SQL Lab execute response", {
|
||||
log.reason("SQL Lab execute response", payload={
|
||||
"query_id": query_id,
|
||||
"status": status,
|
||||
"has_query_id": query_id is not None,
|
||||
@@ -208,7 +210,7 @@ class SupersetSqlLabExecutor:
|
||||
with belief_scope("SupersetSqlLabExecutor.poll_execution_status"):
|
||||
client = self._get_client()
|
||||
|
||||
logger.reason("Polling SQL execution status", {
|
||||
log.reason("Polling SQL execution status", payload={
|
||||
"query_id": query_id,
|
||||
"max_polls": max_polls,
|
||||
"interval": poll_interval_seconds,
|
||||
@@ -226,7 +228,7 @@ class SupersetSqlLabExecutor:
|
||||
|
||||
# Terminal states
|
||||
if state in ("success", "finished", "completed"):
|
||||
logger.reason("SQL execution completed", {
|
||||
log.reason("SQL execution completed", payload={
|
||||
"query_id": query_id,
|
||||
"attempt": attempt + 1,
|
||||
"rows_affected": result.get("rows"),
|
||||
@@ -243,7 +245,8 @@ class SupersetSqlLabExecutor:
|
||||
|
||||
if state in ("failed", "error", "stopped"):
|
||||
error_msg = result.get("error_message", "Unknown error")
|
||||
logger.explore("SQL execution failed", {
|
||||
log.explore("SQL execution failed", error="SQL query execution returned failed/error state",
|
||||
payload={
|
||||
"query_id": query_id,
|
||||
"state": state,
|
||||
"error": error_msg,
|
||||
@@ -264,7 +267,8 @@ class SupersetSqlLabExecutor:
|
||||
time.sleep(poll_interval_seconds)
|
||||
|
||||
except Exception as e:
|
||||
logger.explore("Polling error, retrying", {
|
||||
log.explore("Polling error, retrying", error="Polling encountered error, will retry",
|
||||
payload={
|
||||
"query_id": query_id,
|
||||
"attempt": attempt + 1,
|
||||
"error": str(e),
|
||||
@@ -273,7 +277,7 @@ class SupersetSqlLabExecutor:
|
||||
continue
|
||||
|
||||
# Timeout
|
||||
logger.explore("SQL execution polling timed out", {
|
||||
log.explore("SQL execution polling timed out", error="Polling timed out", payload={
|
||||
"query_id": query_id,
|
||||
"max_polls": max_polls,
|
||||
})
|
||||
@@ -305,7 +309,7 @@ class SupersetSqlLabExecutor:
|
||||
|
||||
query_id = exec_result.get("query_id")
|
||||
if not query_id:
|
||||
logger.explore("No query_id from SQL Lab execute", {
|
||||
log.explore("No query_id from SQL Lab execute", error="No query_id returned", payload={
|
||||
"raw_response": exec_result.get("raw_response"),
|
||||
})
|
||||
return {
|
||||
@@ -341,7 +345,8 @@ class SupersetSqlLabExecutor:
|
||||
"results": result.get("results"),
|
||||
}
|
||||
except Exception as e:
|
||||
logger.explore("Failed to fetch query results", {
|
||||
log.explore("Failed to fetch query results", error="Failed to fetch query results from Superset",
|
||||
payload={
|
||||
"query_id": query_id,
|
||||
"error": str(e),
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user