Commit Graph

1172 Commits

Author SHA1 Message Date
Bear
3c36a17ce2
docs : add korean translated README (#1518) 2023-07-05 12:16:52 +03:00
Roman Gershman
84d09800c3
chore: refresh helio (#1506)
In addition, add more states to tx local_mask to allow easier debugging.
Finally, add check-fail to verify tx invariants in order to prevent
reaching errorneous states that are nearly impossible to analyze.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2023-07-04 16:51:53 +03:00
Roy Jacobson
ea0364329e
fix: null deref in debug log (#1513) 2023-07-04 10:10:29 +03:00
Roy Jacobson
177a21b266
Fix a bug and add a timeout test for takeover. (#1512) 2023-07-03 16:46:38 +02:00
Roman Gershman
8c80bd7c5c
chore: tune snyk coverage to ignore test files (#1509)
Also, upgrade the alpine docker image according to Snyk suggestions.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2023-07-03 11:16:42 +03:00
Roy Jacobson
4babed54d3
feat: Support atomic replica takeover (#1314)
* fix(server): Initialize ServerFamily with all listeners.

- Add a test for CLIENT LIST which is the visible result of this.

* use std move

* feat: Implement replicas take over

* Basic test

* Address CR comments

* Write a better test. Sadly it fails

* chore: Expose AwaitDispatches for reuse in takeover

* Ensure that no commands can execute during or after a takeover

* CR progress

* Actually disable the expiration

* Improve tests coverage

* Fix the dispatch waiting code

* Improve testing coverage and fix a shutdown snaphot bug

* don't replicate a replica
2023-07-02 16:11:28 +02:00
Roman Gershman
e71fae7eea
fix: avoid crashing dragonfly on parsing error of cgroups config (#1503)
Fixes #1502

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2023-07-02 12:11:44 +03:00
Roy Jacobson
52192e0596
fix(server): Initialize ServerFamily with all listeners. (#1485)
* fix(server): Initialize ServerFamily with all listeners.

- Add a test for CLIENT LIST which is the visible result of this.

* use std move
2023-07-02 10:01:54 +02:00
Vladislav
1ee0e30255
fix: disable prohibited eval in multi test (#1505)
Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2023-07-02 10:50:03 +03:00
Vladislav
54fbf0d6fc
feat: compressed sorted set (#1474)
Implements basic compressed sorted set that can be used in indices to optimize memory usage

---------

Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2023-07-02 01:02:18 +03:00
Vladislav
cfca751848
feat: global eval in exec (#1443)
Enables execution of global lua scripts inside multi/exec transactions if the defualt script config enables global execution for scripts. This change is only a fix and does not provide any safeguards against other execution scenarios (namely enabling globality with script flags). In the future, the proper execution mode should be determined more carefully by inspecting the scripts to be executed

Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
Co-authored-by: Kostas Kyrimis  <kostaskyrim@gmail.com>
2023-07-01 22:12:05 +03:00
Kostas Kyrimis
542b9783b7
fix(regression): remove test case for info persistence (#1492)
The test case for checking is_loading == 1 is inherently racy because
the client can connect at any time before or after the dragonfly
instance loads the snapshot.
2023-07-01 11:57:54 +03:00
Kostas Kyrimis
3eaeef096c
fix: misspelled replication on pytest redis_replication (#1501) 2023-07-01 11:56:43 +03:00
Ikko Eltociear Ashimine
391146e480
Add Japanese README (#1494)
docs: add Japanese translated README

Signed-off-by: Ikko Eltociear Ashimine <eltociear@gmail.com>
2023-07-01 11:50:45 +03:00
adiholden
1c823ce559
feat(server): support command rename (#1489)
* feat(server): support command rename

Signed-off-by: adi_holden <adi@dragonflydb.io>
2023-06-29 15:38:02 +03:00
Shahar Mike
5c11beb919
feat(cluster): Send flush slots cmd from masters to replicas. (#1484)
This fixes potential data diffs between master and replica upon slot moving

Fixes #1320
2023-06-28 22:04:51 +03:00
Shahar Mike
3ebfdb1e19
fix(cluster): Fix CROSSSLOTS error with multi-key operations (#1488)
Fixes #1487
2023-06-28 13:16:50 +03:00
Shahar Mike
bf363661e4
cleanups: Remove unused member, rename test, remove unused forward decl. (#1483) 2023-06-28 09:41:04 +03:00
adiholden
aed01aa5e4
feat(github regression): add link to github job (#1482)
* feat(regression): add github job link

Signed-off-by: adi_holden <adi@dragonflydb.io>
2023-06-27 14:13:25 +03:00
Roy Jacobson
cbe72e353d
fix: Increase the duration of the seeding in test_replication_info. (#1479) 2023-06-26 10:41:25 +03:00
adiholden
5b95668676
bug(cluster): fix crash on flush slots with shutdown (#1477)
* bug(cluster): fix crash on flush slots with shutdown

Signed-off-by: adi_holden <adi@dragonflydb.io>
2023-06-26 09:39:59 +03:00
Kostas Kyrimis
33bcd57ae0
docs: update contributing.md with style guidelines (#1467) 2023-06-25 12:37:12 +03:00
Kostas Kyrimis
0670a81488
fix(regression): failing info persistence on snapshot pytests (#1473) 2023-06-23 16:04:44 +03:00
adiholden
242d70b285
fix(regression): fix json report filename (#1465)
Signed-off-by: adi_holden <adi@dragonflydb.io>
2023-06-23 12:58:51 +03:00
Roy Jacobson
f3b93ce732
fix: Don't calculate replication lags when replica is not in stable sync (#1472) 2023-06-23 12:58:20 +03:00
Roman Gershman
3958853fde
fix: avoid using main_listener when migrating connections (#1471)
Partly solves #1470

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2023-06-23 07:09:54 +03:00
Tarun Pothulapati
2da32c1066
feat(debian): retain debug symbols in deb package (#1464) 2023-06-22 19:12:10 +03:00
Chaka
6205871d35
fix(server): Fix early reply from DEBUG POPULATE (#1441)
Fixes #1424
2023-06-22 14:48:27 +03:00
Kostas Kyrimis
08b46db28a
feat(log): On startup print info to stdout (#1448)
* feat(log): On startup print to stdout info

On dragonfly startup print:
1  Which file we are logging to and where
2. How to get more help with the flags (--help, --helpfull)
3. Doc links
2023-06-22 14:40:32 +03:00
Vladislav
dc5ec628e5
fix: support json v1 dot path (#1462)
Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2023-06-22 14:38:30 +03:00
Kostas Kyrimis
10479a4fba
fix: failing assertion on snapshot regression tests when dbfly instance shuts down (#1463)
This PR is a temporary solution for clients that are not properly
removed from the connection pool triggering an active client assertion
during dragonfly instance shutdown
2023-06-22 13:47:36 +03:00
Roy Jacobson
0a7328f1e1
Expose replication lag metrics (#1400)
* feat(server): Expose lag metrics over prometheus.

---------

Signed-off-by: Roy Jacobson <roy@dragonflydb.io>
2023-06-22 11:12:41 +02:00
Vladislav
fea4e1dd4d
fix: rename memcache to memcacheD (#1461)
Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2023-06-22 11:55:20 +03:00
adiholden
98e84f804a
feat(regression github): send failed tests names to chat (#1459)
* feat(regression) : send failed tests names

Signed-off-by: adi_holden <adi@dragonflydb.io>
2023-06-22 09:47:12 +03:00
Kostas Kyrimis
99f3284910
feat(server): Add missing fields to INFO PERSISTENCE command (#1408) (#1438)
* Add loading field
* Add rdb_changes_since_last_save field
2023-06-21 23:35:36 +03:00
adiholden
5e479ed967
feat(server): add unixsocketperm support (#1450)
* fetch helio Add support to set uds permissions

Signed-off-by: adi_holden <adi@dragonflydb.io>
2023-06-21 13:58:39 +03:00
WaySLOG
4a2849b7d1
feat(server): add flag to set FiberQueueThreadPool thread size (#1452)
feat: add epoll_file_threads flag

Co-authored-by: Xuesong Zhao <xuesong.zhao@shopee.com>
2023-06-21 12:56:48 +03:00
Vladislav
6f78ae5073
fix: call NotifyPending only from tx queue invocations (#1439)
* fix: call NotifyPending only from tx queue invocations

---------

Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2023-06-21 10:26:22 +03:00
Vladislav
f25098bb98
fix: add numpy to regtests (neede for knn) (#1454)
Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2023-06-21 09:18:42 +03:00
Vladislav
a9d9b4935c
feat: Implement KNN interface (#1412)
Add external KNN interface

---------

Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2023-06-20 14:10:08 +03:00
adiholden
3073ebd798
feat(server): set allowed key size 256MB (#1435)
Signed-off-by: adi_holden <adi@dragonflydb.io>
2023-06-20 10:18:58 +03:00
Chaka
6ec9513c60
test(cluster): Extend cluster_mgr.py (#1426)
Now this management script can:
* Create a cluster (before this PR)
* Print an existing cluster configuration
* Shutdown an existing cluster
* Move slots between cluster nodes

To support connecting to a cluster (for all new functions), I had to
change the way admin ports are defined. Instead of having the user
(optionally) specify the first port, they are hard-coded to be the
regular port + 10,000. This is done because we can't detect the admin
port based for an existing cluster (like via `CLUSTER SHARDS`).
2023-06-20 10:13:57 +03:00
Roman Gershman
fdc2b460e2
chore: improve connection I/O errors reporting (#1436) 2023-06-20 00:14:03 +03:00
Roman Gershman
3d651aecf5
fix: out of bounds typo (#1434)
Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2023-06-19 13:12:48 +03:00
Chaka
14e9ba4849
fix(cluster): Fix race when setting cluster config (#1428)
* fix(cluster): Fix race when setting cluster config

* Return `shared_ptr` from Create factory function.
2023-06-19 11:24:26 +03:00
Chaka
ba641677ac
feat(cluster): Implement CLUSTER KEYSLOT command (#1413) 2023-06-19 06:54:30 +03:00
romange
7f3dc1dd51 chore(helm-chart): update to v1.4.0 2023-06-19 03:53:33 +00:00
Tarun Pothulapati
1884ea3ef6
fix(docker-release): Run Docker test only if image is built (#1430)
Currently, During docker release we don't actually build the
alpine release but the new docker run test ends up trying to
run it and fails. This adds the same toggle that we use for
build to prevent the test step.
2023-06-19 06:46:29 +03:00
Tarun Pothulapati
3aa7c0d7a8
feat(CI): Update weekly build image name to be dragonfly-weekly (#1384)
This commit updates the weekly docker build to use `dragonfly-weekly`
image tag so that we get better separation. We also now push these
images with the github sha commit tags. We also update `latest` as
these get pushed.
2023-06-18 22:59:45 +03:00
iko1
19d7622280
feat: add s390x architecture support (#1214)
* fix(lua): use native architecture when compiling lua for s390x.

Signed-off-by: iko1 <me@remotecpp.dev>

* feat(server): implement CompareFP for s390x architecture.

Signed-off-by: iko1 <me@remotecpp.dev>

* feat: implement validate_ascii_fast function variant for s390x arch.

Signed-off-by: iko1 <me@remotecpp.dev>

* fix: add comments before s390x vector operations

Signed-off-by: iko1 <me@remotecpp.dev>

* fix validate_ascii_fast function logic after CR comment

Signed-off-by: iko1 <me@remotecpp.dev>

* Revert "fix(lua): use native architecture when compiling lua for s390x."

This reverts commit 6cc5d8a8ed.

* fix(lua): use native architecture when compiling lua for s390x.

Signed-off-by: iko1 <me@remotecpp.dev>

* refactor validate_ascii_fast function after CR comment

Signed-off-by: iko1 <me@remotecpp.dev>

* include vecintrin.h from sse_port.h rather the misleading filename

Signed-off-by: iko1 <me@remotecpp.dev>

---------

Signed-off-by: iko1 <me@remotecpp.dev>
2023-06-18 21:33:22 +03:00