Skip to content

feat(policy): add sort support to ListKeyAccessServer#3287

Merged
dsm20 merged 10 commits intomainfrom
feat/DSPX-2689-listkeyaccessserver-sort
Apr 14, 2026
Merged

feat(policy): add sort support to ListKeyAccessServer#3287
dsm20 merged 10 commits intomainfrom
feat/DSPX-2689-listkeyaccessserver-sort

Conversation

@dsm20
Copy link
Copy Markdown
Contributor

@dsm20 dsm20 commented Apr 9, 2026

Resolves DSPX-2689

Proposed Changes

Changes

Proto — service/policy/kasregistry/key_access_server_registry.proto

  • SortKeyAccessServersType enum (UNSPECIFIED, NAME, URI, CREATED_AT, UPDATED_AT)
  • KeyAccessServersSort message (field + direction)
  • repeated KeyAccessServersSort sort = 11 on ListKeyAccessServersRequest with
    max_items = 1 constraint
  • Regenerated protos and docs

SQL — service/policy/db/queries/key_access_server_registry.sql

  • CASE WHEN sort blocks in listKeyAccessServers query for 4 fields (8 blocks total)
  • Fallback kas.created_at DESC + tiebreaker kas.id ASC

Go — service/policy/db/utils.go + service/policy/db/key_access_server_registry.go

  • GetKeyAccessServersSortParams(): maps enum to SQL-compatible field/direction strings
  • ListKeyAccessServers handler wired to call mapper and pass params to sqlc query
  • Extracted sortFieldName constant in utils.go to resolve goconst lint across sort helpers (slightly out of scope but necessary to
    avoid goconst errors, same pattern as sortFieldCreatedAt/sortFieldUpdatedAt from feat(policy): add sort ListSubjectMappings API #3255)

Tests

  • 12 unit tests for the enum mapper helper (nil, empty, unspecified, each field + direction)
  • 9 integration tests (created_at ASC/DESC, updated_at ASC/DESC, name ASC/DESC, uri ASC/DESC, unspecified fallback) using
    createSortTestKeyAccessServers and createNamedSortTestKeyAccessServers suite helpers
  • Protovalidate sort constraint test (Test_ListKeyAccessServersRequest_Sort)

Notes

Checklist

  • I have added or updated unit tests
  • I have added or updated integration tests (if appropriate)
  • I have added or updated documentation

Testing Instructions

Summary by CodeRabbit

  • New Features

    • Added sorting for Key Access Servers list (name, URI, created_at, updated_at) with ASC/DESC; single sort directive accepted; default ordering is created_at DESC then id ASC.
  • Documentation

    • Protocol and API docs updated to describe new sort parameters, enums/schemas, and default ordering behavior.
  • Tests

    • Added unit and integration tests to validate sort mapping, behavior, and single-sort request validation.

@dsm20 dsm20 requested review from a team as code owners April 9, 2026 14:58
@dsm20 dsm20 marked this pull request as draft April 9, 2026 14:59
@github-actions github-actions bot added comp:db DB component comp:policy Policy Configuration ( attributes, subject mappings, resource mappings, kas registry) docs Documentation labels Apr 9, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 9, 2026

Warning

Rate limit exceeded

@dsm20 has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 54 minutes and 13 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 54 minutes and 13 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: b2b2292a-75eb-469c-9cf4-c3e6c784b6c4

📥 Commits

Reviewing files that changed from the base of the PR and between 83f0c2f and 97a8a55.

📒 Files selected for processing (1)
  • service/policy/db/utils.go
📝 Walkthrough

Walkthrough

Adds single-field sorting to ListKeyAccessServers across API surface: docs, OpenAPI, proto, SQL ORDER BY, Go DB plumbing, mapping helpers, unit and integration tests; preserves default ordering when unspecified (created_at DESC, id ASC tie-breaker).

Changes

Cohort / File(s) Summary
Proto & Validation
service/policy/kasregistry/key_access_server_registry.proto, service/policy/kasregistry/key_access_server_registry_test.go
Added SortKeyAccessServersType enum and KeyAccessServersSort message; added repeated KeyAccessServersSort sort = 11 (max 1) to ListKeyAccessServersRequest; added validation tests for max-items.
API Docs / OpenAPI
docs/grpc/index.html, docs/openapi/policy/kasregistry/key_access_server_registry.openapi.yaml
Documented new sort enum/components; added sort.field and sort.direction query parameters; added sort request array (maxItems: 1) and default-ordering docs.
DB SQL Query
service/policy/db/queries/key_access_server_registry.sql
Replaced fixed ORDER BY kas.created_at DESC with parameter-driven CASE-based ORDER BY supporting name, uri, created_at, updated_at, ASC/DESC, NULLS handling, and tie-breakers (kas.created_at DESC, kas.id ASC).
SQL Go Binding
service/policy/db/key_access_server_registry.sql.go
Extended listKeyAccessServersParams with SortField/SortDirection; reordered query args to (SortField, SortDirection, Offset, Limit) and updated query invocation.
DB Handler & Mapper
service/policy/db/key_access_server_registry.go, service/policy/db/utils.go, service/policy/db/utils_test.go
Wired GetKeyAccessServersSortParams into ListKeyAccessServers; added GetKeyAccessServersSortParams mapping enum→SQL field/direction; replaced hardcoded "name" with shared constant; added unit tests.
Integration Tests
service/integration/kas_registry_test.go
Added integration tests covering sorting by created_at, updated_at, name, uri (ASC/DESC), default ordering fallback, and helper data-creation utilities.

Sequence Diagram

sequenceDiagram
    participant Client
    participant APIHandler as API Handler
    participant SortMapper as Sort Mapper
    participant DBQuery as DB Query
    participant Database

    Client->>APIHandler: ListKeyAccessServers(sort, offset, limit)
    APIHandler->>SortMapper: GetKeyAccessServersSortParams(sort)
    SortMapper->>SortMapper: map enum field -> SQL column
    SortMapper->>SortMapper: map enum direction -> "ASC"/"DESC"
    SortMapper-->>APIHandler: (sortField, sortDirection)
    APIHandler->>DBQuery: listKeyAccessServers(sortField, sortDirection, offset, limit)
    DBQuery->>Database: SELECT ... ORDER BY CASE WHEN `@sort_field`=... THEN ... END, kas.created_at DESC, kas.id ASC LIMIT/OFFSET
    Database-->>DBQuery: rows
    DBQuery-->>APIHandler: results
    APIHandler-->>Client: ListKeyAccessServersResponse
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

Suggested reviewers

  • c-r33d
  • alkalescent
  • marythought

Poem

🐰 I hopped through CASEs and enum delight,
ASC or DESC, each row set right,
Tie-breakers steady, timestamps in line,
Names and URIs neatly align,
Hooray — the registry sorts just fine! 🥕

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 37.50% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title 'feat(policy): add sort support to ListKeyAccessServer' accurately and concisely summarizes the main change—implementing sort functionality for the ListKeyAccessServers RPC.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/DSPX-2689-listkeyaccessserver-sort

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions bot added the size/m label Apr 9, 2026
@dsm20 dsm20 changed the title Feat/dspx 2689 listkeyaccessserver sort feat(policy): add sort support to ListKeyAccessServer Apr 9, 2026
@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request enhances the ListKeyAccessServers API by integrating robust sorting functionality. It allows users to retrieve Key Access Servers ordered by various fields, providing greater flexibility and control over data presentation. The changes span across protocol definitions, database queries, and application logic, ensuring a consistent and well-tested implementation for ordering results.

Highlights

  • New Sorting Capability: Introduced strongly-typed sort support for the ListKeyAccessServers RPC, allowing clients to specify sorting preferences for retrieved Key Access Servers.
  • Sortable Fields: Key Access Servers can now be sorted by name, uri, created_at, and updated_at in either ascending or descending order.
  • Backward Compatibility and Default Sorting: The sorting mechanism is backward-compatible, falling back to created_at DESC, then id ASC when no sort parameters are provided or when the sort field is unspecified.
  • Protocol and Database Updates: New protobuf definitions (SortKeyAccessServersType enum, KeyAccessServersSort message) were added, and the underlying SQL queries were updated to dynamically apply sorting logic.
  • Comprehensive Testing: Extensive unit tests cover the sort parameter mapping logic, and integration tests validate various sorting scenarios, including default fallback and specific field/direction combinations.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Ignored Files
  • Ignored by pattern: docs/openapi/**/* (1)
    • docs/openapi/policy/kasregistry/key_access_server_registry.openapi.yaml
  • Ignored by pattern: protocol/**/* (1)
    • protocol/go/policy/kasregistry/key_access_server_registry.pb.go
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.


Data flows, a stream untold, But order brings a story bold. By name or date, a choice is made, In sorted lists, true sense is laid.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 9, 2026

Benchmark results, click to expand

Benchmark authorization.GetDecisions Results:

Metric Value
Approved Decision Requests 1000
Denied Decision Requests 0
Total Time 209.457433ms

Benchmark authorization.v2.GetMultiResourceDecision Results:

Metric Value
Approved Decision Requests 1000
Denied Decision Requests 0
Total Time 117.31519ms

Benchmark Statistics

Name № Requests Avg Duration Min Duration Max Duration

Bulk Benchmark Results

Metric Value
Total Decrypts 100
Successful Decrypts 100
Failed Decrypts 0
Total Time 410.818349ms
Throughput 243.42 requests/second

TDF3 Benchmark Results:

Metric Value
Total Requests 5000
Successful Requests 5000
Failed Requests 0
Concurrent Requests 50
Total Time 43.492645986s
Average Latency 433.988013ms
Throughput 114.96 requests/second

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Warning

Gemini is experiencing higher than usual traffic and was unable to create the review. Please try again in a few hours by commenting /gemini review.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/openapi/policy/kasregistry/key_access_server_registry.openapi.yaml`:
- Around line 576-582: Update the policy.SortDirection enum documentation to
explicitly state that the value SORT_DIRECTION_UNSPECIFIED should be interpreted
as ascending order (equivalent to SORT_DIRECTION_ASC); modify the enum
description for policy.SortDirection to note that UNSPECIFIED defaults to ASC
for endpoint-neutral sorting guidance while leaving any concrete List* request
field comments to define endpoint-specific default ordering.

In `@service/integration/kas_registry_test.go`:
- Around line 880-892: The test uses assertIDsInDescendingOrder to verify ASC
ordering which is confusing; rename the helper function
assertIDsInDescendingOrder to a neutral name like assertIDsInOrder (or similar)
and update all calls (e.g., in Test_ListKeyAccessServers_SortByCreatedAt_ASC) to
use the new name, keeping the same signature and behavior in the function
definition so tests still pass; alternatively, if you prefer not to rename, add
a one-line comment above assertIDsInDescendingOrder clarifying that it verifies
that the provided IDs appear in the given order (not necessarily descending) and
update callers to include a brief comment where used in ASC tests (e.g.,
Test_ListKeyAccessServers_SortByCreatedAt_ASC).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 2f2bc052-f008-41a1-b141-5365e6faaa5d

📥 Commits

Reviewing files that changed from the base of the PR and between ff718ae and 9a0f669.

⛔ Files ignored due to path filters (1)
  • protocol/go/policy/kasregistry/key_access_server_registry.pb.go is excluded by !**/*.pb.go
📒 Files selected for processing (10)
  • docs/grpc/index.html
  • docs/openapi/policy/kasregistry/key_access_server_registry.openapi.yaml
  • service/integration/kas_registry_test.go
  • service/policy/db/key_access_server_registry.go
  • service/policy/db/key_access_server_registry.sql.go
  • service/policy/db/queries/key_access_server_registry.sql
  • service/policy/db/utils.go
  • service/policy/db/utils_test.go
  • service/policy/kasregistry/key_access_server_registry.proto
  • service/policy/kasregistry/key_access_server_registry_test.go

dsm20 added 7 commits April 10, 2026 14:02
protovalidate tests for no sort, 1 sort, and 2 item sort (invalid).
replace order by with case when for all sortable fields/directions, then
regen sqlc
not going with constants yet for the new sort field (whereas updated and
created have constants), may need to re-examine in future
sortField and sortDirection
created two helpers: createSortTestKeyAccessServers (makes 3 KAS with 5ms gap for time testing), createNamedSortTestKeyAccessServers (unique names for name sorting). Then added 9 tests (created_at, updated_at, name, uri, unspecified).
replaces name sort field
@dsm20 dsm20 force-pushed the feat/DSPX-2689-listkeyaccessserver-sort branch from 9a0f669 to 231ef54 Compare April 10, 2026 18:07
@github-actions
Copy link
Copy Markdown
Contributor

Benchmark results, click to expand

Benchmark authorization.GetDecisions Results:

Metric Value
Approved Decision Requests 1000
Denied Decision Requests 0
Total Time 200.061492ms

Benchmark authorization.v2.GetMultiResourceDecision Results:

Metric Value
Approved Decision Requests 1000
Denied Decision Requests 0
Total Time 94.371891ms

Benchmark Statistics

Name № Requests Avg Duration Min Duration Max Duration

Bulk Benchmark Results

Metric Value
Total Decrypts 100
Successful Decrypts 100
Failed Decrypts 0
Total Time 396.283457ms
Throughput 252.34 requests/second

TDF3 Benchmark Results:

Metric Value
Total Requests 5000
Successful Requests 5000
Failed Requests 0
Concurrent Requests 50
Total Time 39.676672936s
Average Latency 395.227721ms
Throughput 126.02 requests/second

assertIDsinOrder() instead of older one
@dsm20 dsm20 marked this pull request as ready for review April 10, 2026 18:24
@github-actions
Copy link
Copy Markdown
Contributor

Benchmark results, click to expand

Benchmark authorization.GetDecisions Results:

Metric Value
Approved Decision Requests 1000
Denied Decision Requests 0
Total Time 179.730621ms

Benchmark authorization.v2.GetMultiResourceDecision Results:

Metric Value
Approved Decision Requests 1000
Denied Decision Requests 0
Total Time 93.915263ms

Benchmark Statistics

Name № Requests Avg Duration Min Duration Max Duration

Bulk Benchmark Results

Metric Value
Total Decrypts 100
Successful Decrypts 100
Failed Decrypts 0
Total Time 418.979086ms
Throughput 238.68 requests/second

TDF3 Benchmark Results:

Metric Value
Total Requests 5000
Successful Requests 5000
Failed Requests 0
Concurrent Requests 50
Total Time 40.193826243s
Average Latency 399.828955ms
Throughput 124.40 requests/second

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@service/policy/db/queries/key_access_server_registry.sql`:
- Around line 104-105: The DESC sort for name currently allows NULL names to
sort first; change the ORDER BY expression for the DESC branch so NULLs come
last by appending "NULLS LAST" to the CASE expression (i.e. update the CASE WHEN
`@sort_field`::text = 'name' AND `@sort_direction`::text = 'DESC' THEN kas.name END
DESC to CASE WHEN `@sort_field`::text = 'name' AND `@sort_direction`::text = 'DESC'
THEN kas.name END DESC NULLS LAST) so unnamed (NULL) KAS rows are excluded from
the front of name DESC results.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: d0232261-557e-45d2-980e-24b3d1d0b3b2

📥 Commits

Reviewing files that changed from the base of the PR and between 9a0f669 and fafd04d.

⛔ Files ignored due to path filters (1)
  • protocol/go/policy/kasregistry/key_access_server_registry.pb.go is excluded by !**/*.pb.go
📒 Files selected for processing (10)
  • docs/grpc/index.html
  • docs/openapi/policy/kasregistry/key_access_server_registry.openapi.yaml
  • service/integration/kas_registry_test.go
  • service/policy/db/key_access_server_registry.go
  • service/policy/db/key_access_server_registry.sql.go
  • service/policy/db/queries/key_access_server_registry.sql
  • service/policy/db/utils.go
  • service/policy/db/utils_test.go
  • service/policy/kasregistry/key_access_server_registry.proto
  • service/policy/kasregistry/key_access_server_registry_test.go

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@service/policy/db/queries/key_access_server_registry.sql`:
- Around line 104-105: The CASE clauses using backticked parameters should be
changed to use the plain parameter identifiers so they match the other clauses:
replace `@sort_field` and `@sort_direction` (the backticked forms) with
`@sort_field` and `@sort_direction` in the CASE statements that produce "kas.name
END ASC NULLS LAST" and "kas.name END DESC NULLS LAST" so the parameter syntax
is consistent with the other CASE branches and sqlc codegen expectations.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: ffe41e1b-836b-47b1-8ef9-f1e5e3fc1243

📥 Commits

Reviewing files that changed from the base of the PR and between fafd04d and 4248fe5.

📒 Files selected for processing (1)
  • service/policy/db/queries/key_access_server_registry.sql

@github-actions
Copy link
Copy Markdown
Contributor

Benchmark results, click to expand

Benchmark authorization.GetDecisions Results:

Metric Value
Approved Decision Requests 1000
Denied Decision Requests 0
Total Time 193.54471ms

Benchmark authorization.v2.GetMultiResourceDecision Results:

Metric Value
Approved Decision Requests 1000
Denied Decision Requests 0
Total Time 100.895244ms

Benchmark Statistics

Name № Requests Avg Duration Min Duration Max Duration

Bulk Benchmark Results

Metric Value
Total Decrypts 100
Successful Decrypts 100
Failed Decrypts 0
Total Time 376.953212ms
Throughput 265.28 requests/second

TDF3 Benchmark Results:

Metric Value
Total Requests 5000
Successful Requests 5000
Failed Requests 0
Concurrent Requests 50
Total Time 39.733029586s
Average Latency 395.847409ms
Throughput 125.84 requests/second

@dsm20 dsm20 force-pushed the feat/DSPX-2689-listkeyaccessserver-sort branch from 4248fe5 to fafd04d Compare April 10, 2026 19:13
@github-actions
Copy link
Copy Markdown
Contributor

Benchmark results, click to expand

Benchmark authorization.GetDecisions Results:

Metric Value
Approved Decision Requests 1000
Denied Decision Requests 0
Total Time 203.622079ms

Benchmark authorization.v2.GetMultiResourceDecision Results:

Metric Value
Approved Decision Requests 1000
Denied Decision Requests 0
Total Time 102.011006ms

Benchmark Statistics

Name № Requests Avg Duration Min Duration Max Duration

Bulk Benchmark Results

Metric Value
Total Decrypts 100
Successful Decrypts 100
Failed Decrypts 0
Total Time 398.688734ms
Throughput 250.82 requests/second

TDF3 Benchmark Results:

Metric Value
Total Requests 5000
Successful Requests 5000
Failed Requests 0
Concurrent Requests 50
Total Time 41.108711065s
Average Latency 408.664105ms
Throughput 121.63 requests/second

following pattern + feedback
c-r33d
c-r33d previously approved these changes Apr 13, 2026
@github-actions
Copy link
Copy Markdown
Contributor

Benchmark results, click to expand

Benchmark authorization.GetDecisions Results:

Metric Value
Approved Decision Requests 1000
Denied Decision Requests 0
Total Time 190.0116ms

Benchmark authorization.v2.GetMultiResourceDecision Results:

Metric Value
Approved Decision Requests 1000
Denied Decision Requests 0
Total Time 95.852383ms

Benchmark Statistics

Name № Requests Avg Duration Min Duration Max Duration

Bulk Benchmark Results

Metric Value
Total Decrypts 100
Successful Decrypts 100
Failed Decrypts 0
Total Time 391.235074ms
Throughput 255.60 requests/second

TDF3 Benchmark Results:

Metric Value
Total Requests 5000
Successful Requests 5000
Failed Requests 0
Concurrent Requests 50
Total Time 40.711925996s
Average Latency 405.895076ms
Throughput 122.81 requests/second

@github-actions
Copy link
Copy Markdown
Contributor

@github-actions
Copy link
Copy Markdown
Contributor

Benchmark results, click to expand

Benchmark authorization.GetDecisions Results:

Metric Value
Approved Decision Requests 1000
Denied Decision Requests 0
Total Time 193.416944ms

Benchmark authorization.v2.GetMultiResourceDecision Results:

Metric Value
Approved Decision Requests 1000
Denied Decision Requests 0
Total Time 93.761151ms

Benchmark Statistics

Name № Requests Avg Duration Min Duration Max Duration

Bulk Benchmark Results

Metric Value
Total Decrypts 100
Successful Decrypts 100
Failed Decrypts 0
Total Time 386.513206ms
Throughput 258.72 requests/second

TDF3 Benchmark Results:

Metric Value
Total Requests 5000
Successful Requests 5000
Failed Requests 0
Concurrent Requests 50
Total Time 40.126530572s
Average Latency 399.542376ms
Throughput 124.61 requests/second

@github-actions
Copy link
Copy Markdown
Contributor

⚠️ Govulncheck found vulnerabilities ⚠️

The following modules have known vulnerabilities:

  • examples
  • sdk
  • service
  • lib/fixtures
  • tests-bdd

See the workflow run for details.

@dsm20 dsm20 added this pull request to the merge queue Apr 14, 2026
Merged via the queue into main with commit 7fae2d7 Apr 14, 2026
38 checks passed
@dsm20 dsm20 deleted the feat/DSPX-2689-listkeyaccessserver-sort branch April 14, 2026 14:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp:db DB component comp:policy Policy Configuration ( attributes, subject mappings, resource mappings, kas registry) docs Documentation size/m

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants