Conversation
Signed-off-by: Peng Huo <penghuo@gmail.com>
Signed-off-by: Peng Huo <penghuo@gmail.com>
Signed-off-by: Peng Huo <penghuo@gmail.com>
Signed-off-by: Peng Huo <penghuo@gmail.com>
Signed-off-by: Peng Huo <penghuo@gmail.com>
Signed-off-by: Peng Huo <penghuo@gmail.com>
Signed-off-by: Peng Huo <penghuo@gmail.com>
Signed-off-by: Peng Huo <penghuo@gmail.com>
Signed-off-by: Peng Huo <penghuo@gmail.com>
Signed-off-by: Peng Huo <penghuo@gmail.com>
Signed-off-by: Peng Huo <penghuo@gmail.com>
Signed-off-by: Peng Huo <penghuo@gmail.com>
Replaces PPLAsyncQueryService (~840 lines) and PPLAsyncQueryJob with a single active-object design: - QueryJob owns the state machine, retention deadline, keep-alive expiry timer, task registration and cancellation, execution attachment and completion cleanup. Public API: create(...), get(keepAlive), cancel(reason), getJobId, getOwner. Snapshot / Status / Failure are the only external types. - QueryJobRegistry is a thin ConcurrentMap wrapper with add / get / remove / close. close() calls discard() on every job and rejects further adds. - PPLAsyncQueryJobId -> QueryJobId (now public). - PPLAsyncQueryUser -> QueryJobOwner (authorize() now public). - Renamed tests keep prior coverage; PPLAsyncQueryServiceTest and PPLAsyncQueryJobTest are removed together with the service. AdmissionControl (running/retained capacity limits) and request validation are deferred to a follow-up PR, matching the current PR description's boundary. Signed-off-by: Peng Huo <penghuo@amazon.com>
…istry QueryJobTest drives one QueryJob through its lifecycle using a fake clock and a fake Scheduler. Covers direct success/failure, retention timeout, retained success/failure with metric recording, DELETE statuses, expiry via GET boundary and via expiry timer, keep-alive renewal, shutdown discard, authorization, and late-attach after DELETE. QueryJobRegistryTest covers add / remove / close semantics and the defensive jobs() snapshot. Signed-off-by: Peng Huo <penghuo@amazon.com>
PR Code Analyzer ❗AI-powered 'Code-Diff-Analyzer' found issues on commit f3a125e.
The table above displays the top 10 most important findings. Pull Requests Author(s): Please update your Pull Request according to the report above. Repository Maintainer(s): You can Thanks. |
Codecov Report❌ Patch coverage is
❌ Your project check has failed because the head coverage (63.26%) is below the target coverage (99.00%). You can increase the head coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## main #5812 +/- ##
============================================
+ Coverage 63.23% 63.26% +0.02%
- Complexity 8823 8829 +6
============================================
Files 938 939 +1
Lines 40236 40276 +40
Branches 4537 4537
============================================
+ Hits 25445 25480 +35
- Misses 13966 13971 +5
Partials 825 825
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Description
[Describe what this change achieves]
Related Issues
Resolves #[Issue number to be closed when this PR is merged]
Check List
--signoffor-s.By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.