-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
fix unit test:type/set #1577
fix unit test:type/set #1577
Conversation
after $ms set ::__sleep__tmp__$uniq 1 | ||
vwait ::__sleep__tmp__$uniq | ||
unset ::__sleep__tmp__$uniq | ||
} |
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.
The code patch adds two new procedures uniqkey
and sleep
.
The uniqkey
procedure generates a unique key by concatenating the current clock seconds with the last 6 digits of the result of expr {1 << 31} + [clock clicks]
. This approach can be improved to generate a more secure and uniquely identifiable key, such as using a cryptographic hash function like SHA-256.
The sleep
procedure uses the after
command to wait for a specified number of milliseconds before setting a global variable that indicates the completion of the sleep. The use of a unique identifier in the global variable name helps prevent collisions with other uses of the same technique. However, this approach could lead to performance issues if many calls of this procedure are made simultaneously due to the creation and destruction of global variables. An improvement suggestion would be to use a dictionary to store the values instead. In addition, it may be worth considering the use of the coroutine
command to avoid blocking the main thread while waiting.
* feat: supported 'ptype' command * Simplified command `type` and `ptype` code * Remove the capacity judgment * fix slavaof serialize response bug (#1583) Co-authored-by: liuyuecai <liuyuecai@360.cn> * fix (#1587) (#1588) * fix unit test:type/set (#1577) * Fix memory leaks in HandleBGWorkerWriteDB and HandleMetaSyncResponse (#1590) * fix memory leaks in PikaReplBgWorker::HandleBGWorkerWriteDB(void* arg) and PikaReplClientConn::HandleMetaSyncResponse(void* arg). * add address/thread sanitizer to CMakeLists --------- Co-authored-by: cjh <1271435567@qq.com> * refactor: replace pstd/env with std::filesystem (#1470) * fix bug issue 1554: using unique_ptr.reset to fix the SIGABRT error (#1595) using unique_ptr.reset to fix the SIGABRT error && using time-wait lock to notify quickly * fix: incorrect manner of terminating the process (#1596) * fix issue#1597: add rocksdb dependency to pstd (#1599) * fix g++15 compile failure * add rocksdb dependency to pstd --------- Co-authored-by: J1senn <J1senn@outlook.com> * fix_info_command * fix: gcc13 compile failed (#1601) * ci: add unit test to github action (#1604) * ci: add unit test in github workflow * chore:change `PLATFORM` field logic (#1615) * fix issue 1517: scan 命令不支持 type 参数 (#1582) * fix: the unit test of type/set (#1617) * test: optimize the return results of srandmember to avoid approximate results * fix: use last_seed for random engine * [fix issue1621] fix deadlock (#1620) * [fix] fix deadlock * [fix] fix * command `type` and `ptype` add unit test * fix member variable initialization * Update issue templates * feat: supported 'ptype' command * fix unit test:type/set (#1577) * fix issue#1597: add rocksdb dependency to pstd (#1599) * fix g++15 compile failure * add rocksdb dependency to pstd --------- Co-authored-by: J1senn <J1senn@outlook.com> * fix: gcc13 compile failed (#1601) * fix: the unit test of type/set (#1617) * test: optimize the return results of srandmember to avoid approximate results * fix: use last_seed for random engine * Modify other modules to use the new `type` function * fix function repeat --------- Co-authored-by: Yuecai Liu <38887641+luky116@users.noreply.github.com> Co-authored-by: liuyuecai <liuyuecai@360.cn> Co-authored-by: Peter Chan <luckygoose@foxmail.com> Co-authored-by: chenbt <34958405+chenbt-hz@users.noreply.github.com> Co-authored-by: Junhua Chen <41671101+cheniujh@users.noreply.github.com> Co-authored-by: cjh <1271435567@qq.com> Co-authored-by: kang jinci <jincikang@gmail.com> Co-authored-by: Xin.Zh <dragoncharlie@foxmail.com> Co-authored-by: machinly <machinlyg@gmail.com> Co-authored-by: A2ureStone <73770413+A2ureStone@users.noreply.github.com> Co-authored-by: J1senn <J1senn@outlook.com> Co-authored-by: chejinge <945997690@qq.com> Co-authored-by: baerwang <52104949+baerwang@users.noreply.github.com> Co-authored-by: ptbxzrt <89020404+ptbxzrt@users.noreply.github.com> Co-authored-by: 你不要过来啊 <73388438+iiiuwioajdks@users.noreply.github.com>
* feat: supported 'ptype' command * Simplified command `type` and `ptype` code * Remove the capacity judgment * fix slavaof serialize response bug (OpenAtomFoundation#1583) Co-authored-by: liuyuecai <liuyuecai@360.cn> * fix (OpenAtomFoundation#1587) (OpenAtomFoundation#1588) * fix unit test:type/set (OpenAtomFoundation#1577) * Fix memory leaks in HandleBGWorkerWriteDB and HandleMetaSyncResponse (OpenAtomFoundation#1590) * fix memory leaks in PikaReplBgWorker::HandleBGWorkerWriteDB(void* arg) and PikaReplClientConn::HandleMetaSyncResponse(void* arg). * add address/thread sanitizer to CMakeLists --------- Co-authored-by: cjh <1271435567@qq.com> * refactor: replace pstd/env with std::filesystem (OpenAtomFoundation#1470) * fix bug issue 1554: using unique_ptr.reset to fix the SIGABRT error (OpenAtomFoundation#1595) using unique_ptr.reset to fix the SIGABRT error && using time-wait lock to notify quickly * fix: incorrect manner of terminating the process (OpenAtomFoundation#1596) * fix issue#1597: add rocksdb dependency to pstd (OpenAtomFoundation#1599) * fix g++15 compile failure * add rocksdb dependency to pstd --------- Co-authored-by: J1senn <J1senn@outlook.com> * fix_info_command * fix: gcc13 compile failed (OpenAtomFoundation#1601) * ci: add unit test to github action (OpenAtomFoundation#1604) * ci: add unit test in github workflow * chore:change `PLATFORM` field logic (OpenAtomFoundation#1615) * fix issue 1517: scan 命令不支持 type 参数 (OpenAtomFoundation#1582) * fix: the unit test of type/set (OpenAtomFoundation#1617) * test: optimize the return results of srandmember to avoid approximate results * fix: use last_seed for random engine * [fix issue1621] fix deadlock (OpenAtomFoundation#1620) * [fix] fix deadlock * [fix] fix * command `type` and `ptype` add unit test * fix member variable initialization * Update issue templates * feat: supported 'ptype' command * fix unit test:type/set (OpenAtomFoundation#1577) * fix issue#1597: add rocksdb dependency to pstd (OpenAtomFoundation#1599) * fix g++15 compile failure * add rocksdb dependency to pstd --------- Co-authored-by: J1senn <J1senn@outlook.com> * fix: gcc13 compile failed (OpenAtomFoundation#1601) * fix: the unit test of type/set (OpenAtomFoundation#1617) * test: optimize the return results of srandmember to avoid approximate results * fix: use last_seed for random engine * Modify other modules to use the new `type` function * fix function repeat --------- Co-authored-by: Yuecai Liu <38887641+luky116@users.noreply.github.com> Co-authored-by: liuyuecai <liuyuecai@360.cn> Co-authored-by: Peter Chan <luckygoose@foxmail.com> Co-authored-by: chenbt <34958405+chenbt-hz@users.noreply.github.com> Co-authored-by: Junhua Chen <41671101+cheniujh@users.noreply.github.com> Co-authored-by: cjh <1271435567@qq.com> Co-authored-by: kang jinci <jincikang@gmail.com> Co-authored-by: Xin.Zh <dragoncharlie@foxmail.com> Co-authored-by: machinly <machinlyg@gmail.com> Co-authored-by: A2ureStone <73770413+A2ureStone@users.noreply.github.com> Co-authored-by: J1senn <J1senn@outlook.com> Co-authored-by: chejinge <945997690@qq.com> Co-authored-by: baerwang <52104949+baerwang@users.noreply.github.com> Co-authored-by: ptbxzrt <89020404+ptbxzrt@users.noreply.github.com> Co-authored-by: 你不要过来啊 <73388438+iiiuwioajdks@users.noreply.github.com>
Fixed the ut type/set execution errors.
![image](https://private-user-images.githubusercontent.com/34958405/242921010-f0af29da-7e7d-429f-b37d-6ec2a7b270bd.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAxMDc1MzksIm5iZiI6MTcyMDEwNzIzOSwicGF0aCI6Ii8zNDk1ODQwNS8yNDI5MjEwMTAtZjBhZjI5ZGEtN2U3ZC00MjlmLWIzN2QtNmVjMmE3YjI3MGJkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MDQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzA0VDE1MzM1OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTJlMDhkMGIzYTkyMzc1YWE1ZDJlOTU0YTA5ZjVjYWUxZTQ4NDllOWI3MDE2ODEzNjYzODNlZGM0YmE4MDQxMDkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.xOWgJhm_lPSTph9SuUJeKEMPRz7_qRId6qqsJlAyFVM)
![image](https://private-user-images.githubusercontent.com/34958405/242921042-d7fd76f2-721f-4c33-9196-875efd91ba1f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAxMDc1MzksIm5iZiI6MTcyMDEwNzIzOSwicGF0aCI6Ii8zNDk1ODQwNS8yNDI5MjEwNDItZDdmZDc2ZjItNzIxZi00YzMzLTkxOTYtODc1ZWZkOTFiYTFmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MDQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzA0VDE1MzM1OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWNlMDhhN2M5MTdiZDljZTM5YThiYmJkNDAxZGRlODE2OGM1NjZkMmE3MTgxNTg5YzdmMGQ5NDk5OThmNDUxYjEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.Z1bto05cihdpR004MVzY9l-aBpD5q5CQFmJPLO9QZ4g)
about #1253