Open saturnism opened 4 years ago
PubSubTemplate
bean, which would not be available without the enabled flag (or without being explicitly defined in user config).Everything else is valid, though; DeadlineExceeded is a fairly normal scenario and we should not treat it as exceptional.
gRPC timeout should be configurable through spring.cloud.gcp.pubsub.subscriber.retry.initial-rpc-timeout-seconds
and spring.cloud.gcp.pubsub.subscriber.retry.total-timeout-seconds
@saturnism, you were creating a message source with blockOnPull=true
? (the alternative has been deprecated in API anyway, but just to confirm).
- Health indicator autoconfig is conditional on
PubSubTemplate
bean, which would not be available without the enabled flag (or without being explicitly defined in user config).
I think we are missing the 'ConditionalOnBean` part. will update the comment.
@saturnism, you were creating a message source with blockOnPull=true? (the alternative has been deprecated in API anyway, but just to confirm)
yes - blockOnPull=true
thinking more about this.. if healthindicator is expected to autoconfigured when pubsub is enabled
it prob shouldn't check on conditionalonbean
, but check for whether pubsub starter is enabled or not?
That's probably true. The only way for .enabled
to be false is if someone explicitly disabled it, so it's a better indicator than presence of the bean.
Describe the solution you'd like pubSubTemplate.pull(...) doesn't accept a timeout parameter. It defaults to ~5s, and throws
DeadlineExceededException
Additional context In Spring Integration, when using PubSubMessourceSource (pulled), it logs
DeadlineExceededException
every ~5s.