Comments (9)
@furai You're right, this is confusing. I'm not sure what we need to do with exactly this bug. Maybe we can fix it and release it as 7.2.6.
So why is it like this? Our 7.2.x is a "redis compatibility release". We were trying to keep everything "redis 7.2.4 compatible" and pretend that we are Redis. It makes no sense for you but it can be important for other users. Some commands return error message like "Redis is busy" and it was important to keep things like that, because some clients and tools are hard-coded to check for exactly these strings.
In 8.0 we will have a much better situation. We will have a extended-redis-compatiblity config, default off. When it's on, valkey will pretend to be Redis 7.2.4 and when it's off (by default) it will be Valkey 8.0.0.
Same goes for the default decision to have redis-cli and what not symlinked. These in my opinion shouldn't be symlinked by default. On top of that, because of that symlink, both redis and valkey can't coexist on the system cause the install locations conflict.
The reason is that some tools and user scripts assume that there are commands like redis-cli
, so to be redis-compatible we should provide them. It's possible to disable these when installing.
You have the same problem when installing two different versions of valkey or two different versions of redis. It's possible to install them in different directories. Another possibility is to add a suffix to the binaries' names, make PROG_SUFFIX="-foo"
will compile binaries with names like valkey-cli-foo
.
from valkey.
Thanks for reporting the issue!
Looks like valkey-cli's cliVersion api is not updated with VALKEY_VERSION.
from valkey.
Yes, in Valkey 8 we will distinguish between the Valkey version and the Redis compat version and return one or the other in various places.
But in Valkey 7.2.x we don't distinguish between valkey version and redis-compat-version.
If we make a patch for this in the 7.2 branch, it probably doesn't harm to return 7.2.5 or 7.2.6 here. Although there is not yet any such Redis OSS version, if there will be, it won't have any new features or breaking changes.
from valkey.
@zuiderkwast @madolson 7.2.5 code base looks different, for instance cliVersion definition available in valkey-cli.c and in unstable its available in cli_common.c file. Because this in-consitency valkey changes not appled otherwise should be fixed in #232
from valkey.
Yeah, the code changed quite a bit between 7.2 and unstable, and we were trying to be very judicious about the backport. I don't think we thought about this one. It probably makes sense to update this to be the server_version instead of the redis version though.
from valkey.
For me personally as a new user not related to the project it makes more sense to have 7.2.5 version everywhere when I compile valkey. I'm thinking from a perspective where no prior knowledge of redis is assumed, like totally new person to the topic. For them it would be confusing (and for me in this instance as well) that when they check what version of software they're using and they're getting different number than expected.
Same goes for the default decision to have redis-cli and what not symlinked. These in my opinion shouldn't be symlinked by default. On top of that, because of that symlink, both redis and valkey can't coexist on the system cause the install locations conflict.
from valkey.
@furai Since you a new user for our Valkey, I just have one question. Do you feel confused as the following highlight part in json file?
I am not sure, Welcome feeback. Thanks
from valkey.
You mean that it's 6.0.0 when the project was still redis? That's something for documentation, right? I mean, it's kept for historical reasons, you can go in this repo and find 6.0.0 version. That's versioning of the software and it makes perfect sense. The naming redis/valkey is just a sprinkle on top and I wouldn't touch that. Definitely I wouldn't prepend 6.0.0 with redis word. That would be even more confusing.
I'd for sure wouldn't want to mix versioning and "branding". For me it doesn't matter that this previously was named redis. All I care about is knowing that it was introduced at some point in the past, certain version.
As to my original issue - we have released version 7.2.5 and it wasn't reflected in --version
for certain binaries. I don't think it should state that it was redis-7.2.4
as this would be even more confusing. I get that feature-wise it was on par with 7.2.4 version of redis but that's totally irrelevant for someone like me.
That's just my personal feeling about the whole issue.
from valkey.
So I guess we are saying that for 7.2, it will stay compatible with Redis, then when release Valkey 8.0 it will reflect the valkey version?
from valkey.
Related Issues (20)
- [Test failure] test_reclaimFilePageCache fails on Amazon Linux 2023 AARCH64 HOT 2
- Remove direct reference to conn->fd and use the connection abstraction
- [BUG] cluster rebalance --cluster-weight <node>=0 fails with clusterManagerMoveSlot: NOREPLICAS error HOT 8
- [NEW] Benchmark CLI tool rewrite HOT 9
- [NEW] New Commands for Module: Module Set-Argument <name> [ARGS1, ARGS2...] and Module Reset-Argument <name> HOT 2
- [NEW] Replication stream access via Module API
- [NEW] Migrate non topology update cluster bus messages to light header type HOT 11
- [NEW] Trigger manual failover on SIGTERM to primary (cluster) HOT 7
- [Feature request] Ability to accurately predict database size HOT 2
- [Test failure] Migrated replica reports zero repl offset issue
- [NEW] Vector databse related support HOT 1
- [Test failure] Slow runners show issue with hostnames HOT 6
- [BUG] FUNCTION LOAD replicates to replica, while SCRIPT LOAD does not. HOT 1
- [Test failure] Migrated replica reports zero repl offset and rank HOT 2
- [Test failure] Instance #0, #1, #2 gets converted into a slaves HOT 1
- [Test failure] valkey-cli make source node ignores NOREPLICAS error when doing the last CLUSTER SETSLOT HOT 4
- Add [Dual Channel] Tag for Dual Channel Server Logs HOT 1
- [NEW] New data structure for TTL HOT 2
- Implement new hash table
- Embed key and TTL in robj HOT 5
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.