Hi Romain,

Andrew's example actually wouldn't work for that. With Google Cloud Pub/Sub
(the example source he referenced), if there is no subscription to a topic,
all publishes to that topic are dropped on the floor; if you don't want to
lose data, your are expected to keep the subscription around continuously.
In this example, leaking a subscription is probably preferable to losing
date (especially since Pub/Sub itself garbage collects subscriptions that
have been inactive for a long time).

The answer might be that Beam does not have a good lifecycle story here,
and something needs to be built.

Reuven

On Tue, Jul 31, 2018 at 10:04 PM Romain Manni-Bucau <rmannibu...@gmail.com>
wrote:

> Hi Andrew,
>
> IIRC sources should clean up their resources per method since they dont
> have a better lifecycle. Readers can create anything longer and release it
> at close time.
>
>
> Le mer. 1 août 2018 00:31, Andrew Pilloud <apill...@google.com> a écrit :
>
>> Some of our IOs create external resources that need to be cleaned up when
>> a pipeline is terminated. It looks like the
>> org.apache.beam.sdk.io.UnboundedSource interface is called on creation, but
>> there is no call for cleanup. For example, PubsubIO creates a Pubsub
>> subcription in createReader()/split() and it should be deleted at shutdown.
>> Does anyone have ideas on how I might make this happen?
>>
>> (I filed https://issues.apache.org/jira/browse/BEAM-5051 tracking the
>> PubSub specific issue.)
>>
>> Andrew
>>
>

Reply via email to