Skip to content

Conversation

@k-a-il
Copy link
Contributor

@k-a-il k-a-il commented Jan 27, 2026

Motivation

When a plugin is not supported by the user's license, we need to provide a clear and appropriate message to the customer. This PR improves the current approach in #13344 , which catches the PluginDisabled exception in the ServiceExceptionSerializer. The proposed changes introduce a new exception class and catch the PluginDisabled exception earlier in the ServiceLoader.
As a result, PluginNotIncludedInUserLicenseError, a subclass of NotImplementedError, is raised. This exception is then handled by the ServiceExceptionSerializer, allowing the AWS catalog to generate and provide a custom error message when a plugin is not included in the user's license.

Changes

  • Adds new PluginNotIncludedInUserLicenseError, a subclass of NotImplementedError
  • Modified logic of ServiceExceptionSerializer, if PluginNotIncludedInUserLicenseError is being processed, no operation name is provided to catalog because the operation name is irrelevant in this case.
  • Catch the PluginDisabled exception in the ServiceLoader if exception reason is that the plugin is not included in the user's license

Tests

  • Fallback to PluginNotIncludedInUserLicenseError was tested locally

Related

FLC-183

@k-a-il k-a-il added this to the 4.13 milestone Jan 27, 2026
@k-a-il k-a-il self-assigned this Jan 27, 2026
@k-a-il k-a-il added semver: minor Non-breaking changes which can be included in minor releases, but not in patch releases docs: skip Pull request does not require documentation changes notes: skip Pull request does not have to be mentioned in the release notes labels Jan 27, 2026
@k-a-il k-a-il requested review from a team and bentsku January 27, 2026 09:18
@github-actions
Copy link

github-actions bot commented Jan 27, 2026

S3 Image Test Results (AMD64 / ARM64)

    2 files  ±0      2 suites  ±0   8m 9s ⏱️ -2s
  552 tests ±0    500 ✅ ±0   52 💤 ±0  0 ❌ ±0 
1 104 runs  ±0  1 000 ✅ ±0  104 💤 ±0  0 ❌ ±0 

Results for commit 1075e75. ± Comparison against base commit fcd464a.

♻️ This comment has been updated with latest results.

@github-actions
Copy link

github-actions bot commented Jan 27, 2026

Test Results - Preflight, Unit

23 084 tests  ±0   21 225 ✅ ±0   6m 6s ⏱️ -16s
     1 suites ±0    1 859 💤 ±0 
     1 files   ±0        0 ❌ ±0 

Results for commit 1075e75. ± Comparison against base commit fcd464a.

This pull request removes 1 and adds 1 tests. Note that renamed tests count towards both.
tests.unit.aws.handlers.test_service.TestServiceExceptionSerializer ‑ test_not_implemented_error_uses_catalog_when_message_is_empty[AVAILABLE_WITH_LICENSE_UPGRADE-is not supported with your LocalStack license]
tests.unit.aws.handlers.test_service.TestServiceExceptionSerializer ‑ test_not_implemented_error_uses_catalog_when_message_is_empty[AVAILABLE_WITH_LICENSE_UPGRADE-is not included within your LocalStack license]

♻️ This comment has been updated with latest results.

@github-actions
Copy link

github-actions bot commented Jan 27, 2026

LocalStack Community integration with Pro

    2 files  ±0      2 suites  ±0   1h 57m 2s ⏱️ - 2m 55s
5 176 tests +1  4 788 ✅ +1  388 💤 ±0  0 ❌ ±0 
5 178 runs  +1  4 788 ✅ +1  390 💤 ±0  0 ❌ ±0 

Results for commit 1075e75. ± Comparison against base commit fcd464a.

♻️ This comment has been updated with latest results.

@k-a-il k-a-il marked this pull request as ready for review January 27, 2026 13:40
@k-a-il k-a-il requested a review from thrau as a code owner January 27, 2026 13:40
@k-a-il k-a-il requested a review from bentsku January 27, 2026 13:44
@k-a-il k-a-il changed the title Use AWS catalog for error message when plugin is not available in user license AWS catalog: Provide custom error message when plugin is not available in user license Jan 27, 2026
@github-actions
Copy link

github-actions bot commented Jan 27, 2026

Test Results (amd64) - Acceptance

7 tests  ±0   5 ✅ ±0   2m 49s ⏱️ -12s
1 suites ±0   2 💤 ±0 
1 files   ±0   0 ❌ ±0 

Results for commit 1075e75. ± Comparison against base commit fcd464a.

♻️ This comment has been updated with latest results.

@github-actions
Copy link

github-actions bot commented Jan 27, 2026

Test Results (amd64) - Integration, Bootstrap

    5 files      5 suites   2h 36m 39s ⏱️
5 597 tests 5 039 ✅ 558 💤 0 ❌
5 603 runs  5 039 ✅ 564 💤 0 ❌

Results for commit 1075e75.

♻️ This comment has been updated with latest results.

Copy link
Contributor

@bentsku bentsku left a comment

Choose a reason for hiding this comment

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

LGTM! This looks good, nice work, great cleanup! Great to see the catalog being put to use 👌

Only have a minor nit to reduce indentation a bit, but nothing blocking!

@k-a-il k-a-il merged commit 3cfcaeb into main Jan 28, 2026
49 checks passed
@k-a-il k-a-il deleted the flc-183-missing-plugin-handle-with-catalog branch January 28, 2026 12:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs: skip Pull request does not require documentation changes notes: skip Pull request does not have to be mentioned in the release notes semver: minor Non-breaking changes which can be included in minor releases, but not in patch releases

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants