#987985 Possible regression in TTL/ERR response

Package:
redis-server
Source:
redis
Description:
Persistent key-value database with network interface
Submitter:
Benjamin Kuhl
Date:
2021-05-06 16:57:03 UTC
Severity:
normal
#987985#5
Date:
2021-05-03 09:16:34 UTC
From:
To:
The actually version has a bug. I found it out by using nodejs with the redis package on my host.
Before the redis update, everything worked fine. This is the error:

/app/node_modules/redis-parser/lib/parser.js:179
     return new ReplyError(string)
            ^

ReplyError: ERR syntax error
     at parseError (/app/node_modules/redis-parser/lib/parser.js:179:12)
     at parseType (/app/node_modules/redis-parser/lib/parser.js:302:14) {
   command: 'SET',
   args: [
     '2a02:908:531:e6e0:42b0:76ff:fea4:d7cb, 162.158.93.15',
     '2',
     'KEEPTTL'
   ],
   code: 'ERR'
}

I set a key value with a lifetime of 15 seconds, so the value will be deleted after 15 seconds. After
setting it i change the value several times before end of life, without resetting the lifetime. As in
the error my syntax seems to be wrong, but it works on every other redis-server version. And the syntax
is from the documentation, so its correct. This is the code line

const ok = await RedisServer.setValue(key, value, 'KEEPTTL');

I solved the problem by using the redis-server version from the backport.

#987985#10
Date:
2021-05-03 09:52:52 UTC
From:
To:
Hi Benjamin,

I note that you write it works with the version in backports, but can
you let me know whether it works in the previous version in buster --
ie. 5:5.0.3-4+deb10u2. I'd like to track down exactly where this
regresses.


Regards,

#987985#15
Date:
2021-05-03 09:52:52 UTC
From:
To:
Hi Benjamin,

I note that you write it works with the version in backports, but can
you let me know whether it works in the previous version in buster --
ie. 5:5.0.3-4+deb10u2. I'd like to track down exactly where this
regresses.


Regards,

#987985#20
Date:
2021-05-03 09:58:40 UTC
From:
To:
I cant remember exactly, but the last days there was an update for
redis-server and before this update it worked perfect. Cant say directly
which version it was, but it was the version before the actually one.

Am 03.05.21 um 11:52 schrieb Chris Lamb:

#987985#27
Date:
2021-05-05 15:16:49 UTC
From:
To:
Hi Benjamin,

No problem. I'm trying to reproduce this locally -- looking at the
traceback in your original bug report, are you doing the equivalent
of:

  $ redis-cli set "2a02:908:531:e6e0:42b0:76ff:fea4:d7cb, 162.158.93.15" "2" KEEPTTL

?

You mention "I set a key value with a lifetime of 15 seconds" but I
don't see that in the traceback.


Regards,

#987985#32
Date:
2021-05-05 17:21:31 UTC
From:
To:
At an earlier point im setting the kay-value like this,

     const ok = await RedisServer.setValue(ip, '1', 'EX', 15);

Where the variable ip is something like

"2a02:908:531:e6e0:42b0:76ff:fea4:d7cb, 162.158.93.15"

This seems to work, but i only get the error when im changing the
key-value as i wrote. When im trying to access the entry and change the
number '1' to '2' and set 'KEEPTTL'.


Am 05.05.21 um 17:16 schrieb Chris Lamb:

#987985#37
Date:
2021-05-06 11:50:04 UTC
From:
To:
Hi Benjamin,

So, to confirm, you are running the equivalent of:

 $ redis-cli set "2a02:908:531:e6e0:42b0:76ff:fea4:d7cb, 162.158.93.15" "1" EX 15
 $ redis-cli set "2a02:908:531:e6e0:42b0:76ff:fea4:d7cb, 162.158.93.15" "2" KEEPTTL

... with the second command failing? If so, although I can reproduce
this error using 3:3.2.6-3+deb9u4, I can _also_ reproduce it using
deb9u3. Again, just trying to track down the regression...


Regards,

#987985#42
Date:
2021-05-06 12:46:29 UTC
From:
To:
I think the actually version is 5.0.3-4+deb10u3!? I had this error with
Debian Buster some Days ago.

Am 06.05.21 um 13:50 schrieb Chris Lamb:

#987985#47
Date:
2021-05-06 16:53:03 UTC
From:
To:
Hi Benjamin,
mistake -- my apologies.  However, I still get the same "ERR syntax
error" when I run:

 $ redis-cli set "2a02:908:531:e6e0:42b0:76ff:fea4:d7cb, 162.158.93.15" "1" EX 15
 $ redis-cli set "2a02:908:531:e6e0:42b0:76ff:fea4:d7cb, 162.158.93.15" "2" KEEPTTL

... on both 5:5.0.3-4+deb10u2 and 5:5.0.3-4+deb10u3.


Regards,