Function Exception Spikes Indicate Processing Failures
warningElevated pulsar_function_user_exceptions_count, pulsar_source_source_exceptions_count, or pulsar_sink_sink_exceptions_count signals that Pulsar Functions or connectors are failing to process messages, potentially causing data loss or duplicate processing.
Monitor exception metrics (pulsar_function_user_exceptions_count, pulsar_source_source_exceptions_count_1min, pulsar_sink_sink_exceptions_count_1min, pulsar_sink_system_exceptions_count) for sustained increases. Correlate with pulsar_function_received_count and pulsar_sink_received_count to calculate error rates. Check pulsar_function_last_invocation and pulsar_sink_last_invocation for stalled functions.
Review function/connector logs for specific error messages. Verify external dependencies (databases, APIs) are accessible and responding. Check function resource allocation (CPU, memory) and scale if needed. Review function code for error handling and retry logic. Monitor pulsar_function_received_count_1min to confirm function is still receiving messages. Consider implementing dead letter queues for permanently failed messages.