-
Notifications
You must be 8000 signed in to change notification settings - Fork 387
session storage #26
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
Comments
unera
added a commit
that referenced
this issue
Nov 21, 2013
kostja
added a commit
that referenced
this issue
Dec 6, 2013
The patch should use struct session, which is non-existent in 1.5, so at least make session_storage_destroy a bit faster.
llelik8
pushed a commit
that referenced
this issue
Feb 21, 2018
Totktonada
added a commit
that referenced
this issue
Oct 11, 2024
The reason is that the previous libcurl submodule update in commit 0919f39 ("third_party: update libcurl from 8.8.0 to 8.10.1") reveals the following regression: NOWRAP ```c $ tarantool -e "require('http.client').new():get('https://google.com') collectgarbage()" tarantool: ./third_party/curl/lib/multi.c:3691: curl_multi_assign: Assertion `!(multi)' failed. Aborted (core dumped) ``` NOWRAP The stacktrace is the following: NOWRAP ```c <...> #4 __assert_fail #5 curl_multi_assign // <- called by us #6 curl_multi_sock_cb // <- this is our callback #7 Curl_multi_pollset_ev #8 cpool_update_shutdown_ev #9 cpool_discard_conn #10 cpool_close_and_destroy_all #11 Curl_cpool_destroy #12 curl_multi_cleanup #13 curl_env_finish // <- destroy the multi handle #14 httpc_env_finish #15 luaT_httpc_cleanup #16 lj_BC_FUNCC #17 gc_call_finalizer #18 gc_finalize #19 gc_onestep #20 lj_gc_fullgc #21 lua_gc #22 lj_cf_collectgarbage #23 lj_BC_FUNCC #24 lua_pcall #25 luaT_call #26 lua_main #27 run_script_f #28 fiber_cxx_invoke #29 fiber_loop #30 coro_init ``` NOWRAP The multi handle is during the destroy, but our `CURLMOPT_SOCKETFUNCTION` callback is invoked and the `curl_multi_assign()` call (invoked to associate a libev watcher to the given file descriptor) fails on the assertion. Everything is as described in curl/curl#15201. The first bad libcurl's commit is [curl-8_10_0-4-g48f61e781][1], but later it was fixed in [curl-8_10_1-241-g461ce6c61][2]. This commit updates libcurl to this revision to fix the regression. Adjusted build options in our build script: * Added `CURL_DISABLE_IPFS=ON`: [curl-8_10_1-57-gce7d0d413][3] * Added `CURL_TEST_BUNDLES=OFF`: [curl-8_10_1-67-g71cf0d1fc][4] * Changed `ENABLE_WEBSOCK 8000 ETS=OFF` to `CURL_DISABLE_WEBSOCKETS=ON`: [curl-8_10_1-130-gd78e129d5][5] [1]: curl/curl@48f61e7 [2]: curl/curl@461ce6c [3]: curl/curl@ce7d0d4 [4]: curl/curl@71cf0d1 [5]: curl/curl@d78e129 NO_DOC=bugfix NO_CHANGELOG=fixes an unreleased commit NO_TEST=can't reproduce without https to add a test case, verified locally
Totktonada
added a commit
that referenced
this issue
Oct 14, 2024
The reason is that the previous libcurl submodule update in commit 0919f39 ("third_party: update libcurl from 8.8.0 to 8.10.1") reveals the following regression: NOWRAP ```c $ tarantool -e "require('http.client').new():get('https://google.com') collectgarbage()" tarantool: ./third_party/curl/lib/multi.c:3691: curl_multi_assign: Assertion `!(multi)' failed. Aborted (core dumped) ``` NOWRAP The stacktrace is the following: NOWRAP ```c <...> #4 __assert_fail #5 curl_multi_assign // <- called by us #6 curl_multi_sock_cb // <- this is our callback #7 Curl_multi_pollset_ev #8 cpool_update_shutdown_ev #9 cpool_discard_conn #10 cpool_close_and_destroy_all #11 Curl_cpool_destroy #12 curl_multi_cleanup #13 curl_env_finish // <- destroy the multi handle #14 httpc_env_finish #15 luaT_httpc_cleanup #16 lj_BC_FUNCC #17 gc_call_finalizer #18 gc_finalize #19 gc_onestep #20 lj_gc_fullgc #21 lua_gc #22 lj_cf_collectgarbage #23 lj_BC_FUNCC #24 lua_pcall #25 luaT_call #26 lua_main #27 run_script_f #28 fiber_cxx_invoke #29 fiber_loop #30 coro_init ``` NOWRAP The multi handle is during the destroy, but our `CURLMOPT_SOCKETFUNCTION` callback is invoked and the `curl_multi_assign()` call (invoked to associate a libev watcher to the given file descriptor) fails on the assertion. Everything is as described in curl/curl#15201. The first bad libcurl's commit is [curl-8_10_0-4-g48f61e781][1], but later it was fixed in [curl-8_10_1-241-g461ce6c61][2]. This commit updates libcurl to this revision to fix the regression. Adjusted build options in our build script: * Added `CURL_DISABLE_IPFS=ON`: [curl-8_10_1-57-gce7d0d413][3] * Added `CURL_TEST_BUNDLES=OFF`: [curl-8_10_1-67-g71cf0d1fc][4] * Changed `ENABLE_WEBSOCKETS=OFF` to `CURL_DISABLE_WEBSOCKETS=ON`: [curl-8_10_1-130-gd78e129d5][5] [1]: curl/curl@48f61e7 [2]: curl/curl@461ce6c [3]: curl/curl@ce7d0d4 [4]: curl/curl@71cf0d1 [5]: curl/curl@d78e129 NO_DOC=bugfix NO_CHANGELOG=fixes an unreleased commit NO_TEST=can't reproduce without https to add a test case, verified locally
Totktonada
added a commit
that referenced
this issue
Oct 14, 2024
The reason is that the previous libcurl submodule update in commit 0919f39 ("third_party: update libcurl from 8.8.0 to 8.10.1") reveals the following regression: NOWRAP ```c $ tarantool -e "require('http.client').new():get('https://google.com') collectgarbage()" tarantool: ./third_party/curl/lib/multi.c:3691: curl_multi_assign: Assertion `!(multi)' failed. Aborted (core dumped) ``` NOWRAP The stacktrace is the following: NOWRAP ```c <...> #4 __assert_fail #5 curl_multi_assign // <- called by us #6 curl_multi_sock_cb // <- this is our callback #7 Curl_multi_pollset_ev #8 cpool_update_shutdown_ev #9 cpool_discard_conn #10 cpool_close_and_destroy_all #11 Curl_cpool_destroy #12 curl_multi_cleanup #13 curl_env_finish // <- destroy the multi handle #14 httpc_env_finish #15 luaT_httpc_cleanup #16 lj_BC_FUNCC #17 gc_call_finalizer #18 gc_finalize #19 gc_onestep #20 lj_gc_fullgc #21 lua_gc #22 lj_cf_collectgarbage #23 lj_BC_FUNCC #24 lua_pcall #25 luaT_call #26 lua_main #27 run_script_f #28 fiber_cxx_invoke #29 fiber_loop #30 coro_init ``` NOWRAP The multi handle is during the destroy, but our `CURLMOPT_SOCKETFUNCTION` callback is invoked and the `curl_multi_assign()` call (invoked to associate a libev watcher to the given file descriptor) fails on the assertion. Everything is as described in curl/curl#15201. The first bad libcurl's commit is [curl-8_10_0-4-g48f61e781][1], but later it was fixed in [curl-8_10_1-241-g461ce6c61][2]. This commit updates libcurl to this revision to fix the regression. Adjusted build options in our build script: * Added `CURL_DISABLE_IPFS=ON`: [curl-8_10_1-57-gce7d0d413][3] * Added `CURL_TEST_BUNDLES=OFF`: [curl-8_10_1-67-g71cf0d1fc][4] * Changed `ENABLE_WEBSOCKETS=OFF` to `CURL_DISABLE_WEBSOCKETS=ON`: [curl-8_10_1-130-gd78e129d5][5] [1]: curl/curl@48f61e7 [2]: curl/curl@461ce6c [3]: curl/curl@ce7d0d4 [4]: curl/curl@71cf0d1 [5]: curl/curl@d78e129 NO_DOC=bugfix NO_CHANGELOG=fixes an unreleased commit NO_TEST=can't reproduce without https to add a test case, verified locally
Totktonada
added a commit
that referenced
this issue
Oct 14, 2024
The reason is that the previous libcurl submodule update in commit 0919f39 ("third_party: update libcurl from 8.8.0 to 8.10.1") reveals the following regression: NOWRAP ```c $ tarantool -e "require('http.client').new():get('https://google.com') collectgarbage()" tarantool: ./third_party/curl/lib/multi.c:3691: curl_multi_assign: Assertion `!(multi)' failed. Aborted (core dumped) ``` NOWRAP The stacktrace is the following: NOWRAP ```c <...> #4 __assert_fail #5 curl_multi_assign // <- called by us #6 curl_multi_sock_cb // <- this is our callback #7 Curl_multi_pollset_ev #8 cpool_update_shutdown_ev #9 cpool_discard_conn #10 cpool_close_and_destroy_all #11 Curl_cpool_destroy #12 curl_multi_cleanup #13 curl_env_finish // <- destroy the multi handle #14 httpc_env_finish #15 luaT_httpc_cleanup #16 lj_BC_FUNCC #17 gc_call_finalizer #18 gc_finalize #19 gc_onestep #20 lj_gc_fullgc #21 lua_gc #22 lj_cf_collectgarbage #23 lj_BC_FUNCC #24 lua_pcall #25 luaT_call #26 lua_main #27 run_script_f #28 fiber_cxx_invoke #29 fiber_loop #30 coro_init ``` NOWRAP The multi handle is during the destroy, but our `CURLMOPT_SOCKETFUNCTION` callback is invoked and the `curl_multi_assign()` call (invoked to associate a libev watcher to the given file descriptor) fails on the assertion. Everything is as described in curl/curl#15201. The first bad libcurl's commit is [curl-8_10_0-4-g48f61e781][1], but later it was fixed in [curl-8_10_1-241-g461ce6c61][2]. This commit updates libcurl to this revision to fix the regression. Adjusted build options in our build script: * Added `CURL_DISABLE_IPFS=ON`: [curl-8_10_1-57-gce7d0d413][3] * Added `CURL_TEST_BUNDLES=OFF`: [curl-8_10_1-67-g71cf0d1fc][4] * Changed `ENABLE_WEBSOCKETS=OFF` to `CURL_DISABLE_WEBSOCKETS=ON`: [curl-8_10_1-130-gd78e129d5][5] [1]: curl/curl@48f61e7 [2]: curl/curl@461ce6c [3]: curl/curl@ce7d0d4 [4]: curl/curl@71cf0d1 [5]: curl/curl@d78e129 NO_DOC=bugfix NO_CHANGELOG=fixes an unreleased commit NO_TEST=can't reproduce without https to add a test case, verified locally (cherry picked from commit fbe6d0a)
Totktonada
added a commit
that referenced
this issue
Oct 14, 2024
The reason is that the previous libcurl submodule update in commit 0919f39 ("third_party: update libcurl from 8.8.0 to 8.10.1") reveals the following regression: NOWRAP ```c $ tarantool -e "require('http.client').new():get('https://google.com') collectgarbage()" tarantool: ./third_party/curl/lib/multi.c:3691: curl_multi_assign: Assertion `!(multi)' failed. Aborted (core dumped) ``` NOWRAP The stacktrace is the following: NOWRAP ```c <...> #4 __assert_fail #5 curl_multi_assign // <- called by us #6 curl_multi_sock_cb // <- this is our callback #7 Curl_multi_pollset_ev #8 cpool_update_shutdown_ev #9 cpool_discard_conn #10 cpool_close_and_destroy_all #11 Curl_cpool_destroy #12 curl_multi_cleanup #13 curl_env_finish // <- destroy the multi handle #14 httpc_env_finish #15 luaT_httpc_cleanup #16 lj_BC_FUNCC #17 gc_call_finalizer #18 gc_finalize #19 gc_onestep #20 lj_gc_fullgc #21 lua_gc #22 lj_cf_collectgarbage #23 lj_BC_FUNCC #24 lua_pcall #25 luaT_call #26 lua_main #27 run_script_f #28 fiber_cxx_invoke #29 fiber_loop #30 coro_init ``` NOWRAP The multi handle is during the destroy, but our `CURLMOPT_SOCKETFUNCTION` callback is invoked and the `curl_multi_assign()` call (invoked to associate a libev watcher to the given file descriptor) fails on the assertion. Everything is as described in curl/curl#15201. The first bad libcurl's commit is [curl-8_10_0-4-g48f61e781][1], but later it was fixed in [curl-8_10_1-241-g461ce6c61][2]. This commit updates libcurl to this revision to fix the regression. Adjusted build options in our build script: * Added `CURL_DISABLE_IPFS=ON`: [curl-8_10_1-57-gce7d0d413][3] * Added `CURL_TEST_BUNDLES=OFF`: [curl-8_10_1-67-g71cf0d1fc][4] * Changed `ENABLE_WEBSOCKETS=OFF` to `CURL_DISABLE_WEBSOCKETS=ON`: [curl-8_10_1-130-gd78e129d5][5] [1]: curl/curl@48f61e7 [2]: curl/curl@461ce6c [3]: curl/curl@ce7d0d4 [4]: curl/curl@71cf0d1 [5]: curl/curl@d78e129 NO_DOC=bugfix NO_CHANGELOG=fixes an unreleased commit NO_TEST=can't reproduce without https to add a test case, verified locally (cherry picked from commit fbe6d0a)
Totktonada
added a commit
that referenced
this issue
Oct 14, 2024
The reason is that the previous libcurl submodule update in commit 0919f39 ("third_party: update libcurl from 8.8.0 to 8.10.1") reveals the following regression: NOWRAP ```c $ tarantool -e "require('http.client').new():get('https://google.com') collectgarbage()" tarantool: ./third_party/curl/lib/multi.c:3691: curl_multi_assign: Assertion `!(multi)' failed. Aborted (core dumped) ``` NOWRAP The stacktrace is the following: NOWRAP ```c <...> #4 __assert_fail #5 curl_multi_assign // <- called by us #6 curl_multi_sock_cb // <- this is our callback #7 Curl_multi_pollset_ev #8 cpool_update_shutdown_ev #9 cpool_discard_conn #10 cpool_close_and_destroy_all #11 Curl_cpool_destroy #12 curl_multi_cleanup #13 curl_env_finish // <- destroy the multi handle #14 httpc_env_finish #15 luaT_httpc_cleanup #16 lj_BC_FUNCC #17 gc_call_finalizer #18 gc_finalize #19 gc_onestep #20 lj_gc_fullgc #21 lua_gc #22 lj_cf_collectgarbage #23 lj_BC_FUNCC #24 lua_pcall #25 luaT_call #26 lua_main #27 run_script_f #28 fiber_cxx_invoke #29 fiber_loop #30 coro_init ``` NOWRAP The multi handle is during the destroy, but our `CURLMOPT_SOCKETFUNCTION` callback is invoked and the `curl_multi_assign()` call (invoked to associate a libev watcher to the given file descriptor) fails on the assertion. Everything is as described in curl/curl#15201. The first bad libcurl's commit is [curl-8_10_0-4-g48f61e781][1], but later it was fixed in [curl-8_10_1-241-g461ce6c61][2]. This commit updates libcurl to this revision to fix the regression. Adjusted build options in our build script: * Added `CURL_DISABLE_IPFS=ON`: [curl-8_10_1-57-gce7d0d413][3] * Added `CURL_TEST_BUNDLES=OFF`: [curl-8_10_1-67-g71cf0d1fc][4] * Changed `ENABLE_WEBSOCKETS=OFF` to `CURL_DISABLE_WEBSOCKETS=ON`: [curl-8_10_1-130-gd78e129d5][5] [1]: curl/curl@48f61e7 [2]: curl/curl@461ce6c [3]: curl/curl@ce7d0d4 [4]: curl/curl@71cf0d1 [5]: curl/curl@d78e129 NO_DOC=bugfix NO_CHANGELOG=fixes an unreleased commit NO_TEST=can't reproduce without https to add a test case, verified locally (cherry picked from commit fbe6d0a)
Totktonada
added a commit
that referenced
this issue
Oct 14, 2024
The reason is that the previous libcurl submodule update in commit 0919f39 ("third_party: update libcurl from 8.8.0 to 8.10.1") reveals the following regression: NOWRAP ```c $ tarantool -e "require('http.client').new():get('https://google.com') collectgarbage()" tarantool: ./third_party/curl/lib/multi.c:3691: curl_multi_assign: Assertion `!(multi)' failed. Aborted (core dumped) ``` NOWRAP The stacktrace is the following: NOWRAP ```c <...> #4 __assert_fail #5 curl_multi_assign // <- called by us #6 curl_multi_sock_cb // <- this is our callback #7 Curl_multi_pollset_ev #8 cpool_update_shutdown_ev #9 cpool_discard_conn #10 cpool_close_and_destroy_all #11 Curl_cpool_destroy #12 curl_multi_cleanup #13 curl_env_finish // <- destroy the multi handle #14 httpc_env_finish #15 luaT_httpc_cleanup #16 lj_BC_FUNCC #17 gc_call_finalizer #18 gc_finalize #19 gc_onestep #20 lj_gc_fullgc #21 lua_gc #22 lj_cf_collectgarbage #23 lj_BC_FUNCC #24 lua_pcall #25 luaT_call #26 lua_main #27 run_script_f #28 fiber_cxx_invoke #29 fiber_loop #30 coro_init ``` NOWRAP The multi handle is during the destroy, but our `CURLMOPT_SOCKETFUNCTION` callback is invoked and the `curl_multi_assign()` call (invoked to associate a libev watcher to the given file descriptor) fails on the assertion. Everything is as described in curl/curl#15201. The first bad libcurl's commit is [curl-8_10_0-4-g48f61e781][1], but later it was fixed in [curl-8_10_1-241-g461ce6c61][2]. This commit updates libcurl to this revision to fix the regression. Adjusted build options in our build script: * Added `CURL_DISABLE_IPFS=ON`: [curl-8_10_1-57-gce7d0d413][3] * Added `CURL_TEST_BUNDLES=OFF`: [curl-8_10_1-67-g71cf0d1fc][4] * Changed `ENABLE_WEBSOCKETS=OFF` to `CURL_DISABLE_WEBSOCKETS=ON`: [curl-8_10_1-130-gd78e129d5][5] [1]: curl/curl@48f61e7 [2]: curl/curl@461ce6c [3]: curl/curl@ce7d0d4 [4]: curl/curl@71cf0d1 [5]: curl/curl@d78e129 NO_DOC=bugfix NO_CHANGELOG=fixes an unreleased commit NO_TEST=can't reproduce without https to add a test case, verified locally (cherry picked from commit fbe6d0a)
mandesero
pushed a commit
to mandesero/tarantool
that referenced
this issue
Oct 16, 2024
The reason is that the previous libcurl submodule update in commit 0919f39 ("third_party: update libcurl from 8.8.0 to 8.10.1") reveals the following regression: NOWRAP ```c $ tarantool -e "require('http.client').new():get('https://google.com') collectgarbage()" tarantool: ./third_party/curl/lib/multi.c:3691: curl_multi_assign: Assertion `!(multi)' failed. Aborted (core dumped) ``` NOWRAP The stacktrace is the following: NOWRAP ```c <...> tarantool#4 __assert_fail tarantool#5 curl_multi_assign // <- called by us tarantool#6 curl_multi_sock_cb // <- this is our callback tarantool#7 Curl_multi_pollset_ev tarantool#8 cpool_update_shutdown_ev tarantool#9 cpool_discard_conn tarantool#10 cpool_close_and_destroy_all tarantool#11 Curl_cpool_destroy tarantool#12 curl_multi_cleanup tarantool#13 curl_env_finish // <- destroy the multi handle tarantool#14 httpc_env_finish tarantool#15 luaT_httpc_cleanup tarantool#16 lj_BC_FUNCC tarantool#17 gc_call_finalizer tarantool#18 gc_finalize tarantool#19 gc_onestep tarantool#20 lj_gc_fullgc tarantool#21 lua_gc tarantool#22 lj_cf_collectgarbage tarantool#23 lj_BC_FUNCC tarantool#24 lua_pcall tarantool#25 luaT_call tarantool#26 lua_main tarantool#27 run_script_f tarantool#28 fiber_cxx_invoke tarantool#29 fiber_loop tarantool#30 coro_init ``` NOWRAP The multi handle is during the destroy, but our `CURLMOPT_SOCKETFUNCTION` callback is invoked and the `curl_multi_assign()` call (invoked to associate a libev watcher to the given file descriptor) fails on the assertion. Everything is as described in curl/curl#15201. The first bad libcurl's commit is [curl-8_10_0-4-g48f61e781][1], but later it was fixed in [curl-8_10_1-241-g461ce6c61][2]. This commit updates libcurl to this revision to fix the regression. Adjusted build options in our build script: * Added `CURL_DISABLE_IPFS=ON`: [curl-8_10_1-57-gce7d0d413][3] * Added `CURL_TEST_BUNDLES=OFF`: [curl-8_10_1-67-g71cf0d1fc][4] * Changed `ENABLE_WEBSOCKETS=OFF` to `CURL_DISABLE_WEBSOCKETS=ON`: [curl-8_10_1-130-gd78e129d5][5] [1]: curl/curl@48f61e7 [2]: curl/curl@461ce6c [3]: curl/curl@ce7d0d4 [4]: curl/curl@71cf0d1 [5]: curl/curl@d78e129 NO_DOC=bugfix NO_CHANGELOG=fixes an unreleased commit NO_TEST=can't reproduce without https to add a test case, verified locally
georgiy-belyanin
added a commit
to georgiy-belyanin/tarantool
that referenced
this issue
Jan 15, 2025
This patch adds an action for backporting automatization. Instead of doing everything with your hands you may now use one the following workflows for simple cherry-pick cases. The first option (using labels). * Add labels `backport/<release to backport to>` to the PR you want to backport (e.g for backporting to versions 2.11 and 3.2 add labels `backport/3.2` and `backport/2.11`). * Merge the original pull request. * Merge the automatically created Pull requests by GitHub-actions bot. The second option (using command). * Merge the original pull request. * Write `/backport <releases to backport to list separated by space...>` comment (e.g. `/backport 3.2 3.3`). * Merge the automatically created Pull requests by GitHub-actions bot. The bot creates a pull request from `backport/${target branch}/${pull number}` containing a few cherry picks with `-x` flag from the original patch/patchset and using the following title format. ``` [Backport ${target minor version}] ${orig pull title}. ``` And the following body format. ``` *(This PR is a backport of #${pull number} to `${target branch}` to a future `${future release number}`.)* --- ${pull_description} ``` The bot also copies all labels except ones used for backporting. It can be handy for copying `full-ci`. In case of merge conflicts the bot notifies you and asks to perform backporting by yourself: ``` Backport failed for `release/1.0`, because it was unable to cherry-pick the commit(s). Please cherry-pick the changes locally and resolve any conflicts. ``` And suggests executing the commands similar to the following. ```bash git fetch origin release/1.0 git worktree add -d .worktree/backport/release/1.0/8 origin/release/1.0 cd .worktree/backport/release/1.0/8 git switch --create backport/release/1.0/8 git cherry-pick -x 683e9a53b3a811cf8e97645a9e5cde4b68564532 ``` After processing the merge or the command the bot writes a report on the successfully created PRs. For instance: ``` * Created tarantool#26 to `release/1.0` to a future `1.0.1` release * Created tarantool#27 to `release/1.1` to a future `1.1.1` release ``` NO_TEST=github workflow changes only NO_CHANGELOG=github workflows for development NO_DOC=github workflows for development
georgiy-belyanin
added a commit
to georgiy-belyanin/tarantool
that referenced
this issue
Jan 15, 2025
This patch adds an action for backporting automatization. Instead of doing everything with your hands you may now use one the following workflows for simple cherry-pick cases. The first option (using labels). * Add labels `backport/<release to backport to>` to the PR you want to backport (e.g for backporting to versions 2.11 and 3.2 add labels `backport/3.2` and `backport/2.11`). * Merge the original pull request. * Merge the automatically created Pull requests by GitHub-actions bot. The second option (using command). * Merge the original pull request. * Write `/backport <releases to backport to list separated by space...>` comment (e.g. `/backport 3.2 3.3`). * Merge the automatically created Pull requests by GitHub-actions bot. The bot creates a pull request from `backport/${target branch}/${pull number}` containing a few cherry picks with `-x` flag from the original patch/patchset and using the following title format. ``` [Backport ${target minor version}] ${orig pull title}. ``` And the following body format. ``` *(This PR is a backport of #${pull number} to `${target branch}` to a future `${future release number}`.)* --- ${pull_description} ``` The bot also copies all labels except ones used for backporting. It can be handy for copying `full-ci`. In case of merge conflicts the bot notifies you and asks to perform backporting by yourself: ``` Backport failed for `release/1.0`, because it was unable to cherry-pick the commit(s). Please cherry-pick the changes locally and resolve any conflicts. ``` And suggests executing the commands similar to the following. ```bash git fetch origin release/1.0 git worktree add -d .worktree/backport/release/1.0/8 origin/release/1.0 cd .worktree/backport/release/1.0/8 git switch --create backport/release/1.0/8 git cherry-pick -x 683e9a53b3a811cf8e97645a9e5cde4b68564532 ``` After processing the merge or the command the bot writes a report on the successfully created PRs. For instance: ``` Backport summary * Created tarantool#26 to `release/1.0` to a future `1.0.1` release * Created tarantool#27 to `release/1.1` to a future `1.1.1` release ``` NO_TEST=github workflow changes only NO_CHANGELOG=github workflows for development NO_DOC=github workflows for development
georgiy-belyanin
added a commit
to georgiy-belyanin/tarantool
that referenced
this issue
Jan 20, 2025
This patch adds an action for backporting automatization. Instead of doing everything with your hands you may now use one the following workflows for simple cherry-pick cases. The first option (using labels). * Add labels `backport/<release to backport to>` to the PR you want to backport (e.g for backporting to versions 2.11 and 3.2 add labels `backport/3.2` and `backport/2.11`). * Merge the original pull request. * Merge the automatically created Pull requests by GitHub-actions bot. The second option (using command). * Merge the original pull request. * Write `/backport <releases to backport to list separated by space...>` comment (e.g. `/backport 3.2 3.3`). * Merge the automatically created Pull requests by GitHub-actions bot. The bot creates a pull request from `backport/${target branch}/${pull number}` containing a few cherry picks with `-x` flag from the original patch/patchset and using the following title format. ``` [Backport ${target minor version}] ${orig pull title}. ``` And the following body format. ``` *(This PR is a backport of #${pull number} to `${target branch}` to a future `${future release number}`.)* --- ${pull_description} ``` The bot also copies all labels except ones used for backporting. It can be handy for copying `full-ci`. In case of merge conflicts the bot notifies you and asks to perform backporting by yourself: ``` Backport failed for `release/1.0`, because it was unable to cherry-pick the commit(s). Please cherry-pick the changes locally and resolve any conflicts. ``` And suggests executing the commands similar to the following. ```bash git fetch origin release/1.0 git worktree add -d .worktree/backport/release/1.0/8 origin/release/1.0 cd .worktree/backport/release/1.0/8 git switch --create backport/release/1.0/8 git cherry-pick -x 683e9a53b3a811cf8e97645a9e5cde4b68564532 ``` After processing the merge or the command the bot writes a report on the successfully created PRs. For instance: ``` Backport summary * Created tarantool#26 to `release/1.0` to a future `1.0.1` release * Created tarantool#27 to `release/1.1` to a future `1.1.1` release ``` NO_TEST=github workflow changes only NO_CHANGELOG=github workflows for development NO_DOC=github workflows for development
georgiy-belyanin
added a commit
to georgiy-belyanin/tarantool
that referenced
this issue
Jan 20, 2025
This patch adds an action for backporting automatization. Instead of doing everything with your hands you may now use one the following workflows for simple cherry-pick cases. The first option (using labels). * Add labels `backport/<release to backport to>` to the PR you want to backport (e.g for backporting to versions 2.11 and 3.2 add labels `backport/3.2` and `backport/2.11`). * Merge the original pull request. * Merge the automatically created Pull requests by GitHub-actions bot. The second option (using command). * Merge the original pull request. * Write `/backport <releases to backport to list separated by space...>` comment (e.g. `/backport 3.2 3.3`). * Merge the automatically created Pull requests by GitHub-actions bot. The bot creates a pull request from `backport/${target branch}/${pull number}` containing a few cherry picks with `-x` flag from the original patch/patchset and using the following title format. ``` [backport ${target minor version}] ${orig pull title}. ``` And the following body format. ``` *(This PR is a backport of #${pull number} to `${target branch}` to a future `${future release number}`.)* --- ${pull_description} ``` The bot also copies all labels except ones used for backporting. It can be handy for copying `full-ci`. In case of merge conflicts the bot notifies you and asks to perform backporting by yourself: ``` Backport failed for `release/1.0`, because it was unable to cherry-pick the commit(s). Please cherry-pick the changes locally and resolve any conflicts. ``` And suggests executing the commands similar to the following. ```bash git fetch origin release/1.0 git worktree add -d .worktree/backport/release/1.0/8 origin/release/1.0 cd .worktree/backport/release/1.0/8 git switch --create backport/release/1.0/8 git cherry-pick -x 683e9a53b3a811cf8e97645a9e5cde4b68564532 ``` After processing the merge or the command the bot writes a report on the successfully created PRs. For instance: ``` Backport summary * Created tarantool#26 to `release/1.0` to a future `1.0.1` release * Created tarantool#27 to `release/1.1` to a future `1.1.1` release ``` NO_TEST=github workflow changes only NO_CHANGELOG=github workflows for development NO_DOC=github workflows for development
georgiy-belyanin
added a commit
to georgiy-belyanin/tarantool
that referenced
this issue
Jan 20, 2025
This patch adds an action for backporting automatization. Instead of doing everything with your hands you may now use one the following workflows for simple cherry-pick cases. The first option (using labels). * Add labels `backport/<release to backport to>` to the PR you want to backport (e.g for backporting to versions 2.11 and 3.2 add labels `backport/3.2` and `backport/2.11`). * Merge the original pull request. * Merge the automatically created Pull requests by GitHub-actions bot. The second option (using command). * Merge the original pull request. * Write `/backport <releases to backport to list separated by space...>` comment (e.g. `/backport 3.2 3.3`). * Merge the automatically created Pull requests by GitHub-actions bot. The bot creates a pull request from `backport/${target branch}/${pull number}` containing a few cherry picks with `-x` flag from the original patch/patchset and using the following title format. ``` [backport ${target minor version}] ${orig pull title}. ``` And the following body format. ``` *(This PR is a backport of #${pull number} to `${target branch}` to a future `${future release number}`.)* --- ${pull_description} ``` The bot also copies all labels except ones used for backporting. It can be handy for copying `full-ci`. In case of merge conflicts the bot notifies you and asks to perform backporting by yourself: ``` Backport failed for `release/1.0`, because it was unable to cherry-pick the commit(s). Please cherry-pick the changes locally and resolve any conflicts. ``` And suggests executing the commands similar to the following. ```bash git fetch origin release/1.0 git worktree add -d .worktree/backport/release/1.0/8 origin/release/1.0 cd .worktree/backport/release/1.0/8 git switch --create backport/release/1.0/8 git cherry-pick -x 683e9a53b3a811cf8e97645a9e5cde4b68564532 ``` After processing the merge or the command the bot writes a report on the successfully created PRs. For instance: ``` Backport summary * Created tarantool#26 to `release/1.0` to a future `1.0.1` release * Created tarantool#27 to `release/1.1` to a future `1.1.1` release ``` NO_TEST=github workflow changes only NO_CHANGELOG=github workflows for development NO_DOC=github workflows for development
georgiy-belyanin
added a commit
to georgiy-belyanin/tarantool
that referenced
this issue
Jan 20, 2025
This patch adds an action for backporting automatization. Instead of doing everything with your hands you may now use one the following workflows for simple cherry-pick cases. The first option (using labels). * Add labels `backport/<release to backport to>` to the PR you want to backport (e.g for backporting to versions 2.11 and 3.2 add labels `backport/3.2` and `backport/2.11`). * Merge the original pull request. * Merge the automatically created Pull requests by GitHub-actions bot. The second option (using command). * Merge the original pull request. * Write `/backport <releases to backport to list separated by space...>` comment (e.g. `/backport 3.2 3.3`). * Merge the automatically created Pull requests by GitHub-actions bot. The bot creates a pull request from `backport/${target branch}/${pull number}` containing a few cherry picks with `-x` flag from the original patch/patchset and using the following title format. ``` [backport ${target minor version}] ${orig pull title}. ``` And the following body format. ``` *(This PR is a backport of #${pull number} to `${target branch}` to a future `${future release number}`.)* --- ${pull_description} ``` The bot also copies all labels except ones used for backporting. It can be handy for copying `full-ci`. In case of merge conflicts the bot notifies you and asks to perform backporting by yourself: ``` Backport failed for `release/1.0`, because it was unable to cherry-pick the commit(s). Please cherry-pick the changes locally and resolve any conflicts. ``` And suggests executing the commands similar to the following. ```bash git fetch origin release/1.0 git worktree add -d .worktree/backport/release/1.0/8 origin/release/1.0 cd .worktree/backport/release/1.0/8 git switch --create backport/release/1.0/8 git cherry-pick -x 683e9a53b3a811cf8e97645a9e5cde4b68564532 ``` After processing the merge or the command the bot writes a report on the successfully created PRs. For instance: ``` Backport summary * Created tarantool#26 to `release/1.0` to a future `1.0.1` release * Created tarantool#27 to `release/1.1` to a future `1.1.1` release ``` NO_TEST=github workflow changes only NO_CHANGELOG=github workflows for development NO_DOC=github workflows for development
Totktonada
pushed a commit
that referenced
this issue
Jan 21, 2025
This patch adds an action for backporting automatization. Instead of doing everything with your hands you may now use one the following workflows for simple cherry-pick cases. The first option (using labels). * Add labels `backport/<release to backport to>` to the PR you want to backport (e.g for backporting to versions 2.11 and 3.2 add labels `backport/3.2` and `backport/2.11`). * Merge the original pull request. * Merge the automatically created Pull requests by GitHub-actions bot. The second option (using command). * Merge the original pull request. * Write `/backport <releases to backport to list separated by space...>` comment (e.g. `/backport 3.2 3.3`). * Merge the automatically created Pull requests by GitHub-actions bot. The bot creates a pull request from `backport/${target branch}/${pull number}` containing a few cherry picks with `-x` flag from the original patch/patchset and using the following title format. ``` [backport ${target minor version}] ${orig pull title}. ``` And the following body format. ``` *(This PR is a backport of #${pull number} to `${target branch}` to a future `${future release number}`.)* --- ${pull_description} ``` The bot also copies all labels except ones used for backporting. It can be handy for copying `full-ci`. In case of merge conflicts the bot notifies you and asks to perform backporting by yourself: ``` Backport failed for `release/1.0`, because it was unable to cherry-pick the commit(s). Please cherry-pick the changes locally and resolve any conflicts. ``` And suggests executing the commands similar to the following. ```bash git fetch origin release/1.0 git worktree add -d .worktree/backport/release/1.0/8 origin/release/1.0 cd .worktree/backport/release/1.0/8 git switch --create backport/release/1.0/8 git cherry-pick -x 683e9a53b3a811cf8e97645a9e5cde4b68564532 ``` After processing the merge or the command the bot writes a report on the successfully created PRs. For instance: ``` Backport summary * Created #26 to `release/1.0` to a future `1.0.1` release * Created #27 to `release/1.1` to a future `1.1.1` release ``` NO_TEST=github workflow changes only NO_CHANGELOG=github workflows for development NO_DOC=github workflows for development
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
It would be nice to have a lua table that was emptyed by disconnect event.
A driver could use the storage for its internal features.
The text was updated successfully, but these errors were encountered: