News for hackers. Stuff that matters.

linepogl

Apart from the performance issues, it also prevents a bug. If some files get deleted between the first and the second pass, then you end up with unexpected behaviour and probably a crash.
Re:Every Programmer Should Know #1: Idempotency on Monday December 11, 2023 @01:28PM (#38603418)
And yet, the idempotent solution in the article is not idempotent.

The author proposes a solution that needs three steps: query a cache, execute, update the cache. These are not atomic and, therefore, not thread-safe. As a result, if a second request arrives before the first is finished, the operation will be executed again.