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