Skip to content

Commit 5b5331d

Browse files
authored
fix: remove reset in sandbox runner (#714)
1 parent 559fb49 commit 5b5331d

File tree

3 files changed

+6
-28
lines changed

3 files changed

+6
-28
lines changed

src/codegen/runner/clients/codebase_client.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,9 @@ def _wait_for_server(self, timeout: int = 30, interval: float = 0.3) -> None:
6666
def _get_envs(self) -> dict:
6767
envs = os.environ.copy()
6868
codebase_envs = {
69-
"REPOSITORY_LANGUAGE": self.repo_config.language.value,
70-
"REPOSITORY_OWNER": self.repo_config.organization_name,
7169
"REPOSITORY_PATH": str(self.repo_config.repo_path),
70+
"REPOSITORY_OWNER": self.repo_config.organization_name,
71+
"REPOSITORY_LANGUAGE": self.repo_config.language.value,
7272
"GITHUB_TOKEN": SecretsConfig().github_token,
7373
}
7474

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
11
import traceback
2-
from http import HTTPStatus # Add this import
2+
from http import HTTPStatus
33
from typing import Callable, TypeVar
44

5-
from starlette.background import BackgroundTasks
65
from starlette.middleware.base import BaseHTTPMiddleware, RequestResponseEndpoint
76
from starlette.requests import Request
87
from starlette.responses import JSONResponse, Response
98

109
from codegen.runner.sandbox.runner import SandboxRunner
1110
from codegen.shared.exceptions.compilation import UserCodeException
1211
from codegen.shared.logging.get_logger import get_logger
13-
from codegen.shared.performance.stopwatch_utils import stopwatch
1412

1513
logger = get_logger(__name__)
1614

@@ -34,13 +32,10 @@ async def dispatch(self, request: TRequest, call_next: RequestResponseEndpoint)
3432
return await call_next(request)
3533

3634
async def process_request(self, request: TRequest, call_next: RequestResponseEndpoint) -> TResponse:
37-
background_tasks = BackgroundTasks()
3835
try:
3936
logger.info(f"> (CodemodRunMiddleware) Request: {request.url.path}")
4037
self.runner.codebase.viz.clear_graphviz_data()
4138
response = await call_next(request)
42-
background_tasks.add_task(self.cleanup_after_codemod, is_exception=False)
43-
response.background = background_tasks
4439
return response
4540

4641
except UserCodeException as e:
@@ -52,21 +47,4 @@ async def process_request(self, request: TRequest, call_next: RequestResponseEnd
5247
message = f"Unexpected error for {request.url.path}"
5348
logger.exception(message)
5449
res = JSONResponse(status_code=HTTPStatus.INTERNAL_SERVER_ERROR, content={"detail": message, "error": str(e), "traceback": traceback.format_exc()})
55-
background_tasks.add_task(self.cleanup_after_codemod, is_exception=True)
56-
res.background = background_tasks
5750
return res
58-
59-
async def cleanup_after_codemod(self, is_exception: bool = False):
60-
if is_exception:
61-
# TODO: instead of committing transactions, we should just rollback
62-
logger.info("Committing pending transactions due to exception")
63-
self.runner.codebase.ctx.commit_transactions(sync_graph=False)
64-
await self.reset_runner()
65-
66-
@stopwatch
67-
async def reset_runner(self):
68-
logger.info("=====[ reset_runner ]=====")
69-
logger.info(f"Syncing runner to commit: {self.runner.commit} ...")
70-
self.runner.codebase.checkout(commit=self.runner.commit)
71-
self.runner.codebase.clean_repo()
72-
self.runner.codebase.checkout(branch=self.runner.codebase.default_branch, create_if_missing=True)

src/codegen/runner/sandbox/server.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@ async def lifespan(server: FastAPI):
3131
global server_info
3232
global runner
3333

34+
default_repo_config = RepositoryConfig()
35+
repo_name = default_repo_config.full_name or default_repo_config.name
36+
server_info = ServerInfo(repo_name=repo_name)
3437
try:
35-
default_repo_config = RepositoryConfig()
36-
repo_name = default_repo_config.full_name or default_repo_config.name
37-
server_info = ServerInfo(repo_name=repo_name)
3838
logger.info(f"Starting up sandbox fastapi server for repo_name={repo_name}")
3939
repo_config = RepoConfig(
4040
name=default_repo_config.name,

0 commit comments

Comments
 (0)