Hello Everyone,

I am processing files (in a complex way) in a large number of file system
directories. For the most part, at any given time different directories
will be touched but the same directory may be written to from different
threads or nodes (and it may take some time to complete processing) so I
need to do it under a lock.

I would like to ask if there is a significant cost in creating, using and
destroying a lock and if resources will be cleanly released.
In my Hazelcast based implementation I hash all directory paths being used
to 256 locks because if I create/use/destroy a lock for each directory, the
locks are never fully deallocated upon destruction and fairly quickly eat
up all resources.

256 (configurable) locks seem to provide sufficient concurrency even for
processing that may take 100 of seconds

Would you expect ignite 3 the same behavior as ignite 2  in this respect or
it may be different

Would you recommend I should continue using this strategy with Ignite?

Thank you,
Alex

Reply via email to