[jira] [Assigned] (IGNITE-13051) Optimized affinity switch on baseline node left is broken for client topology and MVCC
[ https://issues.apache.org/jira/browse/IGNITE-13051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Maksim Timonin reassigned IGNITE-13051: --- Assignee: Maksim Timonin > Optimized affinity switch on baseline node left is broken for client topology > and MVCC > -- > > Key: IGNITE-13051 > URL: https://issues.apache.org/jira/browse/IGNITE-13051 > Project: Ignite > Issue Type: Bug >Reporter: Alexey Scherbakov >Assignee: Maksim Timonin >Priority: Critical > Fix For: 2.9 > > > If a node contains only client cache topology with MVCC enabled, PME will > hang after changes introduced in IGNITE-12617. > Reproduced by > CachePartitionLossWithRestartsTest.testPartitionLossDetectionOnClientTopology[0 > false false -1] and enabled MVCC. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-13066) Test framework must print which tests for quite mode
[ https://issues.apache.org/jira/browse/IGNITE-13066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17115803#comment-17115803 ] Aleksey Plekhanov commented on IGNITE-13066: [~mmuzaf], the patch looks good to me, but there is ticket IGNITE-12934 which does almost the same + teamcity integration. > Test framework must print which tests for quite mode > > > Key: IGNITE-13066 > URL: https://issues.apache.org/jira/browse/IGNITE-13066 > Project: Ignite > Issue Type: Task >Reporter: Maxim Muzafarov >Assignee: Maxim Muzafarov >Priority: Major > Time Spent: 10m > Remaining Estimate: 0h > > For most of the TeamCity test suites logger is turned off for performance > reasons (log size can be more than a thousand MB). In case of exceptions > happened it's hard to identify which of running tests fail. > It is necessary to log which tests are started regardless of the logger > configured or not. > Example: > {code:java} > info(">>> Starting test: " + testDescription() + " <<<"); {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-13057) Do not print /tmp path if pds file is not stored in tmp folder.
[ https://issues.apache.org/jira/browse/IGNITE-13057?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17115805#comment-17115805 ] Ignite TC Bot commented on IGNITE-13057: {panel:title=Branch: [pull/7833/head] Base: [master] : No blockers found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel} [TeamCity *--> Run :: All* Results|https://ci.ignite.apache.org/viewLog.html?buildId=5329097&buildTypeId=IgniteTests24Java8_RunAll] > Do not print /tmp path if pds file is not stored in tmp folder. > --- > > Key: IGNITE-13057 > URL: https://issues.apache.org/jira/browse/IGNITE-13057 > Project: Ignite > Issue Type: Improvement >Reporter: Semyon Danilov >Assignee: Semyon Danilov >Priority: Major > Time Spent: 10m > Remaining Estimate: 0h > > Temporary folder for pds warning can be printed even if pds is not located > there -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-13066) Test framework must print which tests for quite mode
[ https://issues.apache.org/jira/browse/IGNITE-13066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17115859#comment-17115859 ] Maxim Muzafarov commented on IGNITE-13066: -- [~ilyak] Hello, can we proceed with this change? > Test framework must print which tests for quite mode > > > Key: IGNITE-13066 > URL: https://issues.apache.org/jira/browse/IGNITE-13066 > Project: Ignite > Issue Type: Task >Reporter: Maxim Muzafarov >Assignee: Maxim Muzafarov >Priority: Major > Time Spent: 10m > Remaining Estimate: 0h > > For most of the TeamCity test suites logger is turned off for performance > reasons (log size can be more than a thousand MB). In case of exceptions > happened it's hard to identify which of running tests fail. > It is necessary to log which tests are started regardless of the logger > configured or not. > Example: > {code:java} > info(">>> Starting test: " + testDescription() + " <<<"); {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13068) SQL: use cache.localSize instead of index scan to calculate row count statistic
Taras Ledkov created IGNITE-13068: - Summary: SQL: use cache.localSize instead of index scan to calculate row count statistic Key: IGNITE-13068 URL: https://issues.apache.org/jira/browse/IGNITE-13068 Project: Ignite Issue Type: Improvement Components: sql Reporter: Taras Ledkov Assignee: Taras Ledkov Fix For: 2.9 The scan of index is slow on big data set on setup where disc i/o requires warm up. This is the reason that restarting the node can take a long time. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-12984) Distributed join incorrectly processed when batched:unicast on primary key is used
[ https://issues.apache.org/jira/browse/IGNITE-12984?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17115904#comment-17115904 ] Andrey Mashenkov commented on IGNITE-12984: --- I've found a bug on H2 side and unfortunately, we can't make correct fix on Ignite side. The only option is to disable unicast at all. This bug affects OUTER JOINs if there is a cascade of 3+ joined tables in a query. Some asserts can be broken (or wrong results can be got, if assertions are disables) in DistributedLookupBatch when results of first join contains both: rows from 1-st table that have pair on 2-nd tablem and rows that are not from 1-st table that has no pair (join wih 'null' row) and they all are interleaved. I has no idea why DistributedLookupBatch tries to make join using BFS instead of DFS algorithm for joining as DFS looks more naturally here. I've tried to fix this using DFS approach and it works fine, but as I wrote it can't be fixes in Ignite as DistributedLookupBatch is a part of H2. > Distributed join incorrectly processed when batched:unicast on primary key is > used > -- > > Key: IGNITE-12984 > URL: https://issues.apache.org/jira/browse/IGNITE-12984 > Project: Ignite > Issue Type: Bug >Affects Versions: 2.8 >Reporter: Ilya Kasnacheev >Assignee: Taras Ledkov >Priority: Major > Attachments: Issue_with_Distributed_joins.pdf, forDistributedJoins.sql > > Time Spent: 10m > Remaining Estimate: 0h > > Please see attached SQL script and userlist discussion. > Summary : > CASE-1 Results: Correct and as expected > {code} > SELECT > __Z0.ID AS __C0_0, > __Z0.NAME AS __C0_1, > __Z1.BLOOD_GROUP AS __C0_2, > __Z2.UNIVERSAL_DONOR AS __C0_3 > FROM PUBLIC.PERSON__Z0 > /* PUBLIC.PERSON_NAME_ASC_IDX_proxy */ > LEFT OUTER JOIN PUBLIC.MEDICAL_INFO __Z1 > /* batched:broadcast PUBLIC.MEDICAL_INFO_NAME_ASC_IDX: NAME = __Z0.NAME */ > ON __Z0.NAME = __Z1.NAME > LEFT OUTER JOIN PUBLIC.BLOOD_GROUP_INFO_PJ __Z2 > /* batched:broadcast PUBLIC.BLOOD_GROUP_INFO_PJ_BLOOD_GROUP_ASC_IDX: > BLOOD_GROUP = > __Z1.BLOOD_GROUP */ > ON __Z1.BLOOD_GROUP = __Z2.BLOOD_GROUP > {code} > {code} > Summary : > CASE-2 Results: In-correct > SELECT > __Z0.ID AS __C0_0, > __Z0.NAME AS __C0_1, > __Z1.BLOOD_GROUP AS __C0_2, > __Z2.UNIVERSAL_DONOR AS __C0_3 > FROM PUBLIC.PERSON __Z0 > /* PUBLIC.PERSON_ID_ASC_IDX_proxy */ > LEFT OUTER JOIN PUBLIC.MEDICAL_INFO __Z1 > /* batched:broadcast PUBLIC.MEDICAL_INFO_NAME_ASC_IDX: NAME = __Z0.NAME */ > ON __Z0.NAME = __Z1.NAME > LEFT OUTER JOIN PUBLIC.BLOOD_GROUP_INFO_P __Z2 > /* batched:unicast PUBLIC._key_PK_proxy: BLOOD_GROUP = __Z1.BLOOD_GROUP */ > ON __Z1.BLOOD_GROUP = __Z2.BLOOD_GROUP > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-13032) Fix flacky OptimizedMarshallerPooledSelfTest.
[ https://issues.apache.org/jira/browse/IGNITE-13032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17115958#comment-17115958 ] Ignite TC Bot commented on IGNITE-13032: {panel:title=Branch: [pull/7814/head] Base: [master] : No blockers found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel} [TeamCity *--> Run :: All* Results|https://ci.ignite.apache.org/viewLog.html?buildId=5318932&buildTypeId=IgniteTests24Java8_RunAll] > Fix flacky OptimizedMarshallerPooledSelfTest. > - > > Key: IGNITE-13032 > URL: https://issues.apache.org/jira/browse/IGNITE-13032 > Project: Ignite > Issue Type: Bug > Components: binary >Affects Versions: 2.7 >Reporter: Andrey Mashenkov >Assignee: Andrey Mashenkov >Priority: Major > Fix For: 2.9 > > Time Spent: 10m > Remaining Estimate: 0h > > There are two flaky tests in the test case: > {{OptimizedMarshallerPooledSelfTest#testEvents}} and > {{OptimizedMarshallerPooledSelfTest#testServices}}. The tests timeout, the > reason is the following assertion: > {noformat} > [00:39:14]W: [org.gridgain:ignite-core] java.lang.AssertionError > [00:39:14]W: [org.gridgain:ignite-core] at > org.apache.ignite.internal.marshaller.optimized.OptimizedObjectStreamRegistry.closeOut(OptimizedObjectStreamRegistry.java:120) > [00:39:14]W: [org.gridgain:ignite-core] at > org.apache.ignite.internal.marshaller.optimized.OptimizedMarshaller.marshal0(OptimizedMarshaller.java:209) > [00:39:14]W: [org.gridgain:ignite-core] at > org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.marshal(AbstractNodeNameAwareMarshaller.java:56) > [00:39:14]W: [org.gridgain:ignite-core] at > org.apache.ignite.internal.util.IgniteUtils.marshal(IgniteUtils.java:10658) > [00:39:14]W: [org.gridgain:ignite-core] at > org.apache.ignite.internal.util.IgniteUtils.marshal(IgniteUtils.java:10722) > [00:39:14]W: [org.gridgain:ignite-core] at > org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsFullMessage.partitionSizes(GridDhtPartitionsFullMessage.java:360) > [00:39:14]W: [org.gridgain:ignite-core] at > org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.createPartitionsFullMessage(GridCachePartitionExchangeManager.java:1543) > [00:39:14]W: [org.gridgain:ignite-core] at > org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.createPartitionsFullMessage(GridCachePartitionExchangeManager.java:1442) > [00:39:14]W: [org.gridgain:ignite-core] at > org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.createPartitionsMessage(GridDhtPartitionsExchangeFuture.java:2116){noformat} > Looks like the assertion fails because we attempt to return a stream to the > pool which does not belong to it. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-12823) .NET: Service method with user type array parameter can't be found
[ https://issues.apache.org/jira/browse/IGNITE-12823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17115961#comment-17115961 ] Alexey Goncharuk commented on IGNITE-12823: --- [~zzzadruga] can you please describe the rationale behind this change? Why exactly are the changes in BinaryMarshaller needed to fix platform interoperability? Is this change backward-compatible (for example, if a user persists marshalled data in a 3-rd party database, will they be able to deserialize the old data after the fix is released?) > .NET: Service method with user type array parameter can't be found > -- > > Key: IGNITE-12823 > URL: https://issues.apache.org/jira/browse/IGNITE-12823 > Project: Ignite > Issue Type: Bug > Components: platforms >Reporter: Alexey Kukushkin >Assignee: Nikolai Kulagin >Priority: Major > Labels: .NET, sbcf > Attachments: ignite-12823-vs-2.8.patch > > Time Spent: 10m > Remaining Estimate: 0h > > *+Setup+* > * Ignite Java service with a method having an array of user types as a > parameters, for example, caclulate(Parameter[] params) > *+Actions+* > * .NET client calls the Ignite Java service, for example, > ignite.GetServices().GetServiceProxy().calculate(new[] \{new > Parameter()}); > *+Expected+* > * The service method is called > *+Actual+* > * Exception "Could not find proxy method 'calculate' in class ICalculator" > *+Workaround+* > * Replace array of user types with array of objects in the service methods > signatures, for example, caclulate(Object[] params) -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13069) Rewrite creation of IgniteInClosure and IgniteOutClosure as lambda expression
Nikolay Izhikov created IGNITE-13069: Summary: Rewrite creation of IgniteInClosure and IgniteOutClosure as lambda expression Key: IGNITE-13069 URL: https://issues.apache.org/jira/browse/IGNITE-13069 Project: Ignite Issue Type: New Feature Affects Versions: 2.8 Reporter: Nikolay Izhikov We can use lambda expression instead of direct instantiation of IgniteInClosure, IgniteOutClosure. This: {code:java} state = new DirectMessageState<>(StateItem.class, new IgniteOutClosure() { @Override public StateItem apply() { return new StateItem(msgFactory, protoVer); } }); {code} Can be replaced with: {code:java} state = new DirectMessageState<>(StateItem.class, () -> new StateItem(msgFactory, protoVer)); {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (IGNITE-13069) Rewrite creation of IgniteInClosure and IgniteOutClosure as lambda expression
[ https://issues.apache.org/jira/browse/IGNITE-13069?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Nikolay Izhikov updated IGNITE-13069: - Labels: newbie (was: ) > Rewrite creation of IgniteInClosure and IgniteOutClosure as lambda expression > - > > Key: IGNITE-13069 > URL: https://issues.apache.org/jira/browse/IGNITE-13069 > Project: Ignite > Issue Type: New Feature >Affects Versions: 2.8 >Reporter: Nikolay Izhikov >Priority: Trivial > Labels: newbie > > We can use lambda expression instead of direct instantiation of > IgniteInClosure, IgniteOutClosure. > This: > {code:java} > state = new DirectMessageState<>(StateItem.class, new > IgniteOutClosure() { > @Override public StateItem apply() { > return new StateItem(msgFactory, protoVer); > } > }); > {code} > Can be replaced with: > {code:java} > state = new DirectMessageState<>(StateItem.class, () -> new > StateItem(msgFactory, protoVer)); > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-12823) .NET: Service method with user type array parameter can't be found
[ https://issues.apache.org/jira/browse/IGNITE-12823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17115994#comment-17115994 ] Pavel Tupitsyn commented on IGNITE-12823: - [~zzzadruga] In my understanding, we don't need to change сore serialization logic to fix this issue. The problem boils down to this: in PlatformServices.invoke all arrays are Object[], but service method may have a different array type T[]. All we have to do is convert the array on the go. I've made a quick POC that makes the tests pass, replace org.apache.ignite.internal.processors.platform.services.PlatformServices.ServiceProxyHolder#invoke with the following: {code} public Object invoke(String mthdName, boolean srvKeepBinary, Object[] args) throws IgniteCheckedException, NoSuchMethodException { if (proxy instanceof PlatformService) return ((PlatformService)proxy).invokeMethod(mthdName, srvKeepBinary, args); else { assert proxy instanceof GridServiceProxy; // Deserialize arguments for Java service when not in binary mode if (!srvKeepBinary) args = PlatformUtils.unwrapBinariesInArray(args); Method mtd = getMethod(serviceClass, mthdName, args); for (int i = 0; i < args.length; i++) { Object arg = args[i]; if (arg instanceof Object[]) { Class parameterType = mtd.getParameterTypes()[i]; if (parameterType.isArray() && parameterType != Object[].class) { Object[] arr = (Object[])arg; Object newArg = Array.newInstance(parameterType.getComponentType(), arr.length); for (int j = 0; j < arr.length; j++) Array.set(newArg, j, arr[j]); args[i] = newArg; } } } try { return ((GridServiceProxy)proxy).invokeMethod(mtd, args); } catch (Throwable t) { throw IgniteUtils.cast(t); } } } {code} > .NET: Service method with user type array parameter can't be found > -- > > Key: IGNITE-12823 > URL: https://issues.apache.org/jira/browse/IGNITE-12823 > Project: Ignite > Issue Type: Bug > Components: platforms >Reporter: Alexey Kukushkin >Assignee: Nikolai Kulagin >Priority: Major > Labels: .NET, sbcf > Attachments: ignite-12823-vs-2.8.patch > > Time Spent: 10m > Remaining Estimate: 0h > > *+Setup+* > * Ignite Java service with a method having an array of user types as a > parameters, for example, caclulate(Parameter[] params) > *+Actions+* > * .NET client calls the Ignite Java service, for example, > ignite.GetServices().GetServiceProxy().calculate(new[] \{new > Parameter()}); > *+Expected+* > * The service method is called > *+Actual+* > * Exception "Could not find proxy method 'calculate' in class ICalculator" > *+Workaround+* > * Replace array of user types with array of objects in the service methods > signatures, for example, caclulate(Object[] params) -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-10940) Supply pre-built ./configure with Apache Ignite releases
[ https://issues.apache.org/jira/browse/IGNITE-10940?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17115997#comment-17115997 ] Ilya Kasnacheev commented on IGNITE-10940: -- I don't see why you are supposed to build release bundles of Apache Ignite on anything other than Linux. Do you do that often? I think we can make this step skippable if it becomes a problem [~alex_pl] It is not customary for projects containing autotools to expose them end-user. I can't name one C or C++ project which ships no `configure' in their release bundles. The remaining dependencies is another question. [~ivandasch] I am offended by your "it's too hard for us developers, but users can do it easily" attitude. You can always discuss this on developers list, but other than that, I think this feature stays put. > Supply pre-built ./configure with Apache Ignite releases > > > Key: IGNITE-10940 > URL: https://issues.apache.org/jira/browse/IGNITE-10940 > Project: Ignite > Issue Type: Improvement > Components: build, platforms >Reporter: Ilya Kasnacheev >Assignee: Ilya Kasnacheev >Priority: Major > Labels: c++ > Fix For: 2.9 > > > Right now we have the following build steps for C++ in docs: > {code} > cd modules/platforms/cpp > libtoolize && aclocal && autoheader && automake --add-missing && autoreconf > ./configure > make > sudo make install > {code} > However, it is customary for C++ projects to ship release tarballs with first > step already done. ./configure should be pre-built and libtoolize, etc, are > already ran since you should not force user to install them, and the process > of their application is deterministic. > I suggest we add libtoolize && etc step to release builds so that user's > first step will be ./configure. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-10940) Supply pre-built ./configure with Apache Ignite releases
[ https://issues.apache.org/jira/browse/IGNITE-10940?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17115999#comment-17115999 ] Ilya Kasnacheev commented on IGNITE-10940: -- It was also definitely discussed on developers list: https://lists.apache.org/thread.html/r4865b84add6cacbe3044e0975ef8eb71226d62b4d5bb3e917385e6c5%40%3Cdev.ignite.apache.org%3E > Supply pre-built ./configure with Apache Ignite releases > > > Key: IGNITE-10940 > URL: https://issues.apache.org/jira/browse/IGNITE-10940 > Project: Ignite > Issue Type: Improvement > Components: build, platforms >Reporter: Ilya Kasnacheev >Assignee: Ilya Kasnacheev >Priority: Major > Labels: c++ > Fix For: 2.9 > > > Right now we have the following build steps for C++ in docs: > {code} > cd modules/platforms/cpp > libtoolize && aclocal && autoheader && automake --add-missing && autoreconf > ./configure > make > sudo make install > {code} > However, it is customary for C++ projects to ship release tarballs with first > step already done. ./configure should be pre-built and libtoolize, etc, are > already ran since you should not force user to install them, and the process > of their application is deterministic. > I suggest we add libtoolize && etc step to release builds so that user's > first step will be ./configure. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-10940) Supply pre-built ./configure with Apache Ignite releases
[ https://issues.apache.org/jira/browse/IGNITE-10940?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17116002#comment-17116002 ] Nikolay Izhikov commented on IGNITE-10940: -- > I don't see why you are supposed to build release bundles of Apache Ignite on > anything other than Linux If we don't support Windows(Mac OS) as a platform where Apache Ignite can be built we should discuss that on the dev-list. My understanding that Windows and Mac OS is the right choice to build some custom Ignite releases for whatever reasons users can have. > Supply pre-built ./configure with Apache Ignite releases > > > Key: IGNITE-10940 > URL: https://issues.apache.org/jira/browse/IGNITE-10940 > Project: Ignite > Issue Type: Improvement > Components: build, platforms >Reporter: Ilya Kasnacheev >Assignee: Ilya Kasnacheev >Priority: Major > Labels: c++ > Fix For: 2.9 > > > Right now we have the following build steps for C++ in docs: > {code} > cd modules/platforms/cpp > libtoolize && aclocal && autoheader && automake --add-missing && autoreconf > ./configure > make > sudo make install > {code} > However, it is customary for C++ projects to ship release tarballs with first > step already done. ./configure should be pre-built and libtoolize, etc, are > already ran since you should not force user to install them, and the process > of their application is deterministic. > I suggest we add libtoolize && etc step to release builds so that user's > first step will be ./configure. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-10940) Supply pre-built ./configure with Apache Ignite releases
[ https://issues.apache.org/jira/browse/IGNITE-10940?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17116005#comment-17116005 ] Nikolay Izhikov commented on IGNITE-10940: -- > You can always discuss this on developers list, but other than that, I think > this feature stays put. I think that broken build on Windows and Mac OS is a sufficient reason to revert this contribution and rework it. We shouldn't break builds with the minor improvements in the build procedure of C++ client. > Supply pre-built ./configure with Apache Ignite releases > > > Key: IGNITE-10940 > URL: https://issues.apache.org/jira/browse/IGNITE-10940 > Project: Ignite > Issue Type: Improvement > Components: build, platforms >Reporter: Ilya Kasnacheev >Assignee: Ilya Kasnacheev >Priority: Major > Labels: c++ > Fix For: 2.9 > > > Right now we have the following build steps for C++ in docs: > {code} > cd modules/platforms/cpp > libtoolize && aclocal && autoheader && automake --add-missing && autoreconf > ./configure > make > sudo make install > {code} > However, it is customary for C++ projects to ship release tarballs with first > step already done. ./configure should be pre-built and libtoolize, etc, are > already ran since you should not force user to install them, and the process > of their application is deterministic. > I suggest we add libtoolize && etc step to release builds so that user's > first step will be ./configure. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-12978) Cancel snapshot command
[ https://issues.apache.org/jira/browse/IGNITE-12978?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17116015#comment-17116015 ] Amelchev Nikita commented on IGNITE-12978: -- [~mmuzaf], LGTM. > Cancel snapshot command > --- > > Key: IGNITE-12978 > URL: https://issues.apache.org/jira/browse/IGNITE-12978 > Project: Ignite > Issue Type: Improvement >Reporter: Maxim Muzafarov >Assignee: Maxim Muzafarov >Priority: Major > Labels: iep-43 > Fix For: 2.9 > > Time Spent: 1h > Remaining Estimate: 0h > > Add the ability to cancel snapshot operation through JMX and command line. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Assigned] (IGNITE-13064) Set default transaction timeout to 5 minutes
[ https://issues.apache.org/jira/browse/IGNITE-13064?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Nikita Alemaskin reassigned IGNITE-13064: - Assignee: Nikita Alemaskin > Set default transaction timeout to 5 minutes > > > Key: IGNITE-13064 > URL: https://issues.apache.org/jira/browse/IGNITE-13064 > Project: Ignite > Issue Type: Improvement >Reporter: Ivan Rakov >Assignee: Nikita Alemaskin >Priority: Major > Labels: newbie > > Let's set default TX timeout to 5 minutes (right now it's 0 = no timeout). > Pros: > 1. Deadlock detection procedure is triggered on timeout. In case user will > get into key-level deadlock, he'll be able to discover root cause from the > logs (even though load will hang for a while) and skip step with googling and > debugging. > 2. Almost every system with transactions has timeout enabled by default. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-12823) .NET: Service method with user type array parameter can't be found
[ https://issues.apache.org/jira/browse/IGNITE-12823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17116044#comment-17116044 ] Nikolai Kulagin commented on IGNITE-12823: -- [~ptupitsyn], yes, but we have a problem when we start .NET services from .NET on the remote node with method parameters that have an array of user types. Local node send an array to remote node, and we cannot deserialize it, because it don't have this class on Java. But if it only unmarshal the array in Object[], we lose .NET user type. Run your POC on this test [1]. [1] https://github.com/apache/ignite/pull/7788/commits/c654e66caf130bdf9df3a99979b363ba6b80ff37#diff-c0ec0308d69151e8b10db00c15158d29R420 > .NET: Service method with user type array parameter can't be found > -- > > Key: IGNITE-12823 > URL: https://issues.apache.org/jira/browse/IGNITE-12823 > Project: Ignite > Issue Type: Bug > Components: platforms >Reporter: Alexey Kukushkin >Assignee: Nikolai Kulagin >Priority: Major > Labels: .NET, sbcf > Attachments: ignite-12823-vs-2.8.patch > > Time Spent: 10m > Remaining Estimate: 0h > > *+Setup+* > * Ignite Java service with a method having an array of user types as a > parameters, for example, caclulate(Parameter[] params) > *+Actions+* > * .NET client calls the Ignite Java service, for example, > ignite.GetServices().GetServiceProxy().calculate(new[] \{new > Parameter()}); > *+Expected+* > * The service method is called > *+Actual+* > * Exception "Could not find proxy method 'calculate' in class ICalculator" > *+Workaround+* > * Replace array of user types with array of objects in the service methods > signatures, for example, caclulate(Object[] params) -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-12823) .NET: Service method with user type array parameter can't be found
[ https://issues.apache.org/jira/browse/IGNITE-12823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17116103#comment-17116103 ] Pavel Tupitsyn commented on IGNITE-12823: - [~zzzadruga] the fix for .NET -> .NET call is similar. Here is the full POC, I've used your tests as is: https://github.com/apache/ignite/pull/7844 > .NET: Service method with user type array parameter can't be found > -- > > Key: IGNITE-12823 > URL: https://issues.apache.org/jira/browse/IGNITE-12823 > Project: Ignite > Issue Type: Bug > Components: platforms >Reporter: Alexey Kukushkin >Assignee: Nikolai Kulagin >Priority: Major > Labels: .NET, sbcf > Attachments: ignite-12823-vs-2.8.patch > > Time Spent: 10m > Remaining Estimate: 0h > > *+Setup+* > * Ignite Java service with a method having an array of user types as a > parameters, for example, caclulate(Parameter[] params) > *+Actions+* > * .NET client calls the Ignite Java service, for example, > ignite.GetServices().GetServiceProxy().calculate(new[] \{new > Parameter()}); > *+Expected+* > * The service method is called > *+Actual+* > * Exception "Could not find proxy method 'calculate' in class ICalculator" > *+Workaround+* > * Replace array of user types with array of objects in the service methods > signatures, for example, caclulate(Object[] params) -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13070) SQL regressions detection framework
Roman Kondakov created IGNITE-13070: --- Summary: SQL regressions detection framework Key: IGNITE-13070 URL: https://issues.apache.org/jira/browse/IGNITE-13070 Project: Ignite Issue Type: Test Components: sql Reporter: Roman Kondakov We need to detect SQL regressions early. We can do it by comparing the SQL query performance for different Ignite versions. This test framework should work in the following way: # It starts two Ignite clusters with different versions (current version and the previous release version). # Framework then runs randomly generated queries in both clusters and checks the execution time for each cluster. We need to port SQLSmith library from C++ to java for this step. But initially we can start with some set of hardcoded queries and postpone the SQLSmith port. Randomized queries can be added later. # All problematic queries are then reported as performance issues. In this way we can manually examine the problems. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-13023) Calcite integration. Page scan support.
[ https://issues.apache.org/jira/browse/IGNITE-13023?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17116134#comment-17116134 ] Roman Kondakov commented on IGNITE-13023: - It looks like the page scan is implemented poorly. We may skip this issue. > Calcite integration. Page scan support. > --- > > Key: IGNITE-13023 > URL: https://issues.apache.org/jira/browse/IGNITE-13023 > Project: Ignite > Issue Type: Improvement > Components: sql >Reporter: Roman Kondakov >Priority: Major > > We need to evaluate the advantage of using data page scan (see IGNITE-10798) > in Calcite engine and support it if needed. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-13022) Calcite integration. Merge index conditions for the same field.
[ https://issues.apache.org/jira/browse/IGNITE-13022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17116140#comment-17116140 ] Roman Kondakov commented on IGNITE-13022: - We also need to check that it works for {{BETWEEN}} clause. As well as it works in the presence of filters over several tables. > Calcite integration. Merge index conditions for the same field. > --- > > Key: IGNITE-13022 > URL: https://issues.apache.org/jira/browse/IGNITE-13022 > Project: Ignite > Issue Type: Improvement > Components: sql >Reporter: Roman Kondakov >Priority: Major > > Index scans should be able to merge index conditions. For example query > {code:java} > SELECT * FROM tbl WHERE a<5 AND a<10 > {code} > should be reduced to > > {code:java} > SELECT * FROM tbl WHERE a<5 > {code} > Parameters should be handled in a more tricky way: > {code:java} > SELECT * FROM tbl WHERE a {code} > can be rewritten as > {code:java} > SELECT * FROM tbl WHERE a where the expression {{MIN(?1, ?2)}} should be evaluated right before the > execution when parameters are known. > > -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-12823) .NET: Service method with user type array parameter can't be found
[ https://issues.apache.org/jira/browse/IGNITE-12823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17116157#comment-17116157 ] Nikolai Kulagin commented on IGNITE-12823: -- [~ptupitsyn], Yes, your decision is better. Unfortunately, I did not think of this. But I came up with one crazy case (maybe he is not alone) in which your decision needs to be finalized. As I understand it, do you take a ticket to yourself? {code:java} Assert.AreEqual("PlatformComputeBinarizable2", prx.TestBinarizableArray(new[] {10, 11, 12}.Select(x => new PlatformComputeBinarizable2 {Field = x}).ToArray())); public string TestBinarizableArray(object[] x) { if (x.GetType() == typeof(PlatformComputeBinarizable[])) return "PlatformComputeBinarizable"; if (x.GetType() == typeof(PlatformComputeBinarizable2[])) return "PlatformComputeBinarizable2"; return "object"; } ... Expected string length 27 but was 6. Strings differ at index 0. Expected: "PlatformComputeBinarizable2" But was: "object" {code} > .NET: Service method with user type array parameter can't be found > -- > > Key: IGNITE-12823 > URL: https://issues.apache.org/jira/browse/IGNITE-12823 > Project: Ignite > Issue Type: Bug > Components: platforms >Reporter: Alexey Kukushkin >Assignee: Nikolai Kulagin >Priority: Major > Labels: .NET, sbcf > Attachments: ignite-12823-vs-2.8.patch > > Time Spent: 10m > Remaining Estimate: 0h > > *+Setup+* > * Ignite Java service with a method having an array of user types as a > parameters, for example, caclulate(Parameter[] params) > *+Actions+* > * .NET client calls the Ignite Java service, for example, > ignite.GetServices().GetServiceProxy().calculate(new[] \{new > Parameter()}); > *+Expected+* > * The service method is called > *+Actual+* > * Exception "Could not find proxy method 'calculate' in class ICalculator" > *+Workaround+* > * Replace array of user types with array of objects in the service methods > signatures, for example, caclulate(Object[] params) -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Comment Edited] (IGNITE-12823) .NET: Service method with user type array parameter can't be found
[ https://issues.apache.org/jira/browse/IGNITE-12823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17116157#comment-17116157 ] Nikolai Kulagin edited comment on IGNITE-12823 at 5/25/20, 5:41 PM: [~ptupitsyn], Yes, your decision is better. Unfortunately, I did not think of this. But I came up with one crazy case (maybe he is not alone) in which your decision needs to be fixed. As I understand it, do you take a ticket to yourself? {code:java} Assert.AreEqual("PlatformComputeBinarizable2", prx.TestBinarizableArray(new[] {10, 11, 12}.Select(x => new PlatformComputeBinarizable2 {Field = x}).ToArray())); public string TestBinarizableArray(object[] x) { if (x.GetType() == typeof(PlatformComputeBinarizable[])) return "PlatformComputeBinarizable"; if (x.GetType() == typeof(PlatformComputeBinarizable2[])) return "PlatformComputeBinarizable2"; return "object"; } ... Expected string length 27 but was 6. Strings differ at index 0. Expected: "PlatformComputeBinarizable2" But was: "object" {code} was (Author: zzzadruga): [~ptupitsyn], Yes, your decision is better. Unfortunately, I did not think of this. But I came up with one crazy case (maybe he is not alone) in which your decision needs to be finalized. As I understand it, do you take a ticket to yourself? {code:java} Assert.AreEqual("PlatformComputeBinarizable2", prx.TestBinarizableArray(new[] {10, 11, 12}.Select(x => new PlatformComputeBinarizable2 {Field = x}).ToArray())); public string TestBinarizableArray(object[] x) { if (x.GetType() == typeof(PlatformComputeBinarizable[])) return "PlatformComputeBinarizable"; if (x.GetType() == typeof(PlatformComputeBinarizable2[])) return "PlatformComputeBinarizable2"; return "object"; } ... Expected string length 27 but was 6. Strings differ at index 0. Expected: "PlatformComputeBinarizable2" But was: "object" {code} > .NET: Service method with user type array parameter can't be found > -- > > Key: IGNITE-12823 > URL: https://issues.apache.org/jira/browse/IGNITE-12823 > Project: Ignite > Issue Type: Bug > Components: platforms >Reporter: Alexey Kukushkin >Assignee: Nikolai Kulagin >Priority: Major > Labels: .NET, sbcf > Attachments: ignite-12823-vs-2.8.patch > > Time Spent: 10m > Remaining Estimate: 0h > > *+Setup+* > * Ignite Java service with a method having an array of user types as a > parameters, for example, caclulate(Parameter[] params) > *+Actions+* > * .NET client calls the Ignite Java service, for example, > ignite.GetServices().GetServiceProxy().calculate(new[] \{new > Parameter()}); > *+Expected+* > * The service method is called > *+Actual+* > * Exception "Could not find proxy method 'calculate' in class ICalculator" > *+Workaround+* > * Replace array of user types with array of objects in the service methods > signatures, for example, caclulate(Object[] params) -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-12823) .NET: Service method with user type array parameter can't be found
[ https://issues.apache.org/jira/browse/IGNITE-12823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17116193#comment-17116193 ] Pavel Tupitsyn commented on IGNITE-12823: - [~zzzadruga] I can take the ticket and finalize the solution if you have no objections. > .NET: Service method with user type array parameter can't be found > -- > > Key: IGNITE-12823 > URL: https://issues.apache.org/jira/browse/IGNITE-12823 > Project: Ignite > Issue Type: Bug > Components: platforms >Reporter: Alexey Kukushkin >Assignee: Nikolai Kulagin >Priority: Major > Labels: .NET, sbcf > Attachments: ignite-12823-vs-2.8.patch > > Time Spent: 10m > Remaining Estimate: 0h > > *+Setup+* > * Ignite Java service with a method having an array of user types as a > parameters, for example, caclulate(Parameter[] params) > *+Actions+* > * .NET client calls the Ignite Java service, for example, > ignite.GetServices().GetServiceProxy().calculate(new[] \{new > Parameter()}); > *+Expected+* > * The service method is called > *+Actual+* > * Exception "Could not find proxy method 'calculate' in class ICalculator" > *+Workaround+* > * Replace array of user types with array of objects in the service methods > signatures, for example, caclulate(Object[] params) -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-12823) .NET: Service method with user type array parameter can't be found
[ https://issues.apache.org/jira/browse/IGNITE-12823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17116194#comment-17116194 ] Pavel Tupitsyn commented on IGNITE-12823: - [~zzzadruga] please explain the code snippet - does some test fail for you? > .NET: Service method with user type array parameter can't be found > -- > > Key: IGNITE-12823 > URL: https://issues.apache.org/jira/browse/IGNITE-12823 > Project: Ignite > Issue Type: Bug > Components: platforms >Reporter: Alexey Kukushkin >Assignee: Nikolai Kulagin >Priority: Major > Labels: .NET, sbcf > Attachments: ignite-12823-vs-2.8.patch > > Time Spent: 10m > Remaining Estimate: 0h > > *+Setup+* > * Ignite Java service with a method having an array of user types as a > parameters, for example, caclulate(Parameter[] params) > *+Actions+* > * .NET client calls the Ignite Java service, for example, > ignite.GetServices().GetServiceProxy().calculate(new[] \{new > Parameter()}); > *+Expected+* > * The service method is called > *+Actual+* > * Exception "Could not find proxy method 'calculate' in class ICalculator" > *+Workaround+* > * Replace array of user types with array of objects in the service methods > signatures, for example, caclulate(Object[] params) -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-11393) Create IgniteLinkTaglet.toString() implementation for Java9+
[ https://issues.apache.org/jira/browse/IGNITE-11393?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17116203#comment-17116203 ] Dmitry Pavlov commented on IGNITE-11393: LGTM provided that it actually generates proper javadoc under java9+. It may be tricky to check without full compilation support from Apache Ignite. > Create IgniteLinkTaglet.toString() implementation for Java9+ > > > Key: IGNITE-11393 > URL: https://issues.apache.org/jira/browse/IGNITE-11393 > Project: Ignite > Issue Type: Improvement >Reporter: Dmitry Pavlov >Assignee: Aleksey Plekhanov >Priority: Major > Time Spent: 10m > Remaining Estimate: 0h > > New implementation was added according to the new Java API for Javadoc. > But the main method kept empty, need to implement toString() to process > IgniteLink annotation -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Comment Edited] (IGNITE-12823) .NET: Service method with user type array parameter can't be found
[ https://issues.apache.org/jira/browse/IGNITE-12823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17116194#comment-17116194 ] Pavel Tupitsyn edited comment on IGNITE-12823 at 5/25/20, 8:37 PM: --- [~zzzadruga] regarding the code snippet - yes, that is the limitation of Ignite binary serializer. We have array element type id encoded as part of the array, but this information is lost when deserializing in binary mode and back. The fix from you and Alexey is closer to a proper solution, but it is still a workaround for a specific case. Ideally we should allow reading arrays as BinaryObject, so that type information is preserved. But this would be hard to do while maintaining compatibility. was (Author: ptupitsyn): [~zzzadruga] please explain the code snippet - does some test fail for you? > .NET: Service method with user type array parameter can't be found > -- > > Key: IGNITE-12823 > URL: https://issues.apache.org/jira/browse/IGNITE-12823 > Project: Ignite > Issue Type: Bug > Components: platforms >Reporter: Alexey Kukushkin >Assignee: Nikolai Kulagin >Priority: Major > Labels: .NET, sbcf > Attachments: ignite-12823-vs-2.8.patch > > Time Spent: 10m > Remaining Estimate: 0h > > *+Setup+* > * Ignite Java service with a method having an array of user types as a > parameters, for example, caclulate(Parameter[] params) > *+Actions+* > * .NET client calls the Ignite Java service, for example, > ignite.GetServices().GetServiceProxy().calculate(new[] \{new > Parameter()}); > *+Expected+* > * The service method is called > *+Actual+* > * Exception "Could not find proxy method 'calculate' in class ICalculator" > *+Workaround+* > * Replace array of user types with array of objects in the service methods > signatures, for example, caclulate(Object[] params) -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (IGNITE-5557) ODBC: Implement benchmarks
[ https://issues.apache.org/jira/browse/IGNITE-5557?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Igor Sapego updated IGNITE-5557: Priority: Minor (was: Critical) > ODBC: Implement benchmarks > -- > > Key: IGNITE-5557 > URL: https://issues.apache.org/jira/browse/IGNITE-5557 > Project: Ignite > Issue Type: Task > Components: odbc >Affects Versions: 2.0 >Reporter: Igor Sapego >Priority: Minor > > We need to implement benchmarks to find out the performance of the ODBC > driver and keep tracking it when implementing new features. -- This message was sent by Atlassian Jira (v8.3.4#803005)