hanishi commented on code in PR #1494:
URL: https://github.com/apache/pekko-connectors/pull/1494#discussion_r2934990271
##########
google-cloud-pub-sub-grpc/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/grpc/javadsl/GooglePubSub.scala:
##########
@@ -79,6 +84,27 @@ object GooglePubSub {
.mapMaterializedValue(flattenCs(_))
.mapMaterializedValue(_.toCompletableFuture)
+ /**
+ * Create a source that emits messages for a given subscription using a
StreamingPullRequest.
+ *
+ * Automatically reconnects when the server closes the StreamingPull
connection (due to idle
+ * timeout, rebalancing, etc.), matching the behavior of Google's official
client library.
+ * Retryable gRPC errors (UNAVAILABLE, DEADLINE_EXCEEDED, INTERNAL, etc.)
trigger reconnection
+ * with exponential backoff. Non-retryable errors (PERMISSION_DENIED,
NOT_FOUND, etc.) cause
+ * the stream to fail immediately.
+ *
+ * @param request the subscription FQRS and ack deadline fields are
mandatory for the request
+ * @param pollInterval time between StreamingPullRequest messages are
being sent
+ * @param restartSettings settings for the exponential backoff reconnection
behavior
+ * @since 2.0.0
+ */
+ @ApiMayChange
Review Comment:
Idk, maybe? The new operators are functional and tested, but could benefit
from real-world usage before we commit to binary compatibility. We'll be using
these in production ourselves, which should surface any ergonomic issues or
missing functionality quickly.
Once the API proves stable, we can drop the annotation. Any thoughts?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]