Процессор ввода не может удалить запись из Coherence Cache
У меня странная проблема с EntryProcessor. У меня есть кэш разделов. У которого есть String в качестве ключа и Object в качестве значения. С другой стороны у меня есть Spring Poller, который опрашивает данные из этого кэша, используя cache.entrySet
Как только я получу набор ключей, попробуйте удалить их из кэша с помощью процессора ввода. Внутри процесса обработки процессора ввода я проверил, присутствует ли ключ, используя isPresent()
, если ключ присутствует, то удалите с помощью binaryentry.remove
Это выглядит нормально с одним узлом. Но когда мы работаем в многоузловой среде, я вижу, что даже ключ удаляется из кэша один раз, с разницей в миллисекунды, снова он идет внутрь isPresent
заблокировать и попытаться удалить ключ и возвращает истину.
Вопрос:- Почему isPresent
возвращает истину второй раз, когда ключ уже удален из кэша?
Примечание:- У меня есть 10 узлов, работающих на одном сервере. У меня всего 30 узлов на 3 блоках Unix. Каждый узел пытается получить один и тот же набор ключей, но если ключ удаляется одним узлом, он проверяет другой ключ.