8000 session storage · Issue #26 · tarantool/tarantool · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

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

Closed
unera opened this issue Sep 11, 2013 · 0 comments
Closed

session storage #26

unera opened this issue Sep 11, 2013 · 0 comments
Assignees
Labels
feature A new functionality
Milestone

Comments

@unera
Copy link
Collaborator
unera commented Sep 11, 2013

It would be nice to have a lua table that was emptyed by disconnect event.

box.session.storage.key = value
box.session.storage.foo = function() ... end

A driver could use the storage for its internal features.

unera added a commit that referenced this issue Nov 21, 2013
unera added a commit that referenced this issue Nov 21, 2013
unera added a commit that referenced this issue Nov 21, 2013
@ghost ghost assigned kostja Nov 22, 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.
@kostja kostja closed this as completed Dec 6, 2013
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
Labels
feature A new functionality
Projects
None yet
Development

No branches or pull requests

2 participants
0