@Alex Plehanov <plehanov.a...@gmail.com>,

I crossed off the step 6.3.4 (technical docs publication)
<https://cwiki.apache.org/confluence/display/IGNITE/Release+Process#ReleaseProcess-6.3.4.Publishtechnicaldocumentation>
of
the release process by adding the new docs to the website's menu. You can
find them by going to the "Resources"->"Documentation" menu item. I will be
unreachable early next week, but it feels like the 2.9 vote will pass;
thus, decided to proceed with this step.

Just in case, here is the documentation contribution and publication
process. Use it if you need to tweak anything:
https://cwiki.apache.org/confluence/display/IGNITE/How+to+Document#HowtoDocument-PublishingtotheWebsite


-
Denis


On Mon, Oct 12, 2020 at 12:57 PM Denis Magda <dma...@apache.org> wrote:

> Saikat, Alex,
>
> Based on your inputs here, it sounds like once Ignite 2.9 gets released,
> all the integrations that made their way to the extensions repo [1] will
> get stuck in limbo for some time. What I mean here:
>
>    1. While the users will be bumping up their ignite-core,
>    ignite-indexing, etc. versions to 2.9, they won't find a 2.9 artifact for
>    Kafka, Camel and other extensions
>    2. Also, the users won't find 1.0 versions of those extensions that
>    also need to be released
>
> So, it's unclear how those users are supposed to upgrade to Ignite 2.9 if
> they use any of the extensions. Is it safe to use a 2.8 version of an
> extension? Or, should we release the 1.0 versions of all the migrated
> extensions together with 2.9?
>
>
> [1] https://github.com/apache/ignite-extensions/tree/master/modules
>
>
> -
> 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?
>> >> >>>>>>>>>>>>>>>>>
>> >> >>>>>>>>>>>>>>>>
>> >> >>>>>>>>>>>>>
>> >> >>>>>>>>>>>>
>> >> >>>>>>>>>>>
>> >> >>>>>>
>> >> >>>>>
>> >> >>>
>> >> >>
>> >>
>> >>
>>
>

Reply via email to