Commit graph

17 commits

Author SHA1 Message Date
Borys
33584b9e96
refactor: rename Context into ExecutionState (#4562) 2025-02-06 08:47:20 +02:00
Vladislav
eadce55b67
chore: remove old io (#3953)
* chore: Remove old IO

* fix: fix last error accounting
* chore: use unique_ptr<char> in MGetResponse storage

---------

Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2024-11-10 11:56:41 +02:00
Vladislav
41ba864924
chore: Remove ReqSerializer (#3721)
Signed-off-by: Vladislav <vladislav.oleshko@gmail.com>
2024-09-18 14:31:47 +03:00
Shahar Mike
7100168bab
chore: Don't print password to log on replica AUTH failure (#3403) 2024-07-29 22:36:39 +03:00
Roman Gershman
e6a9e0dbc2
chore: allow calling Context::ReportError from I/O dispatch fiber (#3182)
Fixes the issue when we are trying to Report the error from JournalStreamer::OnCompletion
that is called from a proactor callback directly from the I/O fiber.

We can not use fiber mutexes in the I/O fiber so we switch to regular mutex and reduce its critical sections
as much as possible.

Should fix the following failure:
2628431732 (step):6:622

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-06-17 10:58:24 +03:00
Borys
9bed3390d7
feat(cluster): add repeated ACK if an error is happened (#2892) 2024-04-12 16:20:19 +03:00
Kostas Kyrimis
76d697aaff
feat: add flag masteruser (#2693)
* add flag masteruser
* fix ack reply on acl validation failure
2024-03-15 08:41:24 +02:00
Shahar Mike
8a5ed442d1
chore: Use c-ares for resolving hosts in ProtocolClient (#2719)
We already have a Fiber-aware DNS resolver in Helio, so it's trivial to
change and use.

I tested this end-to-end and it really resolves DNS addresses, not just
localhost.

Fixes #947
2024-03-12 14:39:22 +02:00
Borys
bfb1b3b624
Start slot migration (#2218)
* feat: add new command START-SLOT-MIGRATION
2023-11-29 13:38:13 +02:00
Roy Jacobson
fe5c6968ea
chore: Change the DNS log message to something that makes sense externally (#1947) 2023-09-27 13:17:42 +03:00
Roy Jacobson
ef0502238c
fix(tls): User friendly logging of OpenSSL errors (#1851)
* fix(tls): User friendly logging of OpenSSL errors

* Remove duplicate definition
2023-09-13 11:23:18 +03:00
Roman Gershman
1b1f427c3e
feat: introduce configurable flags for I/O limits (#1776)
Introduced `max_multi_bulk_len` as a max limit when parsing RESP arrays
as well as `max_client_iobuf_len` as a max limit on the iobuf used to
read from a socket.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2023-08-31 22:43:54 +03:00
Roman Gershman
62a9313a38
fix: the bug where iobuf should be enlarged during the replication (#1744)
If an empty buffer is passed to the socket Recv function - it returns error 103.
Even if we returned success, this would lead to the endless loop since the parser
requires more data to parse the load.
Fixes #1680

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2023-08-25 22:38:04 +03:00
Roy Jacobson
8040bed10f
Fix socket code in replication (#1622) 2023-08-03 17:01:56 +02:00
Roy Jacobson
85619e0010
sec: Adjust flag validation for TLS. (#1582)
* sec: Adjust flag checks when using TLS.

* Trust default certificates if no specific roots are given

* Add regression tests for the different scenarios

* Validate that client connections work as well
2023-07-30 19:24:39 +02:00
Kostas Kyrimis
078d152ae0
feat: add replication over tls (#1525)
1. Introduces `tls_replication` flag to allow tls connections for replicas
2. Add pytests
2023-07-19 18:21:46 +00:00
Roy Jacobson
6d2fcba168
Refactor replication code (#1507)
* refactor: Split redis I/O logic out of dfly::Replica

* Split DFLY shard replication into a separate class.

* Address comments from CR

* Add comments

* remove dead code

* Add a virtual dtor

* * Address comments by Shahar.
* Fix the redis replication code.

* And now fix the Dragonfly replication
2023-07-17 20:48:19 +02:00