Commit Graph

12253 Commits

Author SHA1 Message Date
Roshan Khatri
3630dd08a6
Restore all tests state prior to fork (#117)
Related to
https://github.com/valkey-io/valkey/pull/11#issuecomment-2028930612
Restore all tests state prior to fork and re-enables Daily tests on PRs
on release branches.
Reverts
2aa820f945

---------

Signed-off-by: Roshan Khatri <rvkhatri@amazon.com>
2024-04-01 12:55:01 -04:00
Ping Xie
bdd7314f41
Fine-tune ASCII art (#103) 2024-03-31 19:56:24 -07:00
John Vandenberg
253fe9dced
Fix typos and replace 'codespell' with 'typos' (#72)
Uses https://github.com/taiki-e/install-action to install
https://github.com/crate-ci/typos in CI

This finds many more/different typos than
https://github.com/codespell-project/codespell , while having very few
false positives.

Signed-off-by: John Vandenberg <jayvdb@gmail.com>
2024-03-31 12:38:22 -07:00
Cong Chen
af1b0de92d
Fix typo (#84)
A simple PR to fix a typo.

Signed-off-by: Cong Chen <iamchencong@gmail.com>
2024-03-30 22:11:13 -07:00
ranshid
b2a397366b
Change ascii logo with temporal valkey logo (#77) 2024-03-30 11:50:16 -07:00
Vitah Lin
de311aea53
Doc add SECURITY.md link inside CONTRIBUTING.md (#96)
Signed-off-by: Vitah Lin <linw1225@gmail.com>
Signed-off-by: Viktor Söderqvist <viktor.soderqvist@est.tech>
2024-03-30 16:24:21 +01:00
Roshan Khatri
3ab066f710
For additional compatibility this adds REDIS_CFLAGS and REDIS_LDFLAGS support to MAKEFILE (#66)
This resolves (1.viii) from
https://github.com/valkey-io/valkey/issues/43
> REDIS_FLAGS will be updated to SERVER_FLAGS. Maybe we should also
allow REDIS_FLAGS -> SERVER_FLAGS as well, for an extra layer of
compatibility.

---------

Signed-off-by: Roshan Khatri <rvkhatri@amazon.com>
2024-03-30 15:42:00 +01:00
Mikel Olasagasti Uranga
289eb47eb9
Replace offensive term (#86)
Signed-off-by: Mikel Olasagasti Uranga <mikel@olasagasti.info>
2024-03-30 14:23:50 +01:00
Ping Xie
1950acd1e2
Fix remaining names in CONTRIBUTING.md (#70)
Signed-off-by: Ping Xie <pingxie@google.com>
2024-03-29 18:38:13 +01:00
Vitah Lin
9be3a1d5ab
Fix renameing names in SECURITY.md (#74)
Signed-off-by: Vitah Lin <linw1225@gmail.com>
2024-03-29 08:25:51 -07:00
John Vandenberg
1fa8da3359
Rename functionsLibMataData to functionsLibMetaData (#71)
Signed-off-by: John Vandenberg <jayvdb@gmail.com>
2024-03-28 19:34:07 -07:00
Madelyn Olson
57789d4d08
Update naming to to Valkey (#62)
Documentation references should use `Valkey` while server and cli
references are all under `valkey`.

---------

Signed-off-by: Madelyn Olson <madelyneolson@gmail.com>
2024-03-28 09:58:28 -07:00
Harkrishn Patro
c120a45874
Sharded pubsub command execution within multi/exec (#13)
Allow SPUBLISH command within multi/exec on replica.
2024-03-27 21:29:44 -07:00
Madelyn Olson
699f62e8e3
Updated contributing file with DCO (#48)
Update the contributor file to include a DCO, which are going to require
for all incoming contributions to provide indication that the
contributor has the rights to contribute the code.

I also fixed the formatting of contribution HOWTO, since it was getting
mangled.

Signed-off-by: Madelyn Olson <madelyneolson@gmail.com>
2024-03-27 15:24:42 -07:00
Roshan Khatri
c7df0f06e7
Makefile respect user's SERVER_CFLAGS and OPT (#55)
Makefile respect user's SERVER_CFLAGS and OPT.

This was unintentionally modified by
38632278fd (diff-3e2513390df543315686d7c85bd901ca9256268970032298815d2f893a9f0685).

Signed-off-by: Roshan Khatri <rvkhatri@amazon.com>
2024-03-27 23:19:04 +01:00
Parth
11ddd8b289
Changing Redis references in files documenting development guidelines (#26) (#45)
Changing some references from
Redis to placeholderkv.

Signed-off-by: Parth Patel <661497+parthpatel@users.noreply.github.com>
2024-03-26 19:55:37 -07:00
Viktor Söderqvist
3782446a40
Untrademark json files (#35)
Replaces #26

Name agnostic. Now without spelling errors, ready to merge if you ask me.
2024-03-26 11:53:34 -07:00
Viktor Söderqvist
975d3b6947
Update issue templates (#37)
Update issue template to remove reference to Redis

Signed-off-by: Viktor Söderqvist <viktor.soderqvist@est.tech>
2024-03-26 09:58:44 -07:00
Harkrishn Patro
8153b3c8fd
Cleanup tcl tmp directory leaking resources (#34)
Few of the servers log are stored as `server1/2/3.log` . Various type of
acl files are created and weren't getting cleaned up prior to this
change.
2024-03-26 16:26:22 +01:00
Wen Hui
1c9710fca1
Fix the CI sentinel break issue (#30)
I run the CI in my branch, test cases for sentinel could pass


https://github.com/hwware/placeholderkv/actions/runs/8429003027/job/23082549380
2024-03-26 10:20:08 -04:00
Roshan Khatri
340ab6d62d
Fixes external server tests and change other references (#14) 2024-03-25 18:49:52 +01:00
PlavorSeol
601177b416
Update Discord server invite (#24)
Update Discord server invite link to a new, working link
2024-03-25 10:34:51 +01:00
Roshan Khatri
2aa820f945
Avoid daily test to run on PRs (#11) 2024-03-22 12:36:08 -07:00
Madelyn Olson
3a5e2b604e
Merge pull request #10 from roshkhatri/unstable
Adds discord link for discussions.
2024-03-22 11:04:18 -07:00
Madelyn Olson
1ea46d3ddb
Merge pull request #7 from hpatro/patch-1
Update SECURITY.md
2024-03-22 10:48:37 -07:00
Roshan Khatri
e0edcbaf7c
Adds discord link for discussions. 2024-03-22 10:39:59 -07:00
Harkrishn Patro
9f0b3bbe78
Update SECURITY.md 2024-03-22 08:46:10 -07:00
Madelyn Olson
9c6c6e52d7
Update CODE_OF_CONDUCT.md (#5) 2024-03-22 08:12:45 +01:00
Harkrishn Patro
8a976ab609
Update SECURITY.md 2024-03-21 23:44:08 -07:00
Madelyn Olson
dc3e76b3fb
Merge pull request #6 from madolson/fix_daily_yml 2024-03-21 23:19:57 -07:00
Madelyn Olson
9da3166e5c Fix daily.yml change 2024-03-21 22:41:23 -07:00
Madelyn Olson
af205e7d86
Update README.md 2024-03-21 21:41:01 -07:00
Madelyn Olson
75929f46c5
Update README.md 2024-03-21 21:40:43 -07:00
Ping Xie
0e9a25fb59
Merge pull request #2 from madolson/test-pr 2024-03-21 20:05:42 -07:00
Madelyn Olson
1dcd7a32fa Updated security.md 2024-03-21 20:03:59 -07:00
Madelyn Olson
084ab10e17 Disabled some workflows for now 2024-03-21 19:50:02 -07:00
Madelyn Olson
2e9855fbd0 Disable some workflows since I don't want to burn through the free tier 2024-03-21 19:39:21 -07:00
Madelyn Olson
bd7387354a Fixed fork/exec problem 2024-03-21 19:36:11 -07:00
Madelyn Olson
9a6721bd11 Fix check aof 2024-03-21 19:19:40 -07:00
Madelyn Olson
3586485355 Moved to correct cli and benchmark 2024-03-21 19:16:03 -07:00
Madelyn Olson
ee107481e5 Refactor some tests to reference new executable 2024-03-21 19:11:08 -07:00
Madelyn Olson
0aaae734f4 Fix incorrect find/replace 2024-03-21 19:04:09 -07:00
Madelyn Olson
38632278fd A single commit to get stuff building 2024-03-21 19:00:46 -07:00
Yanqi Lv
e64d91c371
Fix dict use-after-free problem in kvs->rehashing (#13154)
In ASAN CI, we find server may crash because of NULL ptr in `kvstoreIncrementallyRehash`.
the reason is that we use two phase unlink in `dbGenericDelete`. After `kvstoreDictTwoPhaseUnlinkFind`,
the dict may be in rehashing and only have one element in ht[0] of `db->keys`.

When we delete the last element in `db->keys` meanwhile `db->keys` is in rehashing, we may free the
dict in `kvstoreDictTwoPhaseUnlinkFree` without deleting the node in `kvs->rehashing`. Then we may
use this freed ptr in `kvstoreIncrementallyRehash` in the `serverCron` and cause the crash.
This is indeed a use-after-free problem.

The fix is to call rehashingCompleted in dictRelease and dictEmpty, so that every call for
rehashingStarted is always matched with a rehashingCompleted.

Adding a test in the unit test to catch it consistently

---------

Co-authored-by: Oran Agra <oran@redislabs.com>
Co-authored-by: debing.sun <debing.sun@redis.com>
2024-03-20 22:44:28 +02:00
Yanqi Lv
bad33f8738
fix wrong data type conversion in zrangeResultBeginStore (#13148)
In `beginResultEmission`, -1 means the result length is not known in
advance. But after #12185, if we pass -1 to `zrangeResultBeginStore`, it
will convert to SIZE_MAX in `zsetTypeCreate` and try to `dictExpand`.
Although `dictExpand` won't succeed because the size overflows, I think
we'd better to avoid this wrong conversion.

This bug can be triggered when the source of `zrangestore` doesn't exist
or we use `zrangestore` command with `byscore` or `bylex`.
The impact is that dst keys will be converted to use skiplist instead of
listpack.
2024-03-19 08:52:55 +02:00
Binbin
e04d41d78d
Prevent lua error_reply abuse from causing errorstats to become larger (#13141)
Users who abuse lua error_reply will generate a new error object on each
error call, which can make server.errors get bigger and bigger. This
will
cause the server to block when calling INFO (we also return errorstats
by
default).

To prevent the damage it can cause, when a misuse is detected, we will
print a warning log and disable the errorstats to avoid adding more new
errors. It can be re-enabled via CONFIG RESETSTAT.

Because server.errors may be very large (it may be better now since we
have the limit), config resetstat may block for a while. So in
resetErrorTableStats, we will try to lazyfree server.errors.

See the related discussion at the end of #8217.
2024-03-19 08:18:22 +02:00
Chen Tianjie
aeada20140
Avoid unnecessary dict shrink in zremrangeGenericCommand (#13143)
If the skiplist is emptied, there is no need to shrink the dict in
skiplist, it can be deleted directly.
2024-03-19 10:14:19 +08:00
Binbin
7b070423b8
Fix dictionary use-after-free in active expire and make kvstore iter to respect EMPTY flag (#13135)
After #13072, there is an use-after-free error. In expireScanCallback, we
will delete the dict, and then in dictScan we will continue to use the dict,
like we will doing `dictResumeRehashing(d)` in the end, this casued an error.

In this PR, in freeDictIfNeeded, if the dict's pauserehash is set, don't
delete the dict yet, and then when scan returns try to delete it again.

At the same time, we noticed that there will be similar problems in iterator.
We may also delete elements during the iteration process, causing the dict
to be deleted, so the part related to iter in the PR has also been modified.
dictResetIterator was also missing from the previous kvstoreIteratorNextDict,
we currently have no scenario that elements will be deleted in kvstoreIterator
process, deal with it together to avoid future problems. Added some simple
tests to verify the changes.

In addition, the modification in #13072 omitted initTempDb and emptyDbAsync,
and they were also added. This PR also remove the slow flag from the expire
test (consumes 1.3s) so that problems can be found in CI in the future.
2024-03-18 17:41:54 +02:00
Alexander Mahone
98a6e55d4e
Add missing REDIS_STATIC in quicklist (#13147)
Compiler complained when I tried to compile only quicklist.c.
Since static keyword is needed when a static function declaration is
placed before its implementation.

```
#ifndef REDIS_STATIC
#define REDIS_STATIC static
#endif
```

[How to solve static declaration follows non-static declaration in GCC C
code?](https://stackoverflow.com/questions/3148244/how-to-solve-static-declaration-follows-non-static-declaration-in-gcc-c-code)
2024-03-18 08:22:19 +02:00
Madelyn Olson
3f725b8619
Change mmap rand bits as a temporary mitigation to resolve asan bug (#13150)
There is a new change in linux kernel 6.6.6 that uses randomization of
address space to harden security, but it interferes with the way ASAN
works. Folks are working on a fix, but this is a temporary mitigation
for us to get our CI to be green again.

See https://github.com/google/sanitizers/issues/1716 for more
information

See
https://github.com/redis/redis/actions/runs/8305126288/job/22731614306?pr=13149
for a recent failure
2024-03-17 09:06:51 +02:00