Skip to content

Conversation

@wilsonwang371
Copy link
Collaborator

This pull request introduces a new Placement service for two-level scheduling, integrates its gRPC and client interfaces throughout the codebase, and adds supporting documentation and tests. Additionally, improvements are made to the event bus logic for task events, including persistent counters and automatic cleanup of old events. The most important changes are grouped below:

Placement Service Integration

  • Added a new proto/sms/placement.proto file defining the Placement gRPC service, request/response messages, and enums for invocation outcome reporting.
  • Registered the Placement service for code generation in build.rs and added its server implementation to the gRPC server setup in src/sms/grpc_server.rs. [1] [2] [3] [4]
  • Included the Placement client in GatewayState and updated all relevant gateway and test files to support the new client. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]

API Documentation

  • Extended the OpenAPI spec in src/sms/handlers/docs.rs to document the new placement endpoints: /api/v1/placement/invocations/place and /api/v1/placement/invocations/report-outcome.
  • Registered the new placement handler module in src/sms/handlers/mod.rs. [1] [2]

Task Event Bus Improvements

  • Implemented persistent event counters and automatic deletion of old events in src/sms/events.rs to enforce a maximum per-node event count and maintain counter consistency. [1] [2] [3]

@wilsonwang371 wilsonwang371 self-assigned this Jan 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants