Storm не удалит дубликаты, вы должны проверить, обработали ли вы уже корневое сообщение в начале вашего потока (то есть, вашего spout), чтобы вы не отправляли его снова в своей топологии, а затем испортить счетчики.
Идемпотентный потребительский паттерн - это то, на что вы должны смотреть.Хранение хэшей последних извлеченных событий, так что вы можете игнорировать их, если они случайно отправлены еще раз, например, это способ достичь этого (ConcurrentHashMap в памяти может сделать это или внешние кэши, такие как Redis, не забудьте исключить эти структуры, как только выуверен, что вы не рискуете получить событие снова).