Try replacing the call with an explicit find
+ deleteAll
:
List<Embedding> embeddings = repository.findAllByFileName(fileName);
log.info("Deleting {} Embedding objects with fileName={}", embeddings.size(), fileName);
repository.deleteAll(embeddings);
Why?
Spring Data Redis retrieves IDs via the @Indexed
field and then deletes by those IDs — if the index is broken, outdated, or Redis fails to deserialize the objects, the deletion may silently do nothing. An explicit find
→ deleteAll
is easier to debug and log.