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.