Leave Performance Considerations
Summary
Leave uses async I/O but has no documented performance guarantees, cache, or broad pagination strategy.
Audience
Developers, architects, QA, and performance engineers.
Overview
Database materialization is asynchronous. Repository queries are tracked by default; explicit no-tracking reads are absent. Request and balance lookups are targeted, while general request/balance/calendar lists are not paginated. Timeline applies a fixed upper bound.
The calculator enumerates each date when exclusions apply; calendar rows are loaded for the requested range and weekly-off configuration is loaded for the tenant. Employee profile/manager lookups can add queries during Workflow context resolution. Lists that materialize all profiles for mapping/workspace may become hotspots.
No application cache is registered. Employee projection and outbox work run in background services with controlled message/poll batching. Performance tests, service-level guarantees, query budgets, and capacity limits were not found.
Source References
microservices/src/leave-service/Application/LeaveWorkflows.csmicroservices/src/leave-service/Infrastructure/Persistence.csmicroservices/src/leave-service/Domain/Leave/LeaveDayCalculator.csmicroservices/src/leave-service/Messaging/EmployeeProfileConsumer.cs
Related Articles
See Also
Keywords
- Leave Service
- Leave Performance Considerations
- Technical architecture
Revision Information
- Status: Draft
- Last reviewed: 2026-07-15
- Review cycle: Quarterly