Since the connection pool is per-TM, and a given job may span numerous TMs,
I think you're imagining a per-TM cleanup.

Your idea of using reference counting seems like the best option.  Maintain
a static count of open instances.  Use a synchronization block to manage
the count and to conditionally open and close the connection pool.


On Mon, Dec 18, 2017 at 1:58 AM, Fabian Hueske <fhue...@gmail.com> wrote:

> Hi Andrew,
>
> I'm not aware of such a plan.
> Another way to address such issues is to run multiple TaskManagers with a
> single slot. In that case, only one subtask is executed per TM processes.
>
> Best, Fabian
>
> 2017-12-15 22:23 GMT+01:00 Andrew Roberts <arobe...@fuze.com>:
>
>> Hello,
>>
>> I’m writing a Flink operator that connects to a database, and running it
>> in parallel results in issues due to the singleton nature of the connection
>> pool in the library I’m working with. The operator needs to close the
>> connection pool when it’s done, but only when ALL parallel instances are
>> done. If one subtask finishes first, then it closes the pool out from under
>> the subtasks that are still working. Currently, I’m using a
>> reference-counting hack that’s pretty brittle and unsatisfying. Are there
>> any plans to add a user-definable job-level cleanup interface?
>>
>> Thanks
>>
>> Andrew
>> --
>> *Confidentiality Notice: The information contained in this e-mail and any
>> attachments may be confidential. If you are not an intended recipient, you
>> are hereby notified that any dissemination, distribution or copying of
>> this
>> e-mail is strictly prohibited. If you have received this e-mail in error,
>> please notify the sender and permanently delete the e-mail and any
>> attachments immediately. You should not retain, copy or use this e-mail or
>> any attachment for any purpose, nor disclose all or any part of the
>> contents to any other person. Thank you.*
>>
>
>

Reply via email to