Skip to content

[Studio] feat: Admin Service Integration with Messaging Pipeline and E2E Tests #10637

Description

@zhaohai666

[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:
    1. Starts a real Proxy instance with admin service enabled
    2. Connects a gRPC admin client
    3. Verifies all admin RPCs (ListClients, GetTopicRoute, WatchRouteChange, etc.)
    4. Tests authentication flow (valid/invalid tokens)
    5. 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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions