{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":775743011,"defaultBranch":"unstable","name":"valkey","ownerLogin":"valkey-io","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-03-22T00:42:17.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/164458127?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1726923150.0","currentOid":""},"activityList":{"items":[{"before":"ea7a7995ed072dcf836e6e38076305295d4abd15","after":"56c90b78e3477fc5d10b341979af38ddafac54c6","ref":"refs/heads/unstable","pushedAt":"2024-09-21T13:22:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"enjoy-binbin","name":"Binbin","path":"/enjoy-binbin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22811481?s=80&v=4"},"commit":{"message":"Fix a typo in the valkey.conf (#1048)\n\nSigned-off-by: Shivshankar-Reddy ","shortMessageHtmlLink":"Fix a typo in the valkey.conf (#1048)"}},{"before":"d9c41e9ef9b787e4cbf27b14548de179267d9380","after":"ea7a7995ed072dcf836e6e38076305295d4abd15","ref":"refs/heads/unstable","pushedAt":"2024-09-21T13:09:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"enjoy-binbin","name":"Binbin","path":"/enjoy-binbin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22811481?s=80&v=4"},"commit":{"message":"Fix default value of primary-reboot-down-after-period in sentinel.conf (#1040)\n\nSince in here the monitor value is mymaster, we need to make sure the\r\nprimary name is the same, otherwise the default configuration cannot start\r\nsentinel.\r\n```\r\nsentinel monitor mymaster 127.0.0.1 6379 2\r\n```\r\n\r\nThe following error occurs when the default configuration is started:\r\n```\r\n*** FATAL CONFIG FILE ERROR (Version 255.255.255) ***\r\nReading the configuration file, at line 358\r\n>>> 'SENTINEL primary-reboot-down-after-period myprimary 0'\r\nNo such master with specified name.\r\n```\r\n\r\nIntroduced in #647.\r\n\r\nSigned-off-by: Binbin ","shortMessageHtmlLink":"Fix default value of primary-reboot-down-after-period in sentinel.conf ("}},{"before":"69773b1386ebbcc839259f28ba87f5a0af486e28","after":null,"ref":"refs/heads/hashtab","pushedAt":"2024-09-21T12:52:30.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"zuiderkwast","name":"Viktor Söderqvist","path":"/zuiderkwast","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/273886?s=80&v=4"}},{"before":"83e4f3c24c012092ca23f08b1e6fa7c1c1a60e52","after":"fbccb4b27709ce75544c8cc0dfb3bf1529548f71","ref":"refs/heads/hashset","pushedAt":"2024-09-21T12:51:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"zuiderkwast","name":"Viktor Söderqvist","path":"/zuiderkwast","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/273886?s=80&v=4"},"commit":{"message":"Rename to hashset\n\nSigned-off-by: Viktor Söderqvist ","shortMessageHtmlLink":"Rename to hashset"}},{"before":null,"after":"83e4f3c24c012092ca23f08b1e6fa7c1c1a60e52","ref":"refs/heads/hashset","pushedAt":"2024-09-21T12:51:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"zuiderkwast","name":"Viktor Söderqvist","path":"/zuiderkwast","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/273886?s=80&v=4"},"commit":{"message":"Rename to hashset\n\nSigned-off-by: Viktor Söderqvist ","shortMessageHtmlLink":"Rename to hashset"}},{"before":"7fab15795f5d419acc284e002119190b00718881","after":"d9c41e9ef9b787e4cbf27b14548de179267d9380","ref":"refs/heads/unstable","pushedAt":"2024-09-20T06:25:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"enjoy-binbin","name":"Binbin","path":"/enjoy-binbin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22811481?s=80&v=4"},"commit":{"message":"Fix timing issue in the new tot-net-out replica test (#1060)\n\nApparently there is a timing issue when using wait_for_ofs_sync:\r\n```\r\n[exception]: Executing test client: can't read \"out_before\": no such variable.\r\ncan't read \"out_before\": no such variable\r\n```\r\n\r\nThe reason is that if the connection between the primary\r\nand the replica is not established yet, the master_repl_offset\r\nof the primary and replica in wait_for_ofs_sync is 0, and\r\nthe check fails, resulting in no replica client in the\r\nclient list below.\r\n\r\nIn this case, we need to make sure the replica is online\r\nbefore proceeding.\r\n\r\nSigned-off-by: Binbin ","shortMessageHtmlLink":"Fix timing issue in the new tot-net-out replica test (#1060)"}},{"before":"56fd97733b60d59014c97fbca906ff3e20ef04f5","after":"7fab15795f5d419acc284e002119190b00718881","ref":"refs/heads/unstable","pushedAt":"2024-09-20T06:15:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"enjoy-binbin","name":"Binbin","path":"/enjoy-binbin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22811481?s=80&v=4"},"commit":{"message":"Add log about old primary after myself failover (#1058)\n\nSometims it is hard to see the old primary during a\r\nmulti primaries failover, adding this log can help\r\nuse to find the old primary node.\r\n\r\nSigned-off-by: Binbin \r\nCo-authored-by: Ping Xie ","shortMessageHtmlLink":"Add log about old primary after myself failover (#1058)"}},{"before":"4593dc2f059661e1c4eb43bba025f68948344228","after":"56fd97733b60d59014c97fbca906ff3e20ef04f5","ref":"refs/heads/unstable","pushedAt":"2024-09-20T02:18:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"enjoy-binbin","name":"Binbin","path":"/enjoy-binbin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22811481?s=80&v=4"},"commit":{"message":"Move printver test to info-command file (#1056)\n\nThis fixes: #219\r\n\r\nSigned-off-by: Shivshankar-Reddy ","shortMessageHtmlLink":"Move printver test to info-command file (#1056)"}},{"before":"ba71c7e56e40daed2871975b3ff433383a20cd93","after":"4593dc2f059661e1c4eb43bba025f68948344228","ref":"refs/heads/unstable","pushedAt":"2024-09-18T11:35:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"enjoy-binbin","name":"Binbin","path":"/enjoy-binbin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22811481?s=80&v=4"},"commit":{"message":"Fix memory allocation for server databases (#1046)\n\nFix a bug in the way we allocate memory for the server databases\r\nIntroduced in #156.\r\n\r\nSigned-off-by: Ran Shidlansik ","shortMessageHtmlLink":"Fix memory allocation for server databases (#1046)"}},{"before":"ff69b4be1db24ea4e3b111e8e865af0df601b907","after":"ba71c7e56e40daed2871975b3ff433383a20cd93","ref":"refs/heads/unstable","pushedAt":"2024-09-18T02:34:12.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"enjoy-binbin","name":"Binbin","path":"/enjoy-binbin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22811481?s=80&v=4"},"commit":{"message":"Copy 'errno' and use copied value in the if check of retry in cluster migrate commands socket_err block. (#1042)\n\nerrno is global variable and shared with system calls, so there is\r\nchance it may be overwritten during io free or close socket in migrate\r\ncommand code. It would be better it is copied before the free or\r\nclosesocket and use copied value to check for retry in socket_err block.\r\nSo added new variable to take copy and used the copy variable for the\r\ncheck.\r\n\r\nSigned-off-by: Shivshankar-Reddy ","shortMessageHtmlLink":"Copy 'errno' and use copied value in the if check of retry in cluster…"}},{"before":"f89ff3137d437e7c43d910e4d28ed8fbed44decc","after":"ff69b4be1db24ea4e3b111e8e865af0df601b907","ref":"refs/heads/unstable","pushedAt":"2024-09-18T02:32:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"enjoy-binbin","name":"Binbin","path":"/enjoy-binbin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22811481?s=80&v=4"},"commit":{"message":"Fix casing in README.md (#1043)\n\nTO -> To\r\n\r\nSigned-off-by: Josef Šimánek ","shortMessageHtmlLink":"Fix casing in README.md (#1043)"}},{"before":"9f8185f5c80bc98bdbc631b90ccf13929d6a0cbc","after":"f89ff3137d437e7c43d910e4d28ed8fbed44decc","ref":"refs/heads/unstable","pushedAt":"2024-09-17T11:50:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"enjoy-binbin","name":"Binbin","path":"/enjoy-binbin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22811481?s=80&v=4"},"commit":{"message":"Add --moduleapi option to better use runtest-moduleapi (#1007)\n\nThis allows us to avoid error #1002 and enables us to actually\r\nuse `./runtest-moduleapi --single xxx`.\r\n\r\nSigned-off-by: Binbin ","shortMessageHtmlLink":"Add --moduleapi option to better use runtest-moduleapi (#1007)"}},{"before":"7424b17dabfb5f4346661c21a969821894b6c984","after":"2b5c7a0dbd61fd4281ef6166b7d119ba7fe7368c","ref":"refs/heads/8.0","pushedAt":"2024-09-15T20:08:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"PingXie","name":"Ping Xie","path":"/PingXie","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11568491?s=80&v=4"},"commit":{"message":"Fix a typo in the 8.0 release notes (#1036)\n\nSigned-off-by: Ping Xie ","shortMessageHtmlLink":"Fix a typo in the 8.0 release notes (#1036)"}},{"before":"76ec25f90a4afefe2235b414aa49d0b198c864de","after":"7424b17dabfb5f4346661c21a969821894b6c984","ref":"refs/heads/8.0","pushedAt":"2024-09-15T19:53:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"PingXie","name":"Ping Xie","path":"/PingXie","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11568491?s=80&v=4"},"commit":{"message":"Add Valkey 8.0 GA Release Notes (#1034)\n\nBased on #1031\r\n\r\n---------\r\n\r\nSigned-off-by: Ping Xie \r\nSigned-off-by: Ping Xie \r\nCo-authored-by: Madelyn Olson ","shortMessageHtmlLink":"Add Valkey 8.0 GA Release Notes (#1034)"}},{"before":"85a58478df28c99f2b1054e72996ed1b8d6e4f7c","after":"76ec25f90a4afefe2235b414aa49d0b198c864de","ref":"refs/heads/8.0","pushedAt":"2024-09-15T18:49:49.000Z","pushType":"pr_merge","commitsCount":31,"pusher":{"login":"PingXie","name":"Ping Xie","path":"/PingXie","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11568491?s=80&v=4"},"commit":{"message":"Revert \"Update version number to 8.0\"\n\nThis reverts commit 3179f2528db86582fb7fbf26d6d0e59555cd6b18.\n\nSigned-off-by: Ping Xie ","shortMessageHtmlLink":"Revert \"Update version number to 8.0\""}},{"before":"17390383b58e7e894e9a754132509def2ce0d913","after":"9f8185f5c80bc98bdbc631b90ccf13929d6a0cbc","ref":"refs/heads/unstable","pushedAt":"2024-09-14T04:43:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"PingXie","name":"Ping Xie","path":"/PingXie","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11568491?s=80&v=4"},"commit":{"message":"Update valkey-benchmark log output to reference 'server' instead of 'Redis' (#1029)\n\nReplaced \"Could not connect to Redis\" with \"Could not connect to server\" in the log\r\noutput for connection errors in `getRedisContext` and `createClient`.\r\n\r\nSigned-off-by: Shivshankar-Reddy ","shortMessageHtmlLink":"Update valkey-benchmark log output to reference 'server' instead of '…"}},{"before":"09def3cf03b93586bd49f689753b7d749e3bea55","after":"17390383b58e7e894e9a754132509def2ce0d913","ref":"refs/heads/unstable","pushedAt":"2024-09-14T03:49:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"enjoy-binbin","name":"Binbin","path":"/enjoy-binbin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22811481?s=80&v=4"},"commit":{"message":"Replica flush the old data after RDB file is ok in disk-based replication (#926)\n\nCall emptyData right before rdbLoad to prevent errors in the middle\r\nand we drop the replication stream and leaving an empty database.\r\nThe real changes is in disk-based part, the rest is just code movement.\r\n\r\nSigned-off-by: Binbin ","shortMessageHtmlLink":"Replica flush the old data after RDB file is ok in disk-based replica…"}},{"before":"dcc7678fc4d4b7b26e79b76489d37a93064420c3","after":"09def3cf03b93586bd49f689753b7d749e3bea55","ref":"refs/heads/unstable","pushedAt":"2024-09-14T00:21:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"PingXie","name":"Ping Xie","path":"/PingXie","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11568491?s=80&v=4"},"commit":{"message":"Improve code readability in dict.c (#943)\n\nThis pull request improves code readability, as a follow up of #749.\r\n\r\n- Internal Naming Conventions: Removed the use of underscores (_) for\r\ninternal static structures/functions.\r\n\r\n- Descriptive Function Names: Updated function names to be more\r\ndescriptive, making their purpose clearer. For instance, `_dictExpand`\r\nis renamed to `dictExpandIfAutoResizeAllowed`.\r\n\r\n---------\r\n\r\nSigned-off-by: Ping Xie ","shortMessageHtmlLink":"Improve code readability in dict.c (#943)"}},{"before":"d090fbefded1c1f67a4450100fe42d0dbdbad564","after":"dcc7678fc4d4b7b26e79b76489d37a93064420c3","ref":"refs/heads/unstable","pushedAt":"2024-09-13T22:32:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"PingXie","name":"Ping Xie","path":"/PingXie","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11568491?s=80&v=4"},"commit":{"message":"Fix replica unable trigger migration when it received CLUSTER SETSLOT in advance (#981)\n\nFix timing issue in evaluating `cluster-allow-replica-migration` for replicas\r\n\r\nThere is a timing bug where the primary and replica have different \r\n`cluster-allow-replica-migration` settings. In issue #970, we found that if \r\nthe replica receives `CLUSTER SETSLOT` before the gossip update, it remains \r\nin the original shard. This happens because we only process the \r\n`cluster-allow-replica-migration` flag for primaries during `CLUSTER SETSLOT`.\r\n\r\nThis commit fixes the issue by also evaluating this flag for replicas in the \r\n`CLUSTER SETSLOT` path, ensuring correct replica migration behavior.\r\n\r\nCloses #970\r\n---------\r\n\r\nSigned-off-by: Binbin \r\nCo-authored-by: Ping Xie ","shortMessageHtmlLink":"Fix replica unable trigger migration when it received CLUSTER SETSLOT…"}},{"before":"3cc619f6378e46b005604e9e24c75f948a7322db","after":"d090fbefded1c1f67a4450100fe42d0dbdbad564","ref":"refs/heads/unstable","pushedAt":"2024-09-13T16:22:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"madolson","name":"Madelyn Olson","path":"/madolson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34459052?s=80&v=4"},"commit":{"message":"Add the missing help output for new command: client capa redirect (#1025)\n\nUpdate client help output message for new command: client capa redirect\r\n\r\n---------\r\n\r\nSigned-off-by: hwware \r\nSigned-off-by: Binbin \r\nCo-authored-by: Binbin \r\nCo-authored-by: Madelyn Olson ","shortMessageHtmlLink":"Add the missing help output for new command: client capa redirect (#1025"}},{"before":"f7c5b401830616652fa9a97c916f40a45166ade2","after":"3cc619f6378e46b005604e9e24c75f948a7322db","ref":"refs/heads/unstable","pushedAt":"2024-09-13T07:02:39.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"PingXie","name":"Ping Xie","path":"/PingXie","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11568491?s=80&v=4"},"commit":{"message":"Disable flaky empty shard slot migration tests (#1027)\n\nWill continue my investigation offline\r\n\r\nSigned-off-by: Ping Xie ","shortMessageHtmlLink":"Disable flaky empty shard slot migration tests (#1027)"}},{"before":"38457b73208d9edadbdeb64dda8b18f57099475a","after":"f7c5b401830616652fa9a97c916f40a45166ade2","ref":"refs/heads/unstable","pushedAt":"2024-09-13T06:53:39.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"enjoy-binbin","name":"Binbin","path":"/enjoy-binbin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22811481?s=80&v=4"},"commit":{"message":"Avoid false positive in election tests (#984)\n\nThe node may not be able to initiate an election in time due to\r\nproblems with cluster communication. If an election is initiated,\r\nmake sure its offset is 0.\r\n\r\nCloses #967.\r\n\r\nSigned-off-by: Binbin ","shortMessageHtmlLink":"Avoid false positive in election tests (#984)"}},{"before":"76a59788e6b99deb33f3df7fa9946c063eb981f6","after":"38457b73208d9edadbdeb64dda8b18f57099475a","ref":"refs/heads/unstable","pushedAt":"2024-09-12T07:43:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"enjoy-binbin","name":"Binbin","path":"/enjoy-binbin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22811481?s=80&v=4"},"commit":{"message":"Trigger a save of the cluster configuration file before shutting down (#822)\n\nThe cluster configuration file is the metadata \"database\" for the\r\ncluster. It is best to trigger a save when shutdown the server, to\r\navoid inconsistent content that is not refreshed.\r\n\r\nWe save the nodes.conf whenever something that affects the nodes.conf\r\nhas changed. But we are saving nodes.conf in clusterBeforeSleep, and\r\nsome events may save it without a fsync, there is a time gap.\r\n\r\nAnd shutdown has its own save seems good to me, it doesn't need to\r\ncare about the others.\r\n\r\nAt the same time, a comment is added in unlock nodes.conf to explain\r\nwhy we actively unlock when shutdown.\r\n\r\nSigned-off-by: Binbin ","shortMessageHtmlLink":"Trigger a save of the cluster configuration file before shutting down ("}},{"before":"3513f220276c1905aeaadc362b59a7ed10cad168","after":"76a59788e6b99deb33f3df7fa9946c063eb981f6","ref":"refs/heads/unstable","pushedAt":"2024-09-12T06:19:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"PingXie","name":"Ping Xie","path":"/PingXie","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11568491?s=80&v=4"},"commit":{"message":"Re-enable empty-shard slot migration tests (#1024)\n\nRelated to #734 and #858\r\n\r\nSigned-off-by: Ping Xie ","shortMessageHtmlLink":"Re-enable empty-shard slot migration tests (#1024)"}},{"before":"8cca11ac541012e6bfbe995fb0367e6a058719b6","after":"3513f220276c1905aeaadc362b59a7ed10cad168","ref":"refs/heads/unstable","pushedAt":"2024-09-12T05:33:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"PingXie","name":"Ping Xie","path":"/PingXie","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11568491?s=80&v=4"},"commit":{"message":"Make clang-format insert a newline at end of file if missing (#1023)\n\nclang generates warning if there is no newline at the end of the source\r\nfile.\r\n\r\nUpdate .clang-format to handle the missing newline at eof.\r\n\r\nSigned-off-by: haoqixu ","shortMessageHtmlLink":"Make clang-format insert a newline at end of file if missing (#1023)"}},{"before":"fa348e2e59700244e60df2edeb1219f2989e0284","after":"8cca11ac541012e6bfbe995fb0367e6a058719b6","ref":"refs/heads/unstable","pushedAt":"2024-09-12T02:36:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"enjoy-binbin","name":"Binbin","path":"/enjoy-binbin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22811481?s=80&v=4"},"commit":{"message":"Fix wrong count for replica's tot-net-out (#1013)\n\nFix duplicate calculation of replica's `net_output_bytes`\r\n\r\n- Remove redundant calculation leftover from previous refactor\r\n- Add test to prevent regression\r\n\r\nSigned-off-by: Uri Yagelnik \r\nSigned-off-by: Binbin \r\nCo-authored-by: Binbin ","shortMessageHtmlLink":"Fix wrong count for replica's tot-net-out (#1013)"}},{"before":"74e7c37fa1fb7134ee0855115212c1b81b06f89f","after":"69773b1386ebbcc839259f28ba87f5a0af486e28","ref":"refs/heads/hashtab","pushedAt":"2024-09-11T21:12:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zuiderkwast","name":"Viktor Söderqvist","path":"/zuiderkwast","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/273886?s=80&v=4"},"commit":{"message":"clang-format .h file\n\nSigned-off-by: Viktor Söderqvist ","shortMessageHtmlLink":"clang-format .h file"}},{"before":"2b207ee1b3808c5eb5de6879651104044ca162b2","after":"fa348e2e59700244e60df2edeb1219f2989e0284","ref":"refs/heads/unstable","pushedAt":"2024-09-11T16:53:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"madolson","name":"Madelyn Olson","path":"/madolson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34459052?s=80&v=4"},"commit":{"message":"Optimize the per slot dictionary by checking for cluster mode earlier (#995)\n\nWhile doing some profiling, I noticed that getKeySlot() was a fairly\r\nlarge part (~0.7%) of samples doing perf with high pipeline during\r\nstandalone. I think this is because we do a very late check for\r\nserver.cluster_mode, we first call getKeySlot() and then call\r\ncalculateKeySlot(). (calculateKeySlot was surprisingly not automatically\r\ninlined, we were doing a jump into it and then immediately returning\r\nzero). We then also do useless work in the form of caching zero in\r\nclient->slot, which will further mess with cache lines.\r\n\r\nSo, this PR tries to accomplish a few things things.\r\n1) The usage of the `slot` name made a lot more sense before the\r\nintroduction of the kvstore. Now with kvstore, we call this the database\r\nindex, so all the references to slot in standalone are no longer really\r\naccurate.\r\n2) Pull the cluster mode check all the way out of getKeySlot(), so\r\nhopefully a bit more performant.\r\n3) Remove calculateKeySlot() as independent from getKeySlot().\r\ncalculateKeySlot used to have 3 call sites outside of db.c, which\r\nwarranted it's own function. It's now only called in two places,\r\npubsub.c and networking.c.\r\n\r\nI ran some profiling, and saw about ~0.3% improvement, but don't really\r\ntrust it because you'll see a much higher (~2%) variance in test runs\r\njust by how the branch predictions will get changed with a new memory\r\nlayout. Running perf again showed no samples in getKeySlot() and a\r\nreduction in samples in lookupKey(), so maybe this will help a little\r\nbit.\r\n\r\n---------\r\n\r\nSigned-off-by: Madelyn Olson ","shortMessageHtmlLink":"Optimize the per slot dictionary by checking for cluster mode earlier ("}},{"before":"c77e8f223ce18b51749fb7d1191ed305a64eda79","after":"2b207ee1b3808c5eb5de6879651104044ca162b2","ref":"refs/heads/unstable","pushedAt":"2024-09-11T16:52:35.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"madolson","name":"Madelyn Olson","path":"/madolson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34459052?s=80&v=4"},"commit":{"message":"Improve stability of hostnames test (#1016)\n\nMaybe partially resolves https://github.com/valkey-io/valkey/issues/952.\r\n\r\nThe hostnames test relies on an assumption that node zero and node six\r\ndon't communicate with each other to test a bunch of behavior in the\r\nhandshake stake. This was done by previously dropping all meet packets,\r\nhowever it seems like there was some case where node zero was sending a\r\nsingle pong message to node 6, which was partially initializing the\r\nstate.\r\n\r\nI couldn't track down why this happened, but I adjusted the test to\r\nsimply pause node zero which also correctly emulates the state we want\r\nto be in since we're just testing state on node 6, and removes the\r\nchance of errant messages. The test was failing about 5% of the time\r\nlocally, and I wasn't able to reproduce a failure with this new\r\nconfiguration.\r\n\r\n---------\r\n\r\nSigned-off-by: Madelyn Olson ","shortMessageHtmlLink":"Improve stability of hostnames test (#1016)"}},{"before":"de69e055a5ef4033cc7d754132d9cb99aadba3dc","after":"74e7c37fa1fb7134ee0855115212c1b81b06f89f","ref":"refs/heads/hashtab","pushedAt":"2024-09-11T16:01:39.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"zuiderkwast","name":"Viktor Söderqvist","path":"/zuiderkwast","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/273886?s=80&v=4"},"commit":{"message":"Clang-format\n\nSigned-off-by: Viktor Söderqvist ","shortMessageHtmlLink":"Clang-format"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMVQxMzoyMjo0MC4wMDAwMDBazwAAAAS8t60B","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMVQxMzoyMjo0MC4wMDAwMDBazwAAAAS8t60B","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xMVQxNjowMTozOS4wMDAwMDBazwAAAASzaTwM"}},"title":"Activity · valkey-io/valkey"}