Hi Andrey, If it is possible to resolve all mentioned issues with static code blocks, then this is definitely preferrable approach. Let's fix simple issues first and see what to do with complex ones. Notably: 1) https://issues.apache.org/jira/browse/IGNITE-6740 - this call is on a hot path, so reflection is not an option; 2) https://issues.apache.org/jira/browse/IGNITE-6736 - the only possible way to fix it is to resort to ReentrantLock instead of synchronized. But this could cause bloat and performance degradation for non-contented cases, when synchronized might be faster.
On Wed, Dec 13, 2017 at 8:18 PM, Andrey Kuznetsov <stku...@gmail.com> wrote: > Igniters, > > As [1] proposes, a couple of new modules with version-specific code should > be created. While working on issues from [2] umbrella I saw no significant > reasons to emerge separate modules; most requirements can be covered by > tiny conditional code pieces in static init blocks of existing utility > classes. > > Could someone share the ideas on the content of potential version-specific > modules? > > [1] https://issues.apache.org/jira/browse/IGNITE-6730 > [2] https://issues.apache.org/jira/browse/IGNITE-6728 > > -- > Best regards, > Andrey Kuznetsov. >