Skip to content

[BUG] TOUCH has no effect in scripts when client is in no-touch mode #1498

Description

@gmbnomis

Describe the bug

When a client is in "no-touch" mode, the "TOUCH" command must update the last access time of a key (see https://valkey.io/commands/client-no-touch/).

This does not work when the "TOUCH" command is called from a script.

To reproduce

The problem is present in all released versions (Valkey 7.2.7, 8.0.1) and unstable:

127.0.0.1:6379> set foo bar
OK
127.0.0.1:6379> client no-touch on
OK
127.0.0.1:6379> object idletime foo
(integer) 9
127.0.0.1:6379> set foo bar
OK
127.0.0.1:6379> object idletime foo
(integer) 18
127.0.0.1:6379> eval "redis.call('touch', KEYS[1])" 1 foo
(nil)
127.0.0.1:6379> object idletime foo
(integer) 49
127.0.0.1:6379> touch foo
(integer) 1
127.0.0.1:6379> object idletime foo
(integer) 1

Expected behavior

eval "redis.call('touch', KEYS[1])" 1 foo above should reset the last access time.

Additional information

This is a problem that was fixed in the Redis 8.0-M02 pre-release.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions