-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Chore: Fixed Docker Health Check #2659
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
tools/docker/healthcheck.sh
Outdated
@@ -1,7 +1,7 @@ | |||
#!/bin/sh | |||
|
|||
HOST="localhost" | |||
PORT=6379 | |||
PORT=$(netstat -tuln | grep -oE ':::[0-9]+' | grep -oE '[0-9]+') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hello @manojks1999 . are you sure it's the right filter?. Have you tried running a docker image and run this command?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess this won't work on the default container image.
dri@srv1> docker run -it --rm ghcr.io/dragonflydb/dragonfly sh -c "netstat -tuln | grep -oE ':::[0-9]+' | grep -oE '[0-9]+'"
sh: 1: netstat: not found
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just confirmed, this fix is incorrect. @danriedl it is possible to exec as root to the already existing container:
docker exec -it -u 0 dfserver /usr/bin/bash
and then install net-tools and run the command.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @romange , made a change in the regular expression of the grep command, and I have made a test on the alpine docker image I have shared the logs here, and keep this on hold I will make a test on ubuntu image.
Testing this is delayed as building the docker image is taking time. I will update here once with proper testing in the Ubuntu image.
{
"Id": "457e9699eb13317d840957027dac99cc2392b53c272d2fd3eb7a63383d1beb52",
"Created": "2024-02-28T19:50:15.507886048Z",
"Path": "entrypoint.sh",
"Args": [
"--port",
"6767"
],
"State": {
"Status": "running",
"Running": true,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 54519,
"ExitCode": 0,
"Error": "",
"StartedAt": "2024-02-28T19:50:18.506419807Z",
"FinishedAt": "0001-01-01T00:00:00Z",
"Health": {
"Status": "healthy",
"FailingStreak": 0,
"Log": [
{
"Start": "2024-02-29T01:21:51.124907738+05:30",
"End": "2024-02-29T01:21:52.352651502+05:30",
"ExitCode": 0,
"Output": "+PONG\r\n"
},
{
"Start": "2024-02-29T01:22:22.356281589+05:30",
"End": "2024-02-29T01:22:23.661224958+05:30",
"ExitCode": 0,
"Output": "+PONG\r\n"
},
{
"Start": "2024-02-29T01:22:53.662909485+05:30",
"End": "2024-02-29T01:22:54.954001121+05:30",
"ExitCode": 0,
"Output": "+PONG\r\n"
},
{
"Start": "2024-02-29T01:23:24.95819494+05:30",
"End": "2024-02-29T01:23:26.327866369+05:30",
"ExitCode": 0,
"Output": "+PONG\r\n"
},
{
"Start": "2024-02-29T01:23:56.329411658+05:30",
"End": "2024-02-29T01:23:57.615890188+05:30",
"ExitCode": 0,
"Output": "+PONG\r\n"
}
]
}
}
}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @romange below is the inspect log of ubuntu docker file, it seems working fine,
{
"Id": "614ad12239194bb2cee2f22063b15eb85e4aa75604eefb596f78d57fc4db038c",
"Created": "2024-02-29T02:51:27.781317762Z",
"Path": "entrypoint.sh",
"Args": [
"--port",
"6869"
],
"State": {
"Status": "running",
"Running": true,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 24812,
"ExitCode": 0,
"Error": "",
"StartedAt": "2024-02-29T02:51:28.912175782Z",
"FinishedAt": "0001-01-01T00:00:00Z",
"Health": {
"Status": "healthy",
"FailingStreak": 0,
"Log": [
{
"Start": "2024-02-29T08:21:58.920502738+05:30",
"End": "2024-02-29T08:22:00.061591505+05:30",
"ExitCode": 0,
"Output": "+PONG\r\n"
}
]
}
}
}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just now found out this fails when we provide more than one argumental port.
docker run ubuntu-testing --port 5676 --memcached_port 4323
netstat -tul
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:4323 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:5676 0.0.0.0:* LISTEN
do we want here to only monitor the port 5676 as provided and also to monitor the other ports that are exposed?
If we want only to monitor server port 5676 can I know how exactly we are accessing this docker argument in the code?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cat /proc/1/cmdline
will get you the command line with all the arguments.
But I think that it may be simpler to limit healthcheck heuristic to find a custom port the way you do now, but also
support the environment variable HEALTHCHECK_PORT
, that in case it is provided to container via -e
, the healthcheck uses its value for the port to connect.
so in the example above one would need to pass: docker run -e HEALTHCHECK_PORT=5676 ubuntu-testing --port 5676 --memcached_port 4323
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @romange ,
Updated the health check file accordingly, and I have tested it is working as expected. If this is approved, later we need to change the documentation with the option as passing environment variable for health check.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for fixing this issue!
@manojks1999 Thank you for fixing the issue! Added a comment - since for me locally (not in docker) the grep line did not work, s just double checking you tested the fix. |
…nfly ( v1.15.1 → v1.16.0 ) (#3354) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [docker.dragonflydb.io/dragonflydb/dragonfly](https://togithub.com/dragonflydb/dragonfly) | minor | `v1.15.1` -> `v1.16.0` | --- ### Release Notes <details> <summary>dragonflydb/dragonfly (docker.dragonflydb.io/dragonflydb/dragonfly)</summary> ### [`v1.16.0`](https://togithub.com/dragonflydb/dragonfly/releases/tag/v1.16.0) [Compare Source](https://togithub.com/dragonflydb/dragonfly/compare/v1.15.1...v1.16.0) ##### Dragonfly v1.16.0 Our spring release. We are getting closer to 2.0 with some very exciting features ahead. Stay tuned! Some prominent changes include: - Improved memory accounting of client connections ([#​2710](https://togithub.com/dragonflydb/dragonfly/issues/2710) [#​2755](https://togithub.com/dragonflydb/dragonfly/issues/2755) and [#​2692](https://togithub.com/dragonflydb/dragonfly/issues/2692) ) - FT.AGGREGATE call ([#​2413](https://togithub.com/dragonflydb/dragonfly/issues/2413)) - Properly handle and replicate Memcache flags ([#​2787](https://togithub.com/dragonflydb/dragonfly/issues/2787) [#​2807](https://togithub.com/dragonflydb/dragonfly/issues/2807)) - Intoduce BF.AGGREGATE BD.(M)ADD and BF.(M)EXISTS methods ([#​2801](https://togithub.com/dragonflydb/dragonfly/issues/2801)). Note, that it does not work with snapshots and replication yet. - Dragonfly builds natively on MacOS. We would love some help with extending the release pipeline to create a proper macos binary. - Following the requests from the Edge developers community, we added a basic HTTP API support! Try running Dragonfly with: `--expose_http_api` flag and then call `curl -X POST -d '["ping"]' localhost:6379/api`. We will follow up with more extensive docs later this month. - Lots of stability fixes, especially around Sidekiq and BullMQ workloads. ##### What's Changed - chore: make usan asan optional and enable them on CI by [@​kostasrim](https://togithub.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/2631](https://togithub.com/dragonflydb/dragonfly/pull/2631) - fix: missing manual trigger for daily sanitizers by [@​kostasrim](https://togithub.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/2682](https://togithub.com/dragonflydb/dragonfly/pull/2682) - bug(tiering): fix overflow in page offset calculation and wrong hash offset calculation by [@​theyueli](https://togithub.com/theyueli) in [https://github.com/dragonflydb/dragonfly/pull/2683](https://togithub.com/dragonflydb/dragonfly/pull/2683) - Chore: Fixed Docker Health Check by [@​manojks1999](https://togithub.com/manojks1999) in [https://github.com/dragonflydb/dragonfly/pull/2659](https://togithub.com/dragonflydb/dragonfly/pull/2659) - chore: Increase disk space in the coverage runs by [@​romange](https://togithub.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/2684](https://togithub.com/dragonflydb/dragonfly/pull/2684) - fix(flushall): Decommit memory after releasing tables. by [@​chakaz](https://togithub.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/2691](https://togithub.com/dragonflydb/dragonfly/pull/2691) - feat(server): Account for serializer's temporary buffer size by [@​chakaz](https://togithub.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/2689](https://togithub.com/dragonflydb/dragonfly/pull/2689) - refactor: remove FULL-SYNC-CUT cmd [#​2687](https://togithub.com/dragonflydb/dragonfly/issues/2687) by [@​BorysTheDev](https://togithub.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/2688](https://togithub.com/dragonflydb/dragonfly/pull/2688) - chore: add malloc-based stats and decommit by [@​romange](https://togithub.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/2692](https://togithub.com/dragonflydb/dragonfly/pull/2692) - feat(cluster): automatic slot migration finalization [#​2697](https://togithub.com/dragonflydb/dragonfly/issues/2697) by [@​BorysTheDev](https://togithub.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/2698](https://togithub.com/dragonflydb/dragonfly/pull/2698) - Basic FT.AGGREGATE by [@​dranikpg](https://togithub.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/2413](https://togithub.com/dragonflydb/dragonfly/pull/2413) - chore: little transaction cleanup by [@​dranikpg](https://togithub.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/2608](https://togithub.com/dragonflydb/dragonfly/pull/2608) - fix(channel store): add acquire/release pair in fast update path by [@​dranikpg](https://togithub.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/2704](https://togithub.com/dragonflydb/dragonfly/pull/2704) - chore: add ubuntu22 devcontainer by [@​romange](https://togithub.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/2700](https://togithub.com/dragonflydb/dragonfly/pull/2700) - feat(cluster): Add `--cluster_id` flag by [@​chakaz](https://togithub.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/2695](https://togithub.com/dragonflydb/dragonfly/pull/2695) - feat(server): Use mimalloc in SSL calls by [@​chakaz](https://togithub.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/2710](https://togithub.com/dragonflydb/dragonfly/pull/2710) - chore: Pull helio with new BlockingCounter by [@​dranikpg](https://togithub.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/2711](https://togithub.com/dragonflydb/dragonfly/pull/2711) - chore(transaction): Simplify PollExecution by [@​dranikpg](https://togithub.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/2712](https://togithub.com/dragonflydb/dragonfly/pull/2712) - chore(transaction): Don't call GetLocalMask from blocking controller by [@​dranikpg](https://togithub.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/2715](https://togithub.com/dragonflydb/dragonfly/pull/2715) - chore: improve compatibility of EXPIRE functions with Redis by [@​romange](https://togithub.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/2696](https://togithub.com/dragonflydb/dragonfly/pull/2696) - chore: disable flaky fuzzy migration test by [@​kostasrim](https://togithub.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/2716](https://togithub.com/dragonflydb/dragonfly/pull/2716) - chore: update sanitizers workflow by [@​kostasrim](https://togithub.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/2686](https://togithub.com/dragonflydb/dragonfly/pull/2686) - chore: Use c-ares for resolving hosts in `ProtocolClient` by [@​chakaz](https://togithub.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/2719](https://togithub.com/dragonflydb/dragonfly/pull/2719) - Remove check-fail in ExpireIfNeeded and introduce DFLY LOAD by [@​romange](https://togithub.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/2699](https://togithub.com/dragonflydb/dragonfly/pull/2699) - chore: Record cmd stat from invoke by [@​dranikpg](https://togithub.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/2720](https://togithub.com/dragonflydb/dragonfly/pull/2720) - fix(transaction): nullptr access on non transactional commands by [@​kostasrim](https://togithub.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/2724](https://togithub.com/dragonflydb/dragonfly/pull/2724) - fix(BgSave): async from sync by [@​kostasrim](https://togithub.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/2702](https://togithub.com/dragonflydb/dragonfly/pull/2702) - chore: remove core/fibers by [@​romange](https://togithub.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/2723](https://togithub.com/dragonflydb/dragonfly/pull/2723) - fix(transaction): Replace with armed sync point by [@​dranikpg](https://togithub.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/2708](https://togithub.com/dragonflydb/dragonfly/pull/2708) - feat(json): Deserialize ReJSON format by [@​chakaz](https://togithub.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/2725](https://togithub.com/dragonflydb/dragonfly/pull/2725) - feat: add flag masteruser by [@​kostasrim](https://togithub.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/2693](https://togithub.com/dragonflydb/dragonfly/pull/2693) - refactor: block list refactoring [#​2580](https://togithub.com/dragonflydb/dragonfly/issues/2580) by [@​BorysTheDev](https://togithub.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/2732](https://togithub.com/dragonflydb/dragonfly/pull/2732) - chore: fix DeduceExecMode by [@​dranikpg](https://togithub.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/2733](https://togithub.com/dragonflydb/dragonfly/pull/2733) - fix(cluster): Reply with correct `\n` / `\r\n` from `CLUSTER` sub cmd by [@​chakaz](https://togithub.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/2731](https://togithub.com/dragonflydb/dragonfly/pull/2731) - chore: Introduce fiber stack allocator by [@​romange](https://togithub.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/2730](https://togithub.com/dragonflydb/dragonfly/pull/2730) - fix(cluster): Save replica ID per replica by [@​chakaz](https://togithub.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/2735](https://togithub.com/dragonflydb/dragonfly/pull/2735) - fix(ssl): Proper cleanup by [@​chakaz](https://togithub.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/2742](https://togithub.com/dragonflydb/dragonfly/pull/2742) - chore: add skeleton files for flat_dfs code by [@​romange](https://togithub.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/2738](https://togithub.com/dragonflydb/dragonfly/pull/2738) - chore: better error reporting when connecting to tls with plain socket by [@​romange](https://togithub.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/2740](https://togithub.com/dragonflydb/dragonfly/pull/2740) - chore: Support json paths without root selector by [@​dranikpg](https://togithub.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/2747](https://togithub.com/dragonflydb/dragonfly/pull/2747) - chore: journal cleanup by [@​romange](https://togithub.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/2749](https://togithub.com/dragonflydb/dragonfly/pull/2749) - refactor: remove start-slot-migration cmd [#​2727](https://togithub.com/dragonflydb/dragonfly/issues/2727) by [@​BorysTheDev](https://togithub.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/2728](https://togithub.com/dragonflydb/dragonfly/pull/2728) - feat(server): Add TLS usage to /metrics and `INFO MEMORY` by [@​chakaz](https://togithub.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/2755](https://togithub.com/dragonflydb/dragonfly/pull/2755) - chore: preparations for adding flat json support by [@​romange](https://togithub.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/2752](https://togithub.com/dragonflydb/dragonfly/pull/2752) - chore(transaction): Introduce RunCallback by [@​dranikpg](https://togithub.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/2760](https://togithub.com/dragonflydb/dragonfly/pull/2760) - feat(replication): Do not auto replicate different master by [@​chakaz](https://togithub.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/2753](https://togithub.com/dragonflydb/dragonfly/pull/2753) - Improve Helm chart to be rendered locally and on machines where is not the application target by [@​fafg](https://togithub.com/fafg) in [https://github.com/dragonflydb/dragonfly/pull/2706](https://togithub.com/dragonflydb/dragonfly/pull/2706) - chore: preparation for basic http api by [@​romange](https://togithub.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/2764](https://togithub.com/dragonflydb/dragonfly/pull/2764) - feat(server): Add metric for RDB save duration. by [@​chakaz](https://togithub.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/2768](https://togithub.com/dragonflydb/dragonfly/pull/2768) - chore: fix flat_dfs read tests. by [@​romange](https://togithub.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/2772](https://togithub.com/dragonflydb/dragonfly/pull/2772) - fix(ci): do not overwrite last_log_file among tests by [@​kostasrim](https://togithub.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/2759](https://togithub.com/dragonflydb/dragonfly/pull/2759) - feat(server): support cluster replication by [@​adiholden](https://togithub.com/adiholden) in [https://github.com/dragonflydb/dragonfly/pull/2748](https://togithub.com/dragonflydb/dragonfly/pull/2748) - fix: fiber preempts on read path and OnCbFinish() clears fetched_items\_ by [@​kostasrim](https://togithub.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/2763](https://togithub.com/dragonflydb/dragonfly/pull/2763) - chore(ci): open last_log_file in append mode by [@​kostasrim](https://togithub.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/2776](https://togithub.com/dragonflydb/dragonfly/pull/2776) - doc(README): fix outdated expiry ranges description by [@​enjoy-binbin](https://togithub.com/enjoy-binbin) in [https://github.com/dragonflydb/dragonfly/pull/2779](https://togithub.com/dragonflydb/dragonfly/pull/2779) - Benchmark runner by [@​adiholden](https://togithub.com/adiholden) in [https://github.com/dragonflydb/dragonfly/pull/2780](https://togithub.com/dragonflydb/dragonfly/pull/2780) - chore(replication-tests): add cache_mode on test replication all by [@​kostasrim](https://togithub.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/2685](https://togithub.com/dragonflydb/dragonfly/pull/2685) - feat(tiering): DiskStorage by [@​dranikpg](https://togithub.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/2770](https://togithub.com/dragonflydb/dragonfly/pull/2770) - chore: add a boilerplate for bloom filter family by [@​romange](https://togithub.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/2782](https://togithub.com/dragonflydb/dragonfly/pull/2782) - chore: introduce conversion routines between JsonType and FlatJson by [@​romange](https://togithub.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/2785](https://togithub.com/dragonflydb/dragonfly/pull/2785) - chore: Fix memcached flags not updated by [@​dranikpg](https://togithub.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/2787](https://togithub.com/dragonflydb/dragonfly/pull/2787) - chore: remove duplicate code from dash and simplify by [@​kostasrim](https://togithub.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/2765](https://togithub.com/dragonflydb/dragonfly/pull/2765) - chore: disable test_cluster_slot_migration by [@​kostasrim](https://togithub.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/2788](https://togithub.com/dragonflydb/dragonfly/pull/2788) - fix: new\[] delete\[] missmatch in disk_storage by [@​kostasrim](https://togithub.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/2792](https://togithub.com/dragonflydb/dragonfly/pull/2792) - fix: sanitizers clang build and clean up some warnings by [@​kostasrim](https://togithub.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/2793](https://togithub.com/dragonflydb/dragonfly/pull/2793) - chore: add bloom filter class by [@​romange](https://togithub.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/2791](https://togithub.com/dragonflydb/dragonfly/pull/2791) - chore: add SBF data structure by [@​romange](https://togithub.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/2795](https://togithub.com/dragonflydb/dragonfly/pull/2795) - chore(tiering): Disable compilation for MacOs by [@​dranikpg](https://togithub.com/dranikpg) in [https://github.com/dragonflydb/dragonfly/pull/2799](https://togithub.com/dragonflydb/dragonfly/pull/2799) - chore: fix daily build by [@​romange](https://togithub.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/2798](https://togithub.com/dragonflydb/dragonfly/pull/2798) - chore: expose SBF via compact_object by [@​romange](https://togithub.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/2797](https://togithub.com/dragonflydb/dragonfly/pull/2797) - fix(ci): malloc trim on sanitizers workflow by [@​kostasrim](https://togithub.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/2794](https://togithub.com/dragonflydb/dragonfly/pull/2794) - fix(cluster): Don't miss updates in FLUSHSLOTS by [@​chakaz](https://togithub.com/chakaz) in [https://github.com/dragonflydb/dragonfly/pull/2783](https://togithub.com/dragonflydb/dragonfly/pull/2783) - feat: add bf.(m)add and bf.(m)exists commands by [@​romange](https://togithub.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/2801](https://togithub.com/dragonflydb/dragonfly/pull/2801) - fix: SBF memory leaks by [@​kostasrim](https://togithub.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/2803](https://togithub.com/dragonflydb/dragonfly/pull/2803) - chore: refactor StringFamily::Set to use CmdArgParser by [@​romange](https://togithub.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/2800](https://togithub.com/dragonflydb/dragonfly/pull/2800) - fix: propagate memcached flags to replica by [@​romange](https://togithub.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/2807](https://togithub.com/dragonflydb/dragonfly/pull/2807) - DFLYMIGRATE ACK refactoring by [@​BorysTheDev](https://togithub.com/BorysTheDev) in [https://github.com/dragonflydb/dragonfly/pull/2790](https://togithub.com/dragonflydb/dragonfly/pull/2790) - feat: add master lsn and journal_executed dcheck in replica via ping by [@​kostasrim](https://togithub.com/kostasrim) in [https://github.com/dragonflydb/dragonfly/pull/2778](https://togithub.com/dragonflydb/dragonfly/pull/2778) - fix: correct json response for errors by [@​romange](https://togithub.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/2813](https://togithub.com/dragonflydb/dragonfly/pull/2813) - chore: bloom test - cover corner cases by [@​romange](https://togithub.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/2806](https://togithub.com/dragonflydb/dragonfly/pull/2806) - bug(server): do not write lsn opcode to journal by [@​adiholden](https://togithub.com/adiholden) in [https://github.com/dragonflydb/dragonfly/pull/2814](https://togithub.com/dragonflydb/dragonfly/pull/2814) - chore: Fix build by disabling the tests. by [@​romange](https://togithub.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/2821](https://togithub.com/dragonflydb/dragonfly/pull/2821) - fix(replication): replication with multi shard sync enabled lagging by [@​adiholden](https://togithub.com/adiholden) in [https://github.com/dragonflydb/dragonfly/pull/2823](https://togithub.com/dragonflydb/dragonfly/pull/2823) - fix: io_uring/fibers bug in DnsResolve by [@​romange](https://togithub.com/romange) in [https://github.com/dragonflydb/dragonfly/pull/2825](https://togithub.com/dragonflydb/dragonfly/pull/2825) ##### New Contributors - [@​manojks1999](https://togithub.com/manojks1999) made their first contribution in [https://github.com/dragonflydb/dragonfly/pull/2659](https://togithub.com/dragonflydb/dragonfly/pull/2659) - [@​fafg](https://togithub.com/fafg) made their first contribution in [https://github.com/dragonflydb/dragonfly/pull/2706](https://togithub.com/dragonflydb/dragonfly/pull/2706) - [@​enjoy-binbin](https://togithub.com/enjoy-binbin) made their first contribution in [https://github.com/dragonflydb/dragonfly/pull/2779](https://togithub.com/dragonflydb/dragonfly/pull/2779) ##### Huge thanks to all the contributors! ❤️ 🇮🇱 🇺🇦 **Full Changelog**: dragonflydb/dragonfly@v1.15.0...v1.16.0 </details> <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNzkuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI3OS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL21pbm9yIl19--> Co-authored-by: repo-jeeves[bot] <106431701+repo-jeeves[bot]@users.noreply.github.com>
Fixes #2650