Hi all,
I’d like to initiate discussion on PIP-459: Batch Status Summary and Filtered
Listing for Pulsar Functions.
PIP PR: https://github.com/apache/pulsar/pull/25299
Summary
Currently, pulsar-admin functions list only returns function names. Operators
assessing runtime health must make N+1 admin calls: one request to list
functions and additional status requests per function. This inefficiency
complicates daily operations, especially in namespaces with many functions.
Proposal:
New namespace-level batch status summary API for Pulsar Functions
Lightweight FunctionStatusSummary model including:
Function name
Derived state
Instance counts
Error classification
Admin client fallback for legacy workers without the new summary endpoint
CLI enhancements for pulsar-admin functions list:
--state: Filter by function state
--long: Detailed output
--limit/--continuation-token: Pagination support
Worker-side controlled parallelism with configurable thresholds and metrics for
observability
Compatibility
Backward-compatible design:
Existing functions list behavior remains unchanged without new flags
New admin client methods added as default interfaces
New clients degrade gracefully to legacy list-plus-status behavior for older
workers
Feedback Requested
Key discussion points:
API shape of /admin/v3/functions/{tenant}/{namespace}/status/summary
Compatibility strategy for mixed-version deployments
CLI semantics (e.g., rejecting --state with pagination arguments)
Worker-side parallelism and observability implementation
Looking forward to your input.
— onceMisery