Thank you Pavel!

On Mon, Nov 11, 2024 at 12:25 AM Pavel Tupitsyn <ptupit...@apache.org>
wrote:

> - IgniteLock is cheap. It is just an entry in a special cache, you can
> have thousands of them.
> - IgniteLock is removed without a trace on close(), you can create a new
> one with the same name later.
>
> > Would you expect ignite 3 the same behavior as ignite 2  in this respect
> or it may be different
> We don't know yet. I recommend using Ignite 2.x for now.
>
> > Would you recommend I should continue using this strategy with Ignite?
> Yes
>
> On Mon, Nov 11, 2024 at 12:57 AM Alex Roytman <roytm...@gmail.com> wrote:
>
>> Hello Jeremy,
>>
>> Sorry for the confusion and verbose message - it has nothing to do with
>> Ignite files or file locking in general - I was just trying to provide some
>> background on what the application is doing and how ignite locks will be
>> used.
>> The only thing (about ignite) I really need to know is how costly
>> creating and destroying reentrant locks is and if destroying them will free
>> up all resources completely and if locks with the same name can be created
>> again later on.
>> For example in hazelcast destroyed distributed locks become unusable but
>> are not removed and can not be recreated so the only way to work with them
>> is preallocate a finite number of locks
>>
>> Thank you,
>> Alex
>>
>>
>>
>> On Sun, Nov 10, 2024 at 4:52 PM Jeremy McMillan <j...@gridgain.com> wrote:
>>
>>> I don't understand what Ignite does with processing filesystem
>>> directories. This sounds like a question for whoever is supporting your OS.
>>> It is generally a very bad idea to write to files which belong to Ignite. I
>>> suspect you're struggling with OS file locking semantics and concurrent
>>> file access. If this is what you are doing with your Ignite client, you
>>> likely need to operate similar to what you did for Hazelcast, which like
>>> Ignite is downstream of your concurrent file processing and locking.
>>>
>>>
>>> On Sat, Nov 9, 2024 at 8:16 PM Alex Roytman <roytm...@gmail.com> wrote:
>>>
>>>> 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