diff --git a/apps/blockchain-node/src/aitbc_chain/app.py b/apps/blockchain-node/src/aitbc_chain/app.py index 282d0fd9..ee86fef2 100755 --- a/apps/blockchain-node/src/aitbc_chain/app.py +++ b/apps/blockchain-node/src/aitbc_chain/app.py @@ -5,7 +5,7 @@ import os import time from collections import defaultdict from contextlib import asynccontextmanager -from fastapi import APIRouter, FastAPI, Request +from fastapi import APIRouter, FastAPI, HTTPException, Request from fastapi.middleware.cors import CORSMiddleware from fastapi.responses import JSONResponse, PlainTextResponse from starlette.middleware.base import BaseHTTPMiddleware @@ -85,6 +85,8 @@ class RequestLoggingMiddleware(BaseHTTPMiddleware): elif response.status_code >= 400: metrics_registry.increment("rpc_client_errors_total") return response + except HTTPException: + raise except Exception as exc: duration = time.perf_counter() - start metrics_registry.increment("rpc_unhandled_errors_total") diff --git a/apps/blockchain-node/src/aitbc_chain/rpc/router.py b/apps/blockchain-node/src/aitbc_chain/rpc/router.py index 825207bb..d923dc77 100644 --- a/apps/blockchain-node/src/aitbc_chain/rpc/router.py +++ b/apps/blockchain-node/src/aitbc_chain/rpc/router.py @@ -1849,21 +1849,16 @@ async def join_island(request: JoinIslandRequest) -> JoinIslandResponse: @router.post("/islands/leave", summary="Leave an island") -@rate_limit(rate=100, per=60) async def leave_island(request: LeaveIslandRequest) -> LeaveIslandResponse: """ Leave an island. Calls IslandManager.leave_island to remove the node from the specified island. """ island_manager = get_island_manager() - logger.info(f'leave_island: island_manager={island_manager}') if island_manager is None: - logger.error('leave_island: island_manager is None!') raise HTTPException(status_code=503, detail="Island manager not available") - logger.info(f'leave_island: calling leave_island for {request.island_id}') success = island_manager.leave_island(request.island_id) - logger.info(f'leave_island: result={success}') if success: return LeaveIslandResponse(