Closed
Description
Hi,
I'am using spring boot data redis 2.2.4Release with lettuce 5.2.1 and faced some strange behaviour.
When im persisting some expiring entities (changing ttl from positive to -1), there is still (after :phantom expiring hits) meta information deleting, dropping indexes and so on.
Reproduction
- Save an entity with any field
@Indexed
and@TimeToLive
field > 0 - Spring data creates :phantom entity with TTL(base ttl + some seconds), :idx and some SET meta entries (for indexing)
- Get our entity, change
@TimeToLive
field to -1 (no expiry), save via repository interface method - :phantom copy expiry TTL is not changed, and still counting down
- After :phantom expire hits, spring expiry event published, :idx and meta set is deleted from space
Expected behaviour:
When entity updated with @TimeToLive
field changed from expiry (>0) to no_expire (-1) - :phantom entity is removed or event incoming from :phantom expire not doing anything