[studio] feat: Admin Service Integration with Messaging Pipeline and E2E Tests
Background
This is the sixth and final atomic PR in the RIP-2 (Proxy Admin Interface) series. It integrates the admin service with the existing messaging pipeline (receipt handle management, channel tracking, message processing) and provides end-to-end integration tests.
Design Proposal
Receipt Handle Management
- ReceiptHandleManager (interface): Admin-facing API for receipt handle lifecycle queries and operations
- DefaultReceiptHandleManager: Implementation that wraps the existing receipt handle processor, adding admin-specific query capabilities (list by group, list by topic, TTL inspection)
Messaging Pipeline Integration
- GrpcMessagingActivity / DefaultGrpcMessagingActivity: Extended to expose client activity metrics to the admin service (message count, error rate, last operation timestamp)
- GrpcMessagingApplication: Modified to register the admin service as an observer of messaging lifecycle events
- GrpcChannelManager / GrpcClientChannel: Extended with admin query methods — channel state inspection, pending request count, connection metadata
- ClientActivity: Enhanced to track per-client operation history for admin diagnostics
Processor Extension
- MessagingProcessor / DefaultMessagingProcessor: Added admin query methods that aggregate broker-side state (topic config, subscription info) for the admin API
- ReceiptHandleProcessor: Extended to support admin-initiated handle inspection and forced expiration
Infrastructure
- WORKSPACE: Updated Bazel workspace for integration test dependencies
- SimpleChannel: Minor fix for admin channel state reporting
End-to-End Integration Test
- ProxyAdminGrpcIT (602 lines): Full-stack integration test that:
- Starts a real Proxy instance with admin service enabled
- Connects a gRPC admin client
- Verifies all admin RPCs (ListClients, GetTopicRoute, WatchRouteChange, etc.)
- Tests authentication flow (valid/invalid tokens)
- Validates streaming route change notifications
Scope
| File |
Type |
Description |
ReceiptHandleManager.java |
New |
Handle management interface |
DefaultReceiptHandleManager.java |
New |
Handle management implementation |
SimpleChannel.java |
Modified |
Admin channel state fix |
DefaultGrpcMessagingActivity.java |
Modified |
Admin metrics exposure |
GrpcMessagingActivity.java |
Modified |
Interface extension |
GrpcMessagingApplication.java |
Modified |
Admin observer registration |
GrpcChannelManager.java |
Modified |
Admin query methods |
GrpcClientChannel.java |
Modified |
Channel metadata for admin |
ClientActivity.java |
Modified |
Operation history tracking |
DefaultMessagingProcessor.java |
Modified |
Admin query aggregation |
MessagingProcessor.java |
Modified |
Interface extension |
ReceiptHandleProcessor.java |
Modified |
Admin handle inspection |
WORKSPACE |
Modified |
Integration test dependencies |
AbstractRemotingActivityTest.java |
New |
Remoting activity tests |
ProxyAdminGrpcIT.java |
New |
E2E integration test (602 lines) |
Total: 15 files, +1291 lines
Dependencies
Testing
- E2E integration test covering all admin RPCs against a real Proxy instance
- Authentication flow verification (token-based and ACL-based)
- Streaming test for route change notifications
- Remoting activity unit tests
Branch
feature/rip-2-pr6-messaging-integration
[studio] feat: Admin Service Integration with Messaging Pipeline and E2E Tests
Background
This is the sixth and final atomic PR in the RIP-2 (Proxy Admin Interface) series. It integrates the admin service with the existing messaging pipeline (receipt handle management, channel tracking, message processing) and provides end-to-end integration tests.
Design Proposal
Receipt Handle Management
Messaging Pipeline Integration
Processor Extension
Infrastructure
End-to-End Integration Test
Scope
ReceiptHandleManager.javaDefaultReceiptHandleManager.javaSimpleChannel.javaDefaultGrpcMessagingActivity.javaGrpcMessagingActivity.javaGrpcMessagingApplication.javaGrpcChannelManager.javaGrpcClientChannel.javaClientActivity.javaDefaultMessagingProcessor.javaMessagingProcessor.javaReceiptHandleProcessor.javaWORKSPACEAbstractRemotingActivityTest.javaProxyAdminGrpcIT.javaTotal: 15 files, +1291 lines
Dependencies
Testing
Branch
feature/rip-2-pr6-messaging-integration