Acquiring a lock with withShouldSkipBlockingWait(true) (so we don't block waiting) does not attempt to retrieve a lock that is expired (e.g., owner died / past lease time) as opposed to not using this option. Basically, if a lock is stale in DDB, using withShouldSkipBlockingWait will never be able to pick up the lock and it will consider it as already taken.