maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #08869
[GSoC] MDEV-4674 Port InnoDB memcached interface to MariaDB - Merging the code
Hi again,
there are some issues which I think needs to be resolved before merging
the code.
1. Bundle libevent or not?
Memcached daemon is built with the help of libevent library. MySQL
decided to bundle this library inside its sources, in 'libevent' top
level directory. This allows to compile and run the plugin on machines
without installed system-wide libevent library.
The bundled libevent is used by default during the compilation of
plugin. Optionally, it can be specified in CMake variable to use
system-wide libevent instead.
It needs to be decided whether MariaDB should bundle libevent as well
inside its sources. Possible outcomes:
a) Leave bundled libevent as is, in the 'libevent' top level directory.
b) Move bundled libevent into the 'daemon_memcached' plugin directory,
in order to not clutter the top level directory.
c) Remove bundled libevent. After that, system libevent headers will
become compile-time dependency and system libevent shared library
runtime dependency of the plugin.
2. How to transfer InnoDB API callback array pointer to the plugin?
InnoDB Memcached interface engine needs to obtain the pointer to InnoDB
API callback array in some way. MySQL originally implemented that in
'sql/sql_plugin.cc:plugin_initialize()' in the following way:
https://github.com/piotrjurkiewicz/mariadb-server/commit/4eb8fd9c211f39669417b46197a6a6f1e8bf7ec2
As you can see, this is not a clean solution.
Possible outcomes:
a) Leave the MySQL's solution as is.
b) Figure out a better way to transfer the pointer.
3. Where should I post the documentation?
4. How should I prepare the pull request? Should I rebase my branch on
the top of current branch before that?
I looking forward for your suggestions and decisions.
Piotr
Follow ups