Hi, igniters.

Recently I've discovered one fact
1. GridShmemCommunicationClient and all shmem functionality are broken
since 2.10. In master it is broken since August 2020. And nobody have
noticed it, only one thread in user list.
2. We have source code for native JNI library (that is shipped in
ignite-shmem.jar), but we never built it since 2015.
3. This code is of questionable quality, contains outdated internal gcc api
(__sync builtins, now deprecated in favour of __atomic builtins in gcc and
is not advisable to use since C++ 11). It contains a lot of autotool mess,
while just one CMakeFile.txt is enough to build the same
4. This code doesn't even compile on modern gcc (gcc 9.3.0 namely)

We have 2 options
1. If this concept is useful, we (for example I can do it) should rewrite
native part,
a. Use C++ 11 and header-only boost.interprocess [1]
b. Build it regularly with CMake and incorporate build in regular TC runs
(via maven-cmake-plugin,
see for example my numa-allocator [2]).
2. If this concept and functionality is not useful, we should remove it,
may be even in 2.12


[1] -- https://www.boost.org/doc/libs/1_77_0/doc/html/interprocess.html
[2] --
https://github.com/apache/ignite/pull/9569/files#diff-77baf2378aa83911a8c3091814db3ff60b7bf328c4ab4850f707717ed96f3d92
-- 
Sincerely yours, Ivan Daschinskiy

Reply via email to