Commit graph

21 commits

Author SHA1 Message Date
Roman Gershman
53d6b64233
chore: factor out rdb_load utilities into separate files (#4315)
* chore: factor out rdb_load utilities into separate files

rdb_load.cc is huge and contains many auxillary classes.
This PR moves DecompressImpl and ErrorRdb code into detail/

It also fixes minor bugs around error conditions with de-compression:
a. Do not check-fail on invalid opcode and return error_code instead.
b. Print correctly LZ4 errors.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>

* chore: fixes

---------

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-12-16 09:16:02 +00:00
Roman Gershman
ef09052482
chore: pass SinkReplyBuilder and Transaction explicitly. Part7 (#3988)
Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-10-25 13:32:51 +03:00
Roman Gershman
b7b4cabacc
chore: some renames + fix a typo in RETURN_ON_BAD_STATUS (#3763)
* chore: some renames + fix a typo in RETURN_ON_BAD_STATUS

Renames in transaction.h - no functional changes.
Fix a typo in error.h following  #3758
---------

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2024-09-23 13:16:50 +03:00
Vladislav
d9f8f2553b
chore: fix return on bad status (#3758) 2024-09-22 01:36:39 +03:00
Stepan Bagritsevich
75452a7108
feat(json_family): Add support of the JSON legacy mode (#3284) 2024-08-06 18:04:45 +02:00
Stepan Bagritsevich
d9dd54d25e
fix(json_family): fix JSON.GET commmand for JSON legacy mode (#3261)
* fix(json_family): fix JSON.GET commmand for JSON legacy mode

fixes dragonflydb#1523

Signed-off-by: Stepan Bagritsevich <bagr.stepan@gmail.com>

* refactor(json_family): address comments

Signed-off-by: Stepan Bagritsevich <bagr.stepan@gmail.com>

---------

Signed-off-by: Stepan Bagritsevich <bagr.stepan@gmail.com>
2024-07-05 14:27:23 +04:00
Kostas Kyrimis
517be2005e
refactor: return OpResult in DbSlice::AddOrFind instead of throwing std::bad_alloc (#2427)
* return OpResult in AddOrFind instead of throwing bad_alloc
* small refactor
2024-01-23 14:16:03 +02:00
Roy Jacobson
ab903612f1
fix(regtests): Bind to 127.0.0.1 and not localhost (#1937)
* fix(regtests): Bind to 127.0.0.1 and not localhost

* Split start into start/serve
2023-09-27 14:58:52 +03:00
Roy Jacobson
d50b492e1f
feat(replication): First iteration on partial sync. (#1836)
First iteration on partial sync.
2023-09-26 10:35:50 +03:00
Chaka
5234f77727
fix(replication): Restart replication upon receiving FLUSHALL during full sync (#1347)
Fixes #1231
2023-06-06 12:26:47 +03:00
Vladislav
fab0d9e4a6
fix(server): Fix replication logs (#883)
* fix(server): Fix replication logs

Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
---------

Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
2023-02-28 07:44:21 +02:00
Vladislav
dd218fa037
feat(server): Json rdb support (#674) 2023-01-14 14:53:43 +03:00
Vladislav
f98d6f3357
feat(server): Implement robust error & cancellation on replica (#531) 2022-12-11 12:11:25 +03:00
Roman Gershman
c2294e1298
fix: Fix bugs around rdb save and improve memory accounting (#495)
Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2022-11-16 12:19:35 +02:00
Roman Gershman
de9369f518
chore(server): update license text (#312) 2022-09-19 09:01:10 +03:00
Roman Gershman
55389d9be5
chore(rdb): move object creation during loading to shard threads. (#188)
Related to #159. Before this change, rdb loading thread has been creating all the redis objects as well.
Now we separate rdb file parsing and objects creation. File parsing phase produces a load trace of one or more binary blobs.
Those blobs are then passed to the threads that are responsible to manage the objects.
The second phase is object creation based on the trace that was passed. Finally those binary blobs are destroyed.
As a result, each thread creates objects using the memory allocator it owns and memory stats become consistent.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2022-07-04 19:08:13 +03:00
Roman Gershman
1490eb5c3c Implement parsing of replication stream from redis 2022-05-28 21:24:07 +03:00
Roman Gershman
6e5de7ac59 Passover cleanups.
1. Add ttl with reload test.
2. Removed several LOG(FATAL) messages and replaced them with error propagation.
3. Added scan test for all the options.
2022-04-13 11:52:59 +03:00
Roman Gershman
bfcefd932d Support rdb loading.
1. Basic support of sets and hsets. No intset or dict-based hset yet.
2. Make sure that rdbloader actually loads the data into shards.
3. Support object metadata like expiry time.
4. Support lists loading.
2022-04-12 16:39:25 +03:00
Roman Gershman
3f0fcbf99f Factor out client connections module into a separate library called facade 2022-03-03 01:59:29 +02:00
Roman Gershman
b8521828e3 Add Dockerfile for prod container. Reorganize source tree to be docker-build friendly. 2022-02-25 10:03:42 +02:00
Renamed from server/error.h (Browse further)