Hello, Igniters. I prepared a patch [1] for blocker ticket [2] - «Server node fail and stops in case wrong datatype put in indexed field» Can someone, please, help me with the review?
[1] https://github.com/apache/ignite/pull/8330 [2] https://issues.apache.org/jira/browse/IGNITE-13553 ================== I propose to include several minor tickets to the scope of the 2.9 that increase Ignite User Experience CMD tools improvements: IGNITE-13488 - Command to print metric value IGNITE-13426 - Command to print system view content IGNITE-13422 - Parameter to explicitly enable experimental commands IGNITE-13380 - Output IgniteSystemProperties via ignite.sh New system views: IGNITE-13409 Metastorage and DistributedMetastorage viewы. IGNITE-13408 BinaryMetadata view. > 9 окт. 2020 г., в 04:04, Denis Magda <dma...@apache.org> написал(а): > > @Alex Plehanov <plehanov.a...@gmail.com>, > > If it still makes sense and not too late, you can cherry-pick the commit > with the new docs into the 2.9 branch: > https://github.com/apache/ignite/commit/073488ac97517bbaad9f6b94b781fc404646f191 > > Anyway, it's not crucial as long as we agreed to make an exception for this > release. The docs were already published to the website and assembled from > the master. Once the vote passes, I'll make them visible and traceable from > the website menus. > > - > Denis > > > On Tue, Oct 6, 2020 at 7:20 AM Alexey Goncharuk <alexey.goncha...@gmail.com> > wrote: > >> Saikat, >> >> The plan sounds good to me! Do you have an idea for the timeline of the >> module releases? Let me know if I can help in any way. >> >> Also, I was looking into the modularization IEP and noticed that OSGI >> module is discussed to be moved to the extensions, but there is no >> corresponding ticket. Should I create one? I will be happy to help with >> moving this module to extensions. >> >> вт, 29 сент. 2020 г. в 03:03, Saikat Maitra <saikat.mai...@gmail.com>: >> >>> Hi Alexey, >>> >>> All the modules as planned in IEP-36 >>> >> https://cwiki.apache.org/confluence/display/IGNITE/IEP-36:+Modularization >>> are migrated to ignite-extensions repository. >>> >>> We can definitely plan to release ignite-extensions modules. >>> >>> I have a pending PR related to the kafka module and the PR is in review >>> https://github.com/apache/ignite/pull/8222 but its corresponding PR has >>> been merged in ignite-extensions repository. >>> >>> My thoughts / action items for the migration efforts and releases were >>> as follows: >>> >>> 1. Merge the changes for https://github.com/apache/ignite/pull/8222 >>> 2. Fix the upload nightly packages task for ignite-core to help fix the >>> travis build failure in ignite-extensions repository. >>> 3. Review and update the README.md files for the ignite-extensions >> modules >>> as required. >>> 4. Update the docs for ignite-extensions modules in ignite-website. >>> 5. Release each module separately and share updates. >>> >>> Please let me know if you have feedback. >>> >>> Regards, >>> Saikat >>> >>> >>> >>> >>> >>> >>> >>> >>> On Mon, Sep 28, 2020 at 7:36 AM Petr Ivanov <mr.wei...@gmail.com> wrote: >>> >>>> It seems that gitbox.apache.org is not available on CI/CD. >>>> >>>> I will try to update VCS to GitHub. >>>> >>>> >>>> >>>> >>>> >>>>> On 28 Sep 2020, at 14:07, Alex Plehanov <plehanov.a...@gmail.com> >>>> wrote: >>>>> >>>>> Guys, >>>>> >>>>> I've tried to build release candidate using TC [1]. But: >>>>> 1. I can't choose a branch in this TC task (there is no such field). >>>>> 2. On the "default" branch I got an error: Failed to collect changes, >>>>> error: List remote refs failed: >>>>> org.apache.http.conn.ConnectTimeoutException: Connect to >>>>> gitbox.apache.org:443 [gitbox.apache.org/52.202.80.70] failed: >> connect >>>>> timed out, VCS root: "GitBox [asf/ignite]" {instance id=300, parent >>>>> internal id=74, parent id=GitBoxAsfIgnite, description: " >>>>> https://gitbox.apache.org/repos/asf/ignite.git#refs/heads/master"} >>>>> >>>>> Is there some problem with this TC task? What am I doing wrong? >>>>> >>>>> [1] : >>>>> >>>> >> https://ci.ignite.apache.org/viewType.html?buildTypeId=Releases_ApacheIgniteMain_ReleaseBuild >>>>> >>>>> пн, 28 сент. 2020 г. в 13:15, Alexey Goncharuk < >>>> alexey.goncha...@gmail.com>: >>>>> >>>>>> Saikat, Nikolay, >>>>>> >>>>>> We have migrated a bunch of modules to ignite-extensions recently. >>>> Given >>>>>> that these modules will not be available in Ignite 2.9 anymore (will >>>>>> they?), should we also plan to release the extensions? >>>>>> >>>>>> ср, 23 сент. 2020 г. в 21:49, Alex Plehanov <plehanov.a...@gmail.com >>> : >>>>>> >>>>>>> Igniters, >>>>>>> >>>>>>> I've prepared release notes for the 2.9 release [1]. Can anyone >> review >>>>>> it, >>>>>>> please? >>>>>>> >>>>>>> [1]: https://github.com/apache/ignite/pull/8273 >>>>>>> >>>>>>> вт, 22 сент. 2020 г. в 09:39, Alex Plehanov < >> plehanov.a...@gmail.com >>>>> : >>>>>>> >>>>>>>> Guys, >>>>>>>> >>>>>>>> I've filled the ticket with reproducer [1] for the discovery bug. >>>> This >>>>>>> bug >>>>>>>> caused by [2] ticket. We discussed with Vladimir Steshin privately >>>> and >>>>>>>> decided to revert this ticket. I will do it today (after TC bot >> visa) >>>>>> if >>>>>>>> there are no objections. >>>>>>>> >>>>>>>> [1]: https://issues.apache.org/jira/browse/IGNITE-13465 >>>>>>>> [2]: https://issues.apache.org/jira/browse/IGNITE-13134 >>>>>>>> >>>>>>>> пн, 21 сент. 2020 г. в 11:08, Alex Plehanov < >> plehanov.a...@gmail.com >>>>> : >>>>>>>> >>>>>>>>> Guys, >>>>>>>>> >>>>>>>>> During internal testing, we've found a critical bug with >>>>>>>>> discovery (cluster falls apart if two nodes segmented >> sequentially). >>>>>>> This >>>>>>>>> problem is not reproduced in 2.8.1. I think we should fix it >>>>>>>>> before release. Under investigation now. I'll let you know when we >>>> get >>>>>>>>> something. >>>>>>>>> >>>>>>>>> чт, 17 сент. 2020 г. в 00:51, Andrey Gura <ag...@apache.org>: >>>>>>>>> >>>>>>>>>>> So what do you think? Should we proceed with a 'hacked' version >> of >>>>>>> the >>>>>>>>>> message factory in 2.9 and go for the runtime message generation >> in >>>>>>> later >>>>>>>>>> release, or keep the code clean and fix the regression in the >> next >>>>>>> releases? >>>>>>>>>>> Andrey, can you take a look at my change? I think it is fairly >>>>>>>>>> straightforward and does not change the semantics, just skips the >>>>>>> factory >>>>>>>>>> closures for certain messages. >>>>>>>>>> >>>>>>>>>> IMHO 2.5% isn't too much especially because it isn't actual for >> all >>>>>>>>>> workloads (I didn't get any significant drops during >> benchmarking). >>>>>> So >>>>>>>>>> I prefer the runtime generation in later releases. >>>>>>>>>> >>>>>>>>>> On Mon, Sep 14, 2020 at 12:41 PM Alexey Goncharuk >>>>>>>>>> <alexey.goncha...@gmail.com> wrote: >>>>>>>>>>> >>>>>>>>>>> Alexey, Andrey, Igniters, >>>>>>>>>>> >>>>>>>>>>> So what do you think? Should we proceed with a 'hacked' version >> of >>>>>>> the >>>>>>>>>> message factory in 2.9 and go for the runtime message generation >> in >>>>>>> later >>>>>>>>>> release, or keep the code clean and fix the regression in the >> next >>>>>>> releases? >>>>>>>>>>> Andrey, can you take a look at my change? I think it is fairly >>>>>>>>>> straightforward and does not change the semantics, just skips the >>>>>>> factory >>>>>>>>>> closures for certain messages. >>>>>>>>>>> >>>>>>>>>>> Personally, I would prefer fixing the regression given that we >>>> also >>>>>>>>>> introduced tracing in this release. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> пт, 11 сент. 2020 г. в 12:09, Alex Plehanov < >>>>>> plehanov.a...@gmail.com >>>>>>>> : >>>>>>>>>>>> >>>>>>>>>>>> Alexey, >>>>>>>>>>>> >>>>>>>>>>>> We've benchmarked by yardstick commits 130376741bf vs >> ed52559eb95 >>>>>>> and >>>>>>>>>> the performance of ed52559eb95 is better for about 2.5% on >> average >>>> on >>>>>>> our >>>>>>>>>> environment (about the same results we got benchmarking 65c30ec6 >> vs >>>>>>>>>> 0606f03d). We've made 24 runs for each commit of >>>>>>>>>> IgnitePutTxImplicitBenchmark (we got maximum drop for 2.9 on this >>>>>>>>>> benchmark), 200 seconds warmup, 300 seconds benchmark, 6 >> servers, 5 >>>>>>> clients >>>>>>>>>> 50 threads each. Yardstick results for this configuration: >>>>>>>>>>>> Commit 130376741bf: avg TPS=164096, avg latency=9173464 ns >>>>>>>>>>>> Commit ed52559eb95: avg TPS=168283, avg latency=8945908 ns >>>>>>>>>>>> >>>>>>>>>>>> пт, 11 сент. 2020 г. в 09:51, Artem Budnikov < >>>>>>>>>> a.budnikov.ign...@gmail.com>: >>>>>>>>>>>>> >>>>>>>>>>>>> Hi Everyone, >>>>>>>>>>>>> >>>>>>>>>>>>> I posted an instruction on how to publish the docs on >>>>>>>>>> ignite.apache.org/docs [1]. When you finish with Ignite 2.9, you >>>> can >>>>>>>>>> update the docs by following the instruction. Unfortunately, I >>>> won't >>>>>> be >>>>>>>>>> able to spend any time on this project any longer. You can send >>>> your >>>>>>> pull >>>>>>>>>> requests and questions about the documentation to Denis Magda. >>>>>>>>>>>>> >>>>>>>>>>>>> -Artem >>>>>>>>>>>>> >>>>>>>>>>>>> [1] : >>>>>>>>>> >> https://cwiki.apache.org/confluence/display/IGNITE/How+to+Document >>>>>>>>>>>>> >>>>>>>>>>>>> On Thu, Sep 10, 2020 at 2:45 PM Alexey Goncharuk < >>>>>>>>>> alexey.goncha...@gmail.com> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>> Alexey, >>>>>>>>>>>>>> >>>>>>>>>>>>>> I've tried to play with message factories locally, but >>>>>>>>>> unfortunately, I >>>>>>>>>>>>>> cannot spot the difference between old and new implementation >>>> in >>>>>>>>>>>>>> distributed benchmarks. I pushed an implementation of >>>>>>>>>> MessageFactoryImpl >>>>>>>>>>>>>> with the old switch statement to the ignite-2.9-revert-12568 >>>>>>> branch >>>>>>>>>>>>>> (discussed this with Andrey Gura, the change should be >>>>>> compatible >>>>>>>>>> with the >>>>>>>>>>>>>> new metrics as we still use the register() mechanics). >>>>>>>>>>>>>> >>>>>>>>>>>>>> Can you check if this change makes any difference >>>>>> performance-wise >>>>>>>>>> in your >>>>>>>>>>>>>> environment? If yes, we can go with runtime code generation >> in >>>>>> the >>>>>>>>>> long >>>>>>>>>>>>>> term: register classes and generate a dynamic message factory >>>>>> with >>>>>>>>>> a switch >>>>>>>>>>>>>> statement once all messages are registered (not in 2.9 >> though, >>>>>>>>>> obviously). >>>>>>>>>>>>>> >>>>>>>>>>>>>> ср, 9 сент. 2020 г. в 14:53, Alex Plehanov < >>>>>>> plehanov.a...@gmail.com >>>>>>>>>>> : >>>>>>>>>>>>>> >>>>>>>>>>>>>>> Hello guys, >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> I've tried to optimize tracing implementation (ticket [1]), >> it >>>>>>>>>> reduced the >>>>>>>>>>>>>>> drop, but not completely removed it. >>>>>>>>>>>>>>> Ivan Rakov, Alexander Lapin, can you please review the >> patch? >>>>>>>>>>>>>>> Ivan Artiukhov, can you please benchmark the patch [2] >> against >>>>>>>>>> 2.8.1 >>>>>>>>>>>>>>> release on your environment? >>>>>>>>>>>>>>> With this patch on our environment, it's about a 3% drop >> left, >>>>>>>>>> it's close >>>>>>>>>>>>>>> to measurement error and I think such a drop is not a >>>>>>>>>> showstopper. Guys, >>>>>>>>>>>>>>> WDYT? >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Also, I found that compatibility is broken for JDBC thin >>>>>> driver >>>>>>>>>> between 2.8 >>>>>>>>>>>>>>> and 2.9 versions (ticket [3]). I think it's a blocker and >>>>>> should >>>>>>>>>> be >>>>>>>>>>>>>>> fixed in 2.9. I've prepared the patch. >>>>>>>>>>>>>>> Taras Ledkov, can you please review this patch? >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> And one more ticket I propose to include into 2.9 [4] (NIO >>>>>>> message >>>>>>>>>>>>>>> send problem in some circumstances). I will cherry-pick it >> if >>>>>>>>>> there is no >>>>>>>>>>>>>>> objection. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> [1] https://issues.apache.org/jira/browse/IGNITE-13411 >>>>>>>>>>>>>>> [2] https://github.com/apache/ignite/pull/8223 >>>>>>>>>>>>>>> [3] https://issues.apache.org/jira/browse/IGNITE-13414 >>>>>>>>>>>>>>> [4] https://issues.apache.org/jira/browse/IGNITE-13361 >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> пн, 7 сент. 2020 г. в 14:14, Maxim Muzafarov < >>>>>> mmu...@apache.org >>>>>>>> : >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Alexey, >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> I propose to include [1] issue to the 2.9 release. Since >>>>>> this >>>>>>>>>> issue is >>>>>>>>>>>>>>>> related to the new master key change functionality which >>>>>>>>>> haven't been >>>>>>>>>>>>>>>> released yet I think it will be safe to cherry-pick commit >>>>>> to >>>>>>>>>> the >>>>>>>>>>>>>>>> release branch. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> [1] https://issues.apache.org/jira/browse/IGNITE-13390 >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On Tue, 1 Sep 2020 at 12:13, Nikolay Izhikov < >>>>>>>>>> nizhi...@apache.org> >>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Hello, Igniters. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Alexey, please, include one more Python thin client fix >>>>>> [1] >>>>>>>>>> into the >>>>>>>>>>>>>>> 2.9 >>>>>>>>>>>>>>>> release >>>>>>>>>>>>>>>>> It fixes kinda major issue - "Python client returns fields >>>>>>> in >>>>>>>>>> wrong >>>>>>>>>>>>>>>> order since the 2 row when fields_count>10" >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> [1] https://issues.apache.org/jira/browse/IGNITE-12809 >>>>>>>>>>>>>>>>> [2] >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>> >>>>>>> >>>>>> >>>> >> https://github.com/apache/ignite/commit/38025ee4167f05eaa2d6a2c5c2ab70c83a462cfc >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> 31 авг. 2020 г., в 19:23, Alexey Goncharuk < >>>>>>>>>>>>>>> alexey.goncha...@gmail.com> >>>>>>>>>>>>>>>> написал(а): >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Alexey, thanks, got it. I am not sure we can optimize >>>>>>>>>> anything out of >>>>>>>>>>>>>>>> the >>>>>>>>>>>>>>>>>> message factory with suppliers (at least I have no ideas >>>>>>>>>> right now), >>>>>>>>>>>>>>> so >>>>>>>>>>>>>>>>>> most likely the only move here is to switch back to the >>>>>>>>>> switch >>>>>>>>>>>>>>> approach >>>>>>>>>>>>>>>>>> somehow preserving the metrics part. Probably, inlining >>>>>>> the >>>>>>>>>> Ignite >>>>>>>>>>>>>>>> messages >>>>>>>>>>>>>>>>>> to the IgniteMessageFactoryImpl should do the trick. Let >>>>>>> me >>>>>>>>>> explore >>>>>>>>>>>>>>> the >>>>>>>>>>>>>>>>>> code a bit. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> P.S. I am surprised by the impact this part makes for >>>>>> the >>>>>>>>>>>>>>> performance. >>>>>>>>>>>>>>>>>> Message creation is indeed on the hot path, but a single >>>>>>>>>> virtual call >>>>>>>>>>>>>>>>>> should not make that much of a difference given the >>>>>> amount >>>>>>>>>> of other >>>>>>>>>>>>>>>> work >>>>>>>>>>>>>>>>>> happening during the message processing. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> пн, 31 авг. 2020 г. в 18:33, Alex Plehanov < >>>>>>>>>> plehanov.a...@gmail.com >>>>>>>>>>>>>>>> : >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Alexey, sorry, I wrongly interpreted our benchmark >>>>>>> results. >>>>>>>>>>>>>>> Actually, >>>>>>>>>>>>>>>> we >>>>>>>>>>>>>>>>>>> were looking for a drop using bi-sect in the range >>>>>>> between >>>>>>>>>> e6a7f93 >>>>>>>>>>>>>>>> (first >>>>>>>>>>>>>>>>>>> commit in the 2.9 branch after 2.8 branch cut) and >>>>>>>>>> 6592dfa5 (last >>>>>>>>>>>>>>>> commit in >>>>>>>>>>>>>>>>>>> the 2.9 branch). And we found these two problematic >>>>>>>>>> commits. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Perhaps only IGNITE-13060 (Tracing) is responsible for >>>>>> a >>>>>>>>>> drop >>>>>>>>>>>>>>> between >>>>>>>>>>>>>>>>>>> 2.8.1 and 2.9 (we have benchmarked 2.8.1 vs 2.9 with >>>>>>>>>> reverted >>>>>>>>>>>>>>>> IGNITE-13060 >>>>>>>>>>>>>>>>>>> now and performance looks the same) >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Ticket IGNITE-12568 (MessageFactory refactoring) is not >>>>>>>>>> related to >>>>>>>>>>>>>>>> drop >>>>>>>>>>>>>>>>>>> between 2.8.1 and 2.9, but still has some performance >>>>>>>>>> problem, and >>>>>>>>>>>>>>> we >>>>>>>>>>>>>>>> can >>>>>>>>>>>>>>>>>>> win back IGNITE-13060 drop by this ticket. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Do we need more investigation on IGNITE-13060 or we >>>>>> leave >>>>>>>>>> it as is? >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> What should we do with IGNITE-12568 (MessageFactory >>>>>>>>>> refactoring)? >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> пн, 31 авг. 2020 г. в 13:25, Alexey Goncharuk < >>>>>>>>>>>>>>>> alexey.goncha...@gmail.com >>>>>>>>>>>>>>>>>>>> : >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Alexey, >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> While investigating, I found that IGNITE-12568 has an >>>>>>>>>> incorrect fix >>>>>>>>>>>>>>>>>>>> version and is actually present in ignite-2.8.1 branch >>>>>>>>>> [1], so it >>>>>>>>>>>>>>>> cannot be >>>>>>>>>>>>>>>>>>>> the source of the drop against 2.8.1. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> P.S. Looks like we need to enforce a more accurate >>>>>> work >>>>>>>>>> with fix >>>>>>>>>>>>>>>> versions >>>>>>>>>>>>>>>>>>>> or develop some sort of tooling to verify the fix >>>>>>>>>> versions. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> --AG >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> [1] >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>> >>>>>>> >>>>>> >>>> >> https://github.com/apache/ignite/commit/3e492bd23851856bbd0385c6a419892d0bba2a34 >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> пн, 31 авг. 2020 г. в 12:42, Alexey Goncharuk < >>>>>>>>>>>>>>>> alexey.goncha...@gmail.com >>>>>>>>>>>>>>>>>>>>> : >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> пт, 28 авг. 2020 г. в 11:16, Alex Plehanov < >>>>>>>>>>>>>>> plehanov.a...@gmail.com >>>>>>>>>>>>>>>>> : >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> Guys, >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> We have benchmarked 2.9 without IGNITE-13060 and >>>>>>>>>> IGNITE-12568 >>>>>>>>>>>>>>>> (reverted >>>>>>>>>>>>>>>>>>>>>> it >>>>>>>>>>>>>>>>>>>>>> locally) and got the same performance as on 2.8.1 >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> IGNITE-13060 (Tracing) - some code was added to hot >>>>>>>>>> paths, to >>>>>>>>>>>>>>> trace >>>>>>>>>>>>>>>>>>>>>> these >>>>>>>>>>>>>>>>>>>>>> hot paths, it's clear why we have performance drop >>>>>>> here. >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> IGNITE-12568 (MessageFactory refactoring) - >>>>>>> switch/case >>>>>>>>>> block was >>>>>>>>>>>>>>>>>>>>>> refactored to an array of message suppliers. The >>>>>>>>>> message factory >>>>>>>>>>>>>>>> is on >>>>>>>>>>>>>>>>>>>>>> the >>>>>>>>>>>>>>>>>>>>>> hot path, which explains why this commit has an >>>>>> impact >>>>>>>>>> on total >>>>>>>>>>>>>>>>>>>>>> performance. >>>>>>>>>>>>>>>>>>>>>> I've checked JIT assembly output, done some JMH >>>>>>>>>> microbenchmarks, >>>>>>>>>>>>>>>> and >>>>>>>>>>>>>>>>>>>>>> found >>>>>>>>>>>>>>>>>>>>>> that old implementation of MessageFactory.create() >>>>>>>>>> about 30-35% >>>>>>>>>>>>>>>> faster >>>>>>>>>>>>>>>>>>>>>> than >>>>>>>>>>>>>>>>>>>>>> the new one. The reason - approach with switch/case >>>>>>> can >>>>>>>>>>>>>>> effectively >>>>>>>>>>>>>>>>>>>>>> inline >>>>>>>>>>>>>>>>>>>>>> message creation code, but with an array of >>>>>> suppliers >>>>>>>>>> relatively >>>>>>>>>>>>>>>> heavy >>>>>>>>>>>>>>>>>>>>>> "invokeinterface" cannot be skipped. I've tried to >>>>>>>>>> rewrite the >>>>>>>>>>>>>>> code >>>>>>>>>>>>>>>>>>>>>> using >>>>>>>>>>>>>>>>>>>>>> an abstract class for suppliers instead of an >>>>>>> interface >>>>>>>>>> (to >>>>>>>>>>>>>>>>>>>>>> replace "invokeinterface" with the "invokevirtual"), >>>>>>>>>> but it gives >>>>>>>>>>>>>>>> back >>>>>>>>>>>>>>>>>>>>>> only >>>>>>>>>>>>>>>>>>>>>> 10% of method performance and in this case, code >>>>>> looks >>>>>>>>>> ugly >>>>>>>>>>>>>>>> (lambdas >>>>>>>>>>>>>>>>>>>>>> can't >>>>>>>>>>>>>>>>>>>>>> be used). Currently, I can't find any more ways to >>>>>>>>>> optimize the >>>>>>>>>>>>>>>> current >>>>>>>>>>>>>>>>>>>>>> approach (except return to the switch/case block). >>>>>>>>>> Andrey Gura, >>>>>>>>>>>>>>> as >>>>>>>>>>>>>>>> the >>>>>>>>>>>>>>>>>>>>>> author of IGNITE-12568, maybe you have some ideas >>>>>>> about >>>>>>>>>>>>>>>> optimization? >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> Perhaps we should revert IGNITE-12568, but there are >>>>>>>>>> some metrics >>>>>>>>>>>>>>>>>>>>>> already >>>>>>>>>>>>>>>>>>>>>> created, which can't be rewritten using old message >>>>>>>>>> factory >>>>>>>>>>>>>>>>>>>>>> implementation >>>>>>>>>>>>>>>>>>>>>> (IGNITE-12756). Guys, WDYT? >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> Alexey, >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> I see that IGNITE-12756 (metrics improvements) is >>>>>>>>>> already released >>>>>>>>>>>>>>>> in >>>>>>>>>>>>>>>>>>>>> Ignite 2.8.1 while IGNITE-12568 (message factory) is >>>>>>>>>> only present >>>>>>>>>>>>>>>> in Ignite >>>>>>>>>>>>>>>>>>>>> 2.9. Let's revert both IGNITE-12568 and whichever new >>>>>>>>>> metrics >>>>>>>>>>>>>>>> created for >>>>>>>>>>>>>>>>>>>>> 2.9 that depend on the new message factory to unblock >>>>>>>>>> the release >>>>>>>>>>>>>>>> and deal >>>>>>>>>>>>>>>>>>>>> with the optimizations in 2.10? >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>> >>>>>> >>>> >>>> >>