Skip to content
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

Bump version of small library #92

Open
ligurio opened this issue Dec 13, 2021 · 1 comment
Open

Bump version of small library #92

ligurio opened this issue Dec 13, 2021 · 1 comment
Labels
code health Improve code readability, simplify maintenance and so on

Comments

@ligurio
Copy link
Member

ligurio commented Dec 13, 2021

Now we are stick to small submodule with the latest commit made on Jan 2020:

commit 3df5050171d040bfe5717b4bddf57da3b312ffe4 (HEAD)
Author: Alexander Turenko <[email protected]>
Date:   Tue Jan 28 16:35:26 2020 +0300

    Revert "Free all slabs on region reset"

Changes added since Jan 2020: https://github.com/tarantool/small/compare/3df5050171d040bfe5717b4bddf57da3b312ffe4..master

Related to #59
Depends on #96

ligurio added a commit that referenced this issue Dec 20, 2021
Now we are stick to small submodule with the latest commit made on Jan
2020 - "Revert "Free all slabs on region reset"
(3df5050171d040bfe5717b4bddf57da3b312ffe4). Since Jan 2020 to Small were
added many changes that includes also regression bugfixes, see [1].

1. https://github.com/tarantool/small/compare/3df5050171d040bfe5717b4bddf57da3b312ffe4..055458f1d45948f7d768e2499496926dcf78b26f

Closes #92
@Totktonada Totktonada added code health Improve code readability, simplify maintenance and so on teamE labels Dec 22, 2021
ligurio added a commit that referenced this issue Feb 16, 2022
Current version of Small library made on Jan 2020 - commit "Revert "Free
all slabs on region reset" (3df5050171d040bfe5717b4bddf57da3b312ffe4).
Since Jan 2020 there were added many changes to Small library that
includes also regression bugfixes, see [1].

1. https://github.com/tarantool/small/compare/3df5050171d040bfe5717b4bddf57da3b312ffe4..055458f1d45948f7d768e2499496926dcf78b26f

Closes #92
@Totktonada
Copy link
Member

We can't just bump the library, because we'll likely break compatibility with tarantool 2.5-2.8. See #59 (comment) for details. We have the following options:

  • Wait until tarantool 2.5-2.8 will gone and forgotten (a year after 2.10.0 release at least). Update the library in the module together with a version check in the module, which will raise an error from memcached.create() on tarantool 2.5-2.8.
  • Copy small's code into the module and rename functions (and globals if any) to avoid possible name clash. It seems, we should rename everything related to mempool, region, ibuf, obuf and everything that is used inside them. Only functions from *.c files or inline functions as well? Don't know.
  • Investigate, whether -Wl,-Bsymbolic-functions allows to avoid the name clash (see Segfault if used with tarantool debug build #59 (comment)).
  • Choose symbols in runtime (dlopen() with RTLD_DEEPBIND plus dlsym()) similarly how the tarantool/smtp module do (see again Segfault if used with tarantool debug build #59 (comment)).

I like the first option, because it means just "don't do anything" :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
code health Improve code readability, simplify maintenance and so on
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants