Comments (4)
@madolson do you think it is a bug?
from valkey.
I think streams command argument parser is written in a similar manner, where the last argument is picked.
@yyyhe Is that an accidental behavior by the client/yourself of passing the same argument multiple times?
from valkey.
I think it's a minor bug, since we aren't conforming to the documented behavior. We had a very similar issue related to 'hello' in the past (you can pass 'auth' multiple times), which I think just low quality argument parsing. I think it's worth trying to clean an up the argument parsing in the next major version.
from valkey.
Here we have an interesting piece of history, which we have discussed many times in the past (I will not quote the issues from Redis here). There are two scenarios:
-
For conflicting or semantically opposite arguments, Valkey rejects such usage, for example,
SET key value xx nx
would directly return an error. -
As for arguments of the same type, Valkey currently adopts a 'last win' strategy.
The core issue here is the second point, regarding the same arguments. Honestly, I'm not a fan of the 'last win' strategy, it's not a good usage pattern (I suspect that initially using multiple arguments might have likely been a user error). But indeed, there are quite a few users who use it this way. Although we have the opportunity to make some breaking changes in the next major version, we need to be very cautious, because this kind of usage is hard for users to detect themselves and it's difficult to carry out a comprehensive check before upgrading to a major version, which can lead to crash after the upgrade.
from valkey.
Related Issues (20)
- [Daily Test Failure] 12-master-reboot.tcl in test-sanitizer-address (clang)
- [Daily Test Failure] tests/unit/cluster/slot-migration.tcl in test-macos-latest
- Improve type safety of key embedding
- code usege of sds (and maybe other data types) HOT 1
- Add maxmemory-reserved-scale parameter to evict keys earlier HOT 2
- [NEW] WAIT ALL HOT 4
- [BUG] Example ACL for sentinel does not work HOT 1
- []Defrag level is calculated correctly HOT 1
- [NEW] Cluster support without special client bindings HOT 2
- [NEW] Opt-in for inclusive language (primary/replia in ROLE reply, CLUSTER SHARDS, etc.) HOT 4
- Regression from PR #445 Incorrectly Allows Slot Ownership Updates via Replica HOT 1
- Followup items from https://github.com/valkey-io/valkey/pull/758
- [NEW] Better branching strategy for Valkey HOT 10
- [Test Case Fail]External Server Tests HOT 3
- [BUG] nodes.conf can be corrupted when node is restarted before cluster shard ID stabilizes (for 7.2) HOT 5
- [BUG] CLUSTER SHARDS command returns "empty array" in slots section HOT 3
- [NEW] Can we add 'count' option to the 'RANDOMKEY' command? HOT 5
- [NEW] Nightly builds for Docker
- Update rioconnwrite size from https://github.com/valkey-io/valkey/pull/60
- Missing Check for Sender's Config Epoch Before Accepting Primary Claim
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from valkey.