[jira] [Resolved] (IGNITE-8407) Wrong memory size printing in IgniteCacheDatabaseSnaredManager

2019-01-20 Thread Andrey Kalinin (JIRA)


 [ 
https://issues.apache.org/jira/browse/IGNITE-8407?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrey Kalinin resolved IGNITE-8407.

Resolution: Duplicate

> Wrong memory size printing in IgniteCacheDatabaseSnaredManager
> --
>
> Key: IGNITE-8407
> URL: https://issues.apache.org/jira/browse/IGNITE-8407
> Project: Ignite
>  Issue Type: Bug
>  Components: general
>Affects Versions: 2.4
>Reporter: Alexander Belyak
>Priority: Trivial
>
> In checkDataRegionSize regCfg printing in "si" format (based on 1000, not 
> 1024). Need to fix it and any other usages of getInitialSize()/getMaxSize()) 
> with U.readableSize(*, true) 
> {noformat}
> throw new IgniteCheckedException("DataRegion must have size more than 10MB 
> (use " +
> "DataRegionConfiguration.initialSize and .maxSize properties 
> to set correct size in bytes) " +
> "[name=" + regCfg.getName() + ", initialSize=" + 
> U.readableSize(regCfg.getInitialSize(), true) +
> ", maxSize=" + U.readableSize(regCfg.getMaxSize(), true) + "]"
> {noformat}
> should be replaced with
> {noformat}
> throw new IgniteCheckedException("DataRegion must have size more than 10MB 
> (use " +
> "DataRegionConfiguration.initialSize and .maxSize properties 
> to set correct size in bytes) " +
> "[name=" + regCfg.getName() + ", initialSize=" + 
> U.readableSize(regCfg.getInitialSize(), false) +
> ", maxSize=" + U.readableSize(regCfg.getMaxSize(), false) + 
> "]"
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-8407) Wrong memory size printing in IgniteCacheDatabaseSnaredManager

2019-01-20 Thread Andrey Kalinin (JIRA)


 [ 
https://issues.apache.org/jira/browse/IGNITE-8407?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrey Kalinin closed IGNITE-8407.
--

> Wrong memory size printing in IgniteCacheDatabaseSnaredManager
> --
>
> Key: IGNITE-8407
> URL: https://issues.apache.org/jira/browse/IGNITE-8407
> Project: Ignite
>  Issue Type: Bug
>  Components: general
>Affects Versions: 2.4
>Reporter: Alexander Belyak
>Priority: Trivial
>
> In checkDataRegionSize regCfg printing in "si" format (based on 1000, not 
> 1024). Need to fix it and any other usages of getInitialSize()/getMaxSize()) 
> with U.readableSize(*, true) 
> {noformat}
> throw new IgniteCheckedException("DataRegion must have size more than 10MB 
> (use " +
> "DataRegionConfiguration.initialSize and .maxSize properties 
> to set correct size in bytes) " +
> "[name=" + regCfg.getName() + ", initialSize=" + 
> U.readableSize(regCfg.getInitialSize(), true) +
> ", maxSize=" + U.readableSize(regCfg.getMaxSize(), true) + "]"
> {noformat}
> should be replaced with
> {noformat}
> throw new IgniteCheckedException("DataRegion must have size more than 10MB 
> (use " +
> "DataRegionConfiguration.initialSize and .maxSize properties 
> to set correct size in bytes) " +
> "[name=" + regCfg.getName() + ", initialSize=" + 
> U.readableSize(regCfg.getInitialSize(), false) +
> ", maxSize=" + U.readableSize(regCfg.getMaxSize(), false) + 
> "]"
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (IGNITE-10877) GridAffinityAssignment.initPrimaryBackupMaps memory pressure

2019-01-20 Thread Pavel Voronkin (JIRA)


[ 
https://issues.apache.org/jira/browse/IGNITE-10877?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16747703#comment-16747703
 ] 

Pavel Voronkin edited comment on IGNITE-10877 at 1/21/19 6:59 AM:
--

I don't think it breaks compatibilty, cause we have ignite property to rollback 
to original behaviour for mixed envs.

Moveover GridAffinityAssignment serialization is broken right now. See 
IGNITE-10925, we need to fix all issues there.

 


was (Author: voropava):
I don't think it breaks compatibilty, cause we have ignite property to rollback 
to original behaviour for mixed envs.

Moveover GridAffinityAssignment serialization is broken right now. See 
IGNITE-10925, we need to fix issue there.

 

> GridAffinityAssignment.initPrimaryBackupMaps memory pressure
> 
>
> Key: IGNITE-10877
> URL: https://issues.apache.org/jira/browse/IGNITE-10877
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Pavel Voronkin
>Assignee: Pavel Voronkin
>Priority: Major
> Fix For: 2.8
>
> Attachments: grid.srv.node.1.0-29.12.2018-12.50.15.jfr, 
> image-2019-01-17-12-58-07-382.png, image-2019-01-17-12-59-52-137.png, 
> image-2019-01-17-15-45-49-561.png, image-2019-01-17-15-45-53-043.png, 
> image-2019-01-17-15-46-32-872.png, image-2019-01-18-11-36-57-451.png, 
> image-2019-01-18-11-38-39-410.png, image-2019-01-18-11-55-39-496.png, 
> image-2019-01-18-11-56-10-339.png, image-2019-01-18-11-56-18-040.png, 
> image-2019-01-18-12-09-04-835.png, image-2019-01-18-12-09-32-876.png
>
>  Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> 1) While running tests with JFR we observe huge memory allocation pressure 
> produced by:
> *Stack Trace TLABs Total TLAB Size(bytes) Pressure(%)*
> java.util.HashMap.newNode(int, Object, Object, HashMap$Node) 481 298 044 784 
> 100
>  java.util.HashMap.putVal(int, Object, Object, boolean, boolean) 481 298 044 
> 784 100
>  java.util.HashMap.put(Object, Object) 481 298 044 784 100
>  java.util.HashSet.add(Object) 480 297 221 040 99,724
>  
> org.apache.ignite.internal.processors.affinity.GridAffinityAssignment.initPrimaryBackupMaps()
>  1 823 744 0,276
> org.apache.ignite.internal.processors.affinity.GridAffinityAssignment.(AffinityTopologyVersion,
>  List, List) 1 823 744 0,276
> *Allocation stats*
> Class Average Object Size(bytes) Total Object Size(bytes) TLABs Average TLAB 
> Size(bytes) Total TLAB Size(bytes) Pressure(%)
>  java.util.HashMap$Node 32 15 392 481 619 635,726 298 044 784 32,876
>  java.lang.Object[] 1 470,115 461 616 314 655 019,236 205 676 040 22,687
>  java.util.HashMap$Node[] 41 268,617 6 149 024 149 690 046,067 102 816 864 
> 11,341
>  java.lang.Integer 16 1 456 91 662 911,385 60 324 936 6,654
>  java.util.ArrayList 24 1 608 67 703 389,97 47 127 128 5,198
> 2) Also another hot place found
> Stack Trace TLABs Total TLAB Size(bytes) Pressure(%)
>  java.util.ArrayList.grow(int) 7 5 766 448 9,554
>  java.util.ArrayList.ensureExplicitCapacity(int) 7 5 766 448 9,554
>  java.util.ArrayList.ensureCapacityInternal(int) 7 5 766 448 9,554
>  java.util.ArrayList.add(Object) 7 5 766 448 9,554
>  
> org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtPartitionTopologyImpl.nodes(int,
>  AffinityTopologyVersion, GridDhtPartitionState, GridDhtPartitionState[]) 7 5 
> 766 448 9,554
> The reason of that is defail
> I think we need to improve memory efficiency by switching from from Sets to 
> BitSets
>  
> JFR attached, see Allocations in 12:50:28 - 12:50:29
>  
>  
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-10877) GridAffinityAssignment.initPrimaryBackupMaps memory pressure

2019-01-20 Thread Pavel Voronkin (JIRA)


[ 
https://issues.apache.org/jira/browse/IGNITE-10877?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16747703#comment-16747703
 ] 

Pavel Voronkin commented on IGNITE-10877:
-

I don't think it breaks compatibilty, cause we have ignite property to rollback 
to original behaviour for mixed envs.

Moveover GridAffinityAssignment serialization is broken right now. See 
IGNITE-10925, we need to fix issue there.

 

> GridAffinityAssignment.initPrimaryBackupMaps memory pressure
> 
>
> Key: IGNITE-10877
> URL: https://issues.apache.org/jira/browse/IGNITE-10877
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Pavel Voronkin
>Assignee: Pavel Voronkin
>Priority: Major
> Fix For: 2.8
>
> Attachments: grid.srv.node.1.0-29.12.2018-12.50.15.jfr, 
> image-2019-01-17-12-58-07-382.png, image-2019-01-17-12-59-52-137.png, 
> image-2019-01-17-15-45-49-561.png, image-2019-01-17-15-45-53-043.png, 
> image-2019-01-17-15-46-32-872.png, image-2019-01-18-11-36-57-451.png, 
> image-2019-01-18-11-38-39-410.png, image-2019-01-18-11-55-39-496.png, 
> image-2019-01-18-11-56-10-339.png, image-2019-01-18-11-56-18-040.png, 
> image-2019-01-18-12-09-04-835.png, image-2019-01-18-12-09-32-876.png
>
>  Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> 1) While running tests with JFR we observe huge memory allocation pressure 
> produced by:
> *Stack Trace TLABs Total TLAB Size(bytes) Pressure(%)*
> java.util.HashMap.newNode(int, Object, Object, HashMap$Node) 481 298 044 784 
> 100
>  java.util.HashMap.putVal(int, Object, Object, boolean, boolean) 481 298 044 
> 784 100
>  java.util.HashMap.put(Object, Object) 481 298 044 784 100
>  java.util.HashSet.add(Object) 480 297 221 040 99,724
>  
> org.apache.ignite.internal.processors.affinity.GridAffinityAssignment.initPrimaryBackupMaps()
>  1 823 744 0,276
> org.apache.ignite.internal.processors.affinity.GridAffinityAssignment.(AffinityTopologyVersion,
>  List, List) 1 823 744 0,276
> *Allocation stats*
> Class Average Object Size(bytes) Total Object Size(bytes) TLABs Average TLAB 
> Size(bytes) Total TLAB Size(bytes) Pressure(%)
>  java.util.HashMap$Node 32 15 392 481 619 635,726 298 044 784 32,876
>  java.lang.Object[] 1 470,115 461 616 314 655 019,236 205 676 040 22,687
>  java.util.HashMap$Node[] 41 268,617 6 149 024 149 690 046,067 102 816 864 
> 11,341
>  java.lang.Integer 16 1 456 91 662 911,385 60 324 936 6,654
>  java.util.ArrayList 24 1 608 67 703 389,97 47 127 128 5,198
> 2) Also another hot place found
> Stack Trace TLABs Total TLAB Size(bytes) Pressure(%)
>  java.util.ArrayList.grow(int) 7 5 766 448 9,554
>  java.util.ArrayList.ensureExplicitCapacity(int) 7 5 766 448 9,554
>  java.util.ArrayList.ensureCapacityInternal(int) 7 5 766 448 9,554
>  java.util.ArrayList.add(Object) 7 5 766 448 9,554
>  
> org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtPartitionTopologyImpl.nodes(int,
>  AffinityTopologyVersion, GridDhtPartitionState, GridDhtPartitionState[]) 7 5 
> 766 448 9,554
> The reason of that is defail
> I think we need to improve memory efficiency by switching from from Sets to 
> BitSets
>  
> JFR attached, see Allocations in 12:50:28 - 12:50:29
>  
>  
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-10314) Spark dataframe will get wrong schema if user executes add/drop column DDL

2019-01-20 Thread Ray Liu (JIRA)


[ 
https://issues.apache.org/jira/browse/IGNITE-10314?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16747673#comment-16747673
 ] 

Ray Liu commented on IGNITE-10314:
--

[~NIzhikov]

Thanks for the review, I've fixed the format issue you mentioned.

And run the tests again, it's all green.

https://ci.ignite.apache.org/viewLog.html?buildId=2857575

> Spark dataframe will get wrong schema if user executes add/drop column DDL
> --
>
> Key: IGNITE-10314
> URL: https://issues.apache.org/jira/browse/IGNITE-10314
> Project: Ignite
>  Issue Type: Bug
>  Components: spark
>Affects Versions: 2.3, 2.4, 2.5, 2.6, 2.7
>Reporter: Ray Liu
>Assignee: Ray Liu
>Priority: Critical
> Fix For: 2.8
>
>  Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> When user performs add/remove column in DDL,  Spark will get the old/wrong 
> schema.
>  
> Analyse 
> Currently Spark data frame API relies on QueryEntity to construct schema, but 
> QueryEntity in QuerySchema is a local copy of the original QueryEntity, so 
> the original QueryEntity is not updated when modification happens.
>  
> Solution
> Use GridQueryTypeDescriptor to replace QueryEntity



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-10992) update Object type value of entry in EntryProcessor within transaction does not work

2019-01-20 Thread cc_2019 (JIRA)
cc_2019 created IGNITE-10992:


 Summary: update Object type value of entry in EntryProcessor 
within transaction does not work
 Key: IGNITE-10992
 URL: https://issues.apache.org/jira/browse/IGNITE-10992
 Project: Ignite
  Issue Type: Bug
Affects Versions: 2.7
Reporter: cc_2019


I have a value type as below

{color:#80}public class {color}Entity {
 String {color:#660e7a}id{color};
 String {color:#660e7a}value{color};
 Date {color:#660e7a}date{color};
}

then interact with cache as below

{color:#80}try {color}(Transaction tx =
 
ignite.transactions().txStart(TransactionConcurrency.{color:#660e7a}PESSIMISTIC{color},
 TransactionIsolation.{color:#660e7a}SERIALIZABLE{color})) {
 cache1.invoke({color:#008000}"k6"{color}, {color:#80}new 
{color}EntryProcessor() {
 {color:#808000}@Override
{color} {color:#80}public {color}Object process(MutableEntry mutableEntry, Object... objects) {color:#80}throws 
{color}EntryProcessorException {
 Entity e = mutableEntry.getValue();
    e.setId({color:#008000}"hello3"{color});
    e.setValue({color:#008000}"v3"{color});
    mutableEntry.setValue(e);
    {color:#80}return null{color};
 }
 });
    tx.commit();
}

But entry value does not change after commit.

If i code as below, entry value would change after commit.

{color:#80}try {color}(Transaction tx =
 
ignite.transactions().txStart(TransactionConcurrency.{color:#660e7a}PESSIMISTIC{color},
 TransactionIsolation.{color:#660e7a}SERIALIZABLE{color})) {
 cache1.invoke({color:#008000}"k6"{color}, {color:#80}new 
{color}EntryProcessor() {
 {color:#808000}@Override
{color} {color:#80}public {color}Object process(MutableEntry mutableEntry, Object... objects) {color:#80}throws 
{color}EntryProcessorException {
    mutableEntry.setValue({color:#808080}new Entity("test2", "a2", new 
Date()){color});
    {color:#80}return null{color};
 }
 });
    tx.commit();
}

I found that changes to entry would not take effect after commit when 
mutableEntry.getValue() called.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-10654) Report in case of creating index with already existing fields collection.

2019-01-20 Thread Stanilovsky Evgeny (JIRA)


[ 
https://issues.apache.org/jira/browse/IGNITE-10654?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16747490#comment-16747490
 ] 

Stanilovsky Evgeny commented on IGNITE-10654:
-

may be i miss something, but check already exist for predefined index :

{code:java}
private static class Key {
/** */
@QuerySqlField(index = true)
private String keyStr;
{code}


> Report in case of creating index with already existing fields collection.
> -
>
> Key: IGNITE-10654
> URL: https://issues.apache.org/jira/browse/IGNITE-10654
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Affects Versions: 2.7
>Reporter: Stanilovsky Evgeny
>Assignee: Stanilovsky Evgeny
>Priority: Major
> Fix For: 2.8
>
>
> Report in log if new index creating with already existing fields collection.
> for example, need to log warn here:
> {code:java}
> cache.query(new SqlFieldsQuery("create index \"idx1\" on Val(keyStr, 
> keyLong)"));
> cache.query(new SqlFieldsQuery("create index \"idx3\" on Val(keyStr, 
> keyLong)"));
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-10927) Relieve JUnit3TestLegacySupport from inheriting deprecated junit.framework.Assert (follow-up to IGNITE-10177)

2019-01-20 Thread Oleg Ignatenko (JIRA)


 [ 
https://issues.apache.org/jira/browse/IGNITE-10927?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Oleg Ignatenko updated IGNITE-10927:

Fix Version/s: 2.8

> Relieve JUnit3TestLegacySupport from inheriting deprecated 
> junit.framework.Assert (follow-up to IGNITE-10177)
> -
>
> Key: IGNITE-10927
> URL: https://issues.apache.org/jira/browse/IGNITE-10927
> Project: Ignite
>  Issue Type: Sub-task
>Affects Versions: 2.7
>Reporter: Oleg Ignatenko
>Assignee: Oleg Ignatenko
>Priority: Major
> Fix For: 2.8
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> {{JUnit3TestLegacySupport}} currently inherits deprecated 
> {{junit.framework.Assert}}. This was done only in order to minimize risky 
> code changes when tests were migrating from Junit 3, after 
> {{GridAbstractTest}} has dropped inheriting {{junit.framework.TestCase}}.
> Now that migration is over it is less risky to cleanup project from 
> deprecated assert methods and drop the harmful inheritance. In order to make 
> this smoother and minimize amount of test changes, after inheritance is 
> dropped, {{JUnit3TestLegacySupport}} should be extended with a set of 
> "temporary patch" methods that would delegate most popular assertions used by 
> subclasses to respective methods of {{org.junit.Assert}}.
> Mentioned temporary patch methods, in turn, should respective 
> {{2deprecation}} notices in javadocs that would encourage developers to 
> (safely and gradually) change them to direct invocations and static imports 
> of respective Assert methods instead of using those inherited from 
> superclass. These patch methods should be declared {{protected final}} or 
> {{protected static}}, in order to minimize their applicability and prevent 
> them spreading more than intended. (as a side note, experimenting has shown 
> that use of {{@Deprecated}} annotation is not feasible as it deprives 
> developers an option to use static imports)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-5463) Weird CPU load reported

2019-01-20 Thread Andrey Kalinin (JIRA)


 [ 
https://issues.apache.org/jira/browse/IGNITE-5463?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrey Kalinin closed IGNITE-5463.
--

> Weird CPU load reported
> ---
>
> Key: IGNITE-5463
> URL: https://issues.apache.org/jira/browse/IGNITE-5463
> Project: Ignite
>  Issue Type: Bug
>Reporter: Yakov Zhdanov
>Priority: Minor
>  Labels: newbie
>
> {noformat}
> 2017-06-09 16:27:55,827 INFO [IgniteKernal%187358542614215] - 
> Metrics for local node (to disable set 'metricsLogFrequency' to 0)
> ^-- Node [id=56495ffd, name=187358542614215, uptime=00:46:42:936]
> ^-- H/N/C [hosts=1, nodes=1, CPUs=4]
> ^-- CPU [cur=100%, avg=12.85%, GC=125.47%]
> ^-- PageMemory [pages=314674]
> ^-- Heap [used=4777MB, free=12.52%, comm=5461MB]
> ^-- Non heap [used=71MB, free=-1%, comm=77MB]
> ^-- Public thread pool [active=0, idle=0, qSize=0]
> ^-- System thread pool [active=0, idle=1, qSize=0]
> ^-- Outbound messages queue [size=0]
> {noformat}
> Need to investigate strange numbers reported and fix. My Ignite process had 
> no free heap at the moment I noticed that in the logs but OOME was not thrown.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-10927) Relieve JUnit3TestLegacySupport from inheriting deprecated junit.framework.Assert (follow-up to IGNITE-10177)

2019-01-20 Thread Ignite TC Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/IGNITE-10927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16747468#comment-16747468
 ] 

Ignite TC Bot commented on IGNITE-10927:


{panel:title=--> Run :: All (Nightly): No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
[TeamCity *--> Run :: All (Nightly)* 
Results|https://ci.ignite.apache.org/viewLog.html?buildId=2850559&buildTypeId=IgniteTests24Java8_RunAllNightly]

> Relieve JUnit3TestLegacySupport from inheriting deprecated 
> junit.framework.Assert (follow-up to IGNITE-10177)
> -
>
> Key: IGNITE-10927
> URL: https://issues.apache.org/jira/browse/IGNITE-10927
> Project: Ignite
>  Issue Type: Sub-task
>Affects Versions: 2.7
>Reporter: Oleg Ignatenko
>Assignee: Oleg Ignatenko
>Priority: Major
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> {{JUnit3TestLegacySupport}} currently inherits deprecated 
> {{junit.framework.Assert}}. This was done only in order to minimize risky 
> code changes when tests were migrating from Junit 3, after 
> {{GridAbstractTest}} has dropped inheriting {{junit.framework.TestCase}}.
> Now that migration is over it is less risky to cleanup project from 
> deprecated assert methods and drop the harmful inheritance. In order to make 
> this smoother and minimize amount of test changes, after inheritance is 
> dropped, {{JUnit3TestLegacySupport}} should be extended with a set of 
> "temporary patch" methods that would delegate most popular assertions used by 
> subclasses to respective methods of {{org.junit.Assert}}.
> Mentioned temporary patch methods, in turn, should respective 
> {{2deprecation}} notices in javadocs that would encourage developers to 
> (safely and gradually) change them to direct invocations and static imports 
> of respective Assert methods instead of using those inherited from 
> superclass. These patch methods should be declared {{protected final}} or 
> {{protected static}}, in order to minimize their applicability and prevent 
> them spreading more than intended. (as a side note, experimenting has shown 
> that use of {{@Deprecated}} annotation is not feasible as it deprives 
> developers an option to use static imports)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (IGNITE-5463) Weird CPU load reported

2019-01-20 Thread Andrey Kalinin (JIRA)


 [ 
https://issues.apache.org/jira/browse/IGNITE-5463?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrey Kalinin resolved IGNITE-5463.

Resolution: Cannot Reproduce

Closed due to lack of response from the creator of the ticket

> Weird CPU load reported
> ---
>
> Key: IGNITE-5463
> URL: https://issues.apache.org/jira/browse/IGNITE-5463
> Project: Ignite
>  Issue Type: Bug
>Reporter: Yakov Zhdanov
>Priority: Minor
>  Labels: newbie
>
> {noformat}
> 2017-06-09 16:27:55,827 INFO [IgniteKernal%187358542614215] - 
> Metrics for local node (to disable set 'metricsLogFrequency' to 0)
> ^-- Node [id=56495ffd, name=187358542614215, uptime=00:46:42:936]
> ^-- H/N/C [hosts=1, nodes=1, CPUs=4]
> ^-- CPU [cur=100%, avg=12.85%, GC=125.47%]
> ^-- PageMemory [pages=314674]
> ^-- Heap [used=4777MB, free=12.52%, comm=5461MB]
> ^-- Non heap [used=71MB, free=-1%, comm=77MB]
> ^-- Public thread pool [active=0, idle=0, qSize=0]
> ^-- System thread pool [active=0, idle=1, qSize=0]
> ^-- Outbound messages queue [size=0]
> {noformat}
> Need to investigate strange numbers reported and fix. My Ignite process had 
> no free heap at the moment I noticed that in the logs but OOME was not thrown.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-10990) C++ module doesn't compile on ubuntu 18.04

2019-01-20 Thread Theodore Han (JIRA)


[ 
https://issues.apache.org/jira/browse/IGNITE-10990?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16747454#comment-16747454
 ] 

Theodore Han commented on IGNITE-10990:
---

I think to will be work if I using SSL lib version 1.0.0 
i try

http://apache-ignite-users.70518.x6.nabble.com/ODBC-Driver-compile-error-td23341.html#a23342

> C++ module doesn't compile on ubuntu 18.04
> --
>
> Key: IGNITE-10990
> URL: https://issues.apache.org/jira/browse/IGNITE-10990
> Project: Ignite
>  Issue Type: Bug
>  Components: build
>Affects Versions: 2.7
> Environment:  
>  
> {code:java}
> OS : ubuntu 18.04
> GCC: gcc version 7.3.0 (Ubuntu 7.3.0-27ubuntu1~18.04)
> Configured with: ../src/configure v --with-pkgversion='Ubuntu 
> 7.3.0-27ubuntu1~18.04' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs 
> --enable-languages=c,ada,c+,go,brig,d,fortran,objc,obj-c+ --prefix=/usr 
> --with-gcc-major-version-only --program-suffix=-7 
> --program-prefix=x86_64-linux-gnu --enable-shared --enable-linker-build-id 
> --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix 
> --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu 
> --enable-libstdcxx-debug --enable-libstdcxx-time=yes 
> --with-default-libstdcxx-abi=new --enable-gnu-unique-object 
> --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie 
> --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto 
> --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 
> --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic 
> --enable-offload-targets=nvptx-none --without-cuda-driver 
> --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu 
> --target=x86_64-linux-gnu
> Thread model: posix
> {code}
>  
>Reporter: Theodore Han
>Priority: Minor
>  Labels: build, newbie
>
> I followed up installation guide in 
> [https://apacheignite-cpp.readme.io/docs/getting-started-1]
>  
> occurs this error when execute `make` command
> {code:java}
> /root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp # make
> ...
> Making all in odbc
> make[2]: Entering directory 
> '/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc'
> Making all in include
> make[3]: Entering directory 
> '/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc/include'
> make[3]: Nothing to be done for 'all'.
> make[3]: Leaving directory 
> '/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc/include'
> make[3]: Entering directory 
> '/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc'
> CXX src/ssl/secure_socket_client.lo
> In file included from ./include/ignite/odbc/ssl/ssl_bindings.h:21:0,
> from src/ssl/secure_socket_client.cpp:25:
> ./include/ignite/odbc/ssl/ssl_bindings.h:133:24: error: expression list 
> treated as compound expression in initializer [-fpermissive]
> inline int SSL_library_init()
> ^
> In file included from src/ssl/secure_socket_client.cpp:25:0:
> ./include/ignite/odbc/ssl/ssl_bindings.h:134:13: error: expected ',' or ';' 
> before '{' token
> {
> ^
> In file included from ./include/ignite/odbc/ssl/ssl_bindings.h:21:0,
> from src/ssl/secure_socket_client.cpp:25:
> ./include/ignite/odbc/ssl/ssl_bindings.h:142:25: error: variable or field 
> 'OPENSSL_init_ssl' declared void
> inline void SSL_load_error_strings()
> ^
> src/ssl/secure_socket_client.cpp: In static member function 'static void* 
> ignite::odbc::ssl::SecureSocketClient::MakeContext(const string&, const 
> string&, const string&, ignite::odbc::diagnostic::Diagnosable&)':
> src/ssl/secure_socket_client.cpp:206:31: error: 
> 'ignite::odbc::ssl::OPENSSL_init_ssl' cannot be used as a function
> (void)SSL_library_init();
> ^
> src/ssl/secure_socket_client.cpp:208:25: error: 
> 'ignite::odbc::ssl::OPENSSL_init_ssl' cannot be used as a function
> SSL_load_error_strings();
> ^
> src/ssl/secure_socket_client.cpp:237:40: error: 'SSL_CTRL_OPTIONS' was not 
> declared in this scope
> ssl::SSL_CTX_ctrl(ctx, SSL_CTRL_OPTIONS, flags, NULL);
> ^~~~
> src/ssl/secure_socket_client.cpp:237:40: note: suggested alternative: 
> 'SQL_SCROLL_OPTIONS'
> ssl::SSL_CTX_ctrl(ctx, SSL_CTRL_OPTIONS, flags, NULL);
> ^~~~
> SQL_SCROLL_OPTIONS
> Makefile:782: recipe for target 'src/ssl/secure_socket_client.lo' failed
> make[3]: *** [src/ssl/secure_socket_client.lo] Error 1
> make[3]: Leaving directory 
> '/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc'
> Makefile:812: recipe for target 'all-recursive' failed
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory 
> '/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc'
> Makefile:432: recipe for target 'all-recursive' failed
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directo

[jira] [Commented] (IGNITE-10314) Spark dataframe will get wrong schema if user executes add/drop column DDL

2019-01-20 Thread Nikolay Izhikov (JIRA)


[ 
https://issues.apache.org/jira/browse/IGNITE-10314?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16747446#comment-16747446
 ] 

Nikolay Izhikov commented on IGNITE-10314:
--

Hello, [~ldz]

Sorry for the pause in the review.

Looks good to me! I think this PR is ready to be merged.

I left some very minor comments regarding the code formatting.
Please, fix them before the merge.

Also, please, make sure you use spaces instead of tabs for indenting.

package.scala#sqlCacheName
package.scala#isValidSchema.

> Spark dataframe will get wrong schema if user executes add/drop column DDL
> --
>
> Key: IGNITE-10314
> URL: https://issues.apache.org/jira/browse/IGNITE-10314
> Project: Ignite
>  Issue Type: Bug
>  Components: spark
>Affects Versions: 2.3, 2.4, 2.5, 2.6, 2.7
>Reporter: Ray Liu
>Assignee: Ray Liu
>Priority: Critical
> Fix For: 2.8
>
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> When user performs add/remove column in DDL,  Spark will get the old/wrong 
> schema.
>  
> Analyse 
> Currently Spark data frame API relies on QueryEntity to construct schema, but 
> QueryEntity in QuerySchema is a local copy of the original QueryEntity, so 
> the original QueryEntity is not updated when modification happens.
>  
> Solution
> Use GridQueryTypeDescriptor to replace QueryEntity



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-10991) SET STREAMING ALLOW_OVERWRITE DataStreamer fails to finish

2019-01-20 Thread Ilya Kasnacheev (JIRA)


 [ 
https://issues.apache.org/jira/browse/IGNITE-10991?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ilya Kasnacheev updated IGNITE-10991:
-
Attachment: CacheSqlStreamingAllowOverwriteTest.java

> SET STREAMING ALLOW_OVERWRITE DataStreamer fails to finish
> --
>
> Key: IGNITE-10991
> URL: https://issues.apache.org/jira/browse/IGNITE-10991
> Project: Ignite
>  Issue Type: Bug
>  Components: jdbc, sql
>Affects Versions: 2.6
>Reporter: Ilya Kasnacheev
>Priority: Major
> Attachments: CacheSqlStreamingAllowOverwriteTest.java
>
>
> Please see attached test. Repeatedly overwriting same cache entries over and 
> over in streaming mode with ALLOW_OVERWRITE ON will cause either:
> {code}
> java.sql.BatchUpdateException: Failed to INSERT some keys because they are 
> already in cache [keys=[2054...]
>   at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinConnection$StreamState.readResponses(JdbcThinConnection.java:1052)
>   ... 1 more
> {code}
> or
> {code}
> WARNING: Exception during batch send on streamed connection close
> java.sql.BatchUpdateException: class 
> org.apache.ignite.IgniteCheckedException: Data streamer has been closed.
>   at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinConnection$StreamState.readResponses(JdbcThinConnection.java:1016)
>   at java.lang.Thread.run(Thread.java:748)
> {code}
> Expecter behavior - no failures, all records overwritten.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-10991) SET STREAMING ALLOW_OVERWRITE DataStreamer fails to finish

2019-01-20 Thread Ilya Kasnacheev (JIRA)
Ilya Kasnacheev created IGNITE-10991:


 Summary: SET STREAMING ALLOW_OVERWRITE DataStreamer fails to finish
 Key: IGNITE-10991
 URL: https://issues.apache.org/jira/browse/IGNITE-10991
 Project: Ignite
  Issue Type: Bug
  Components: jdbc, sql
Affects Versions: 2.6
Reporter: Ilya Kasnacheev


Please see attached test. Repeatedly overwriting same cache entries over and 
over in streaming mode with ALLOW_OVERWRITE ON will cause either:

{code}
java.sql.BatchUpdateException: Failed to INSERT some keys because they are 
already in cache [keys=[2054...]
at 
org.apache.ignite.internal.jdbc.thin.JdbcThinConnection$StreamState.readResponses(JdbcThinConnection.java:1052)
... 1 more
{code}

or
{code}
WARNING: Exception during batch send on streamed connection close
java.sql.BatchUpdateException: class org.apache.ignite.IgniteCheckedException: 
Data streamer has been closed.
at 
org.apache.ignite.internal.jdbc.thin.JdbcThinConnection$StreamState.readResponses(JdbcThinConnection.java:1016)
at java.lang.Thread.run(Thread.java:748)
{code}

Expecter behavior - no failures, all records overwritten.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-10877) GridAffinityAssignment.initPrimaryBackupMaps memory pressure

2019-01-20 Thread Alexei Scherbakov (JIRA)


[ 
https://issues.apache.org/jira/browse/IGNITE-10877?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16747443#comment-16747443
 ] 

Alexei Scherbakov commented on IGNITE-10877:


[~voropava],

1. Please always use bounded maps and sets if you know a size in advance. On 
example, in *initPrimaryBackupMaps* you should use U.newHashSet(assignmentSize) 
or even consider using GridLeanMap for maps from 1-5 keys. This should save 
more of heap size.

2. The compatibility seems broken because you have changed 
GridAffinityAssignment and it's transffered between nodes in 
org.apache.ignite.internal.processors.affinity.GridAffinityUtils.AffinityJob. 
If old node will receive new object it will fail on deserialization.

Please create new ticket and address these issues.

> GridAffinityAssignment.initPrimaryBackupMaps memory pressure
> 
>
> Key: IGNITE-10877
> URL: https://issues.apache.org/jira/browse/IGNITE-10877
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Pavel Voronkin
>Assignee: Pavel Voronkin
>Priority: Major
> Fix For: 2.8
>
> Attachments: grid.srv.node.1.0-29.12.2018-12.50.15.jfr, 
> image-2019-01-17-12-58-07-382.png, image-2019-01-17-12-59-52-137.png, 
> image-2019-01-17-15-45-49-561.png, image-2019-01-17-15-45-53-043.png, 
> image-2019-01-17-15-46-32-872.png, image-2019-01-18-11-36-57-451.png, 
> image-2019-01-18-11-38-39-410.png, image-2019-01-18-11-55-39-496.png, 
> image-2019-01-18-11-56-10-339.png, image-2019-01-18-11-56-18-040.png, 
> image-2019-01-18-12-09-04-835.png, image-2019-01-18-12-09-32-876.png
>
>  Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> 1) While running tests with JFR we observe huge memory allocation pressure 
> produced by:
> *Stack Trace TLABs Total TLAB Size(bytes) Pressure(%)*
> java.util.HashMap.newNode(int, Object, Object, HashMap$Node) 481 298 044 784 
> 100
>  java.util.HashMap.putVal(int, Object, Object, boolean, boolean) 481 298 044 
> 784 100
>  java.util.HashMap.put(Object, Object) 481 298 044 784 100
>  java.util.HashSet.add(Object) 480 297 221 040 99,724
>  
> org.apache.ignite.internal.processors.affinity.GridAffinityAssignment.initPrimaryBackupMaps()
>  1 823 744 0,276
> org.apache.ignite.internal.processors.affinity.GridAffinityAssignment.(AffinityTopologyVersion,
>  List, List) 1 823 744 0,276
> *Allocation stats*
> Class Average Object Size(bytes) Total Object Size(bytes) TLABs Average TLAB 
> Size(bytes) Total TLAB Size(bytes) Pressure(%)
>  java.util.HashMap$Node 32 15 392 481 619 635,726 298 044 784 32,876
>  java.lang.Object[] 1 470,115 461 616 314 655 019,236 205 676 040 22,687
>  java.util.HashMap$Node[] 41 268,617 6 149 024 149 690 046,067 102 816 864 
> 11,341
>  java.lang.Integer 16 1 456 91 662 911,385 60 324 936 6,654
>  java.util.ArrayList 24 1 608 67 703 389,97 47 127 128 5,198
> 2) Also another hot place found
> Stack Trace TLABs Total TLAB Size(bytes) Pressure(%)
>  java.util.ArrayList.grow(int) 7 5 766 448 9,554
>  java.util.ArrayList.ensureExplicitCapacity(int) 7 5 766 448 9,554
>  java.util.ArrayList.ensureCapacityInternal(int) 7 5 766 448 9,554
>  java.util.ArrayList.add(Object) 7 5 766 448 9,554
>  
> org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtPartitionTopologyImpl.nodes(int,
>  AffinityTopologyVersion, GridDhtPartitionState, GridDhtPartitionState[]) 7 5 
> 766 448 9,554
> The reason of that is defail
> I think we need to improve memory efficiency by switching from from Sets to 
> BitSets
>  
> JFR attached, see Allocations in 12:50:28 - 12:50:29
>  
>  
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-10877) GridAffinityAssignment.initPrimaryBackupMaps memory pressure

2019-01-20 Thread Alexey Goncharuk (JIRA)


 [ 
https://issues.apache.org/jira/browse/IGNITE-10877?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexey Goncharuk updated IGNITE-10877:
--
Ignite Flags:   (was: Docs Required)

> GridAffinityAssignment.initPrimaryBackupMaps memory pressure
> 
>
> Key: IGNITE-10877
> URL: https://issues.apache.org/jira/browse/IGNITE-10877
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Pavel Voronkin
>Assignee: Pavel Voronkin
>Priority: Major
> Fix For: 2.8
>
> Attachments: grid.srv.node.1.0-29.12.2018-12.50.15.jfr, 
> image-2019-01-17-12-58-07-382.png, image-2019-01-17-12-59-52-137.png, 
> image-2019-01-17-15-45-49-561.png, image-2019-01-17-15-45-53-043.png, 
> image-2019-01-17-15-46-32-872.png, image-2019-01-18-11-36-57-451.png, 
> image-2019-01-18-11-38-39-410.png, image-2019-01-18-11-55-39-496.png, 
> image-2019-01-18-11-56-10-339.png, image-2019-01-18-11-56-18-040.png, 
> image-2019-01-18-12-09-04-835.png, image-2019-01-18-12-09-32-876.png
>
>  Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> 1) While running tests with JFR we observe huge memory allocation pressure 
> produced by:
> *Stack Trace TLABs Total TLAB Size(bytes) Pressure(%)*
> java.util.HashMap.newNode(int, Object, Object, HashMap$Node) 481 298 044 784 
> 100
>  java.util.HashMap.putVal(int, Object, Object, boolean, boolean) 481 298 044 
> 784 100
>  java.util.HashMap.put(Object, Object) 481 298 044 784 100
>  java.util.HashSet.add(Object) 480 297 221 040 99,724
>  
> org.apache.ignite.internal.processors.affinity.GridAffinityAssignment.initPrimaryBackupMaps()
>  1 823 744 0,276
> org.apache.ignite.internal.processors.affinity.GridAffinityAssignment.(AffinityTopologyVersion,
>  List, List) 1 823 744 0,276
> *Allocation stats*
> Class Average Object Size(bytes) Total Object Size(bytes) TLABs Average TLAB 
> Size(bytes) Total TLAB Size(bytes) Pressure(%)
>  java.util.HashMap$Node 32 15 392 481 619 635,726 298 044 784 32,876
>  java.lang.Object[] 1 470,115 461 616 314 655 019,236 205 676 040 22,687
>  java.util.HashMap$Node[] 41 268,617 6 149 024 149 690 046,067 102 816 864 
> 11,341
>  java.lang.Integer 16 1 456 91 662 911,385 60 324 936 6,654
>  java.util.ArrayList 24 1 608 67 703 389,97 47 127 128 5,198
> 2) Also another hot place found
> Stack Trace TLABs Total TLAB Size(bytes) Pressure(%)
>  java.util.ArrayList.grow(int) 7 5 766 448 9,554
>  java.util.ArrayList.ensureExplicitCapacity(int) 7 5 766 448 9,554
>  java.util.ArrayList.ensureCapacityInternal(int) 7 5 766 448 9,554
>  java.util.ArrayList.add(Object) 7 5 766 448 9,554
>  
> org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtPartitionTopologyImpl.nodes(int,
>  AffinityTopologyVersion, GridDhtPartitionState, GridDhtPartitionState[]) 7 5 
> 766 448 9,554
> The reason of that is defail
> I think we need to improve memory efficiency by switching from from Sets to 
> BitSets
>  
> JFR attached, see Allocations in 12:50:28 - 12:50:29
>  
>  
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-10877) GridAffinityAssignment.initPrimaryBackupMaps memory pressure

2019-01-20 Thread Alexey Goncharuk (JIRA)


 [ 
https://issues.apache.org/jira/browse/IGNITE-10877?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexey Goncharuk updated IGNITE-10877:
--
Fix Version/s: 2.8

> GridAffinityAssignment.initPrimaryBackupMaps memory pressure
> 
>
> Key: IGNITE-10877
> URL: https://issues.apache.org/jira/browse/IGNITE-10877
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Pavel Voronkin
>Assignee: Pavel Voronkin
>Priority: Major
> Fix For: 2.8
>
> Attachments: grid.srv.node.1.0-29.12.2018-12.50.15.jfr, 
> image-2019-01-17-12-58-07-382.png, image-2019-01-17-12-59-52-137.png, 
> image-2019-01-17-15-45-49-561.png, image-2019-01-17-15-45-53-043.png, 
> image-2019-01-17-15-46-32-872.png, image-2019-01-18-11-36-57-451.png, 
> image-2019-01-18-11-38-39-410.png, image-2019-01-18-11-55-39-496.png, 
> image-2019-01-18-11-56-10-339.png, image-2019-01-18-11-56-18-040.png, 
> image-2019-01-18-12-09-04-835.png, image-2019-01-18-12-09-32-876.png
>
>  Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> 1) While running tests with JFR we observe huge memory allocation pressure 
> produced by:
> *Stack Trace TLABs Total TLAB Size(bytes) Pressure(%)*
> java.util.HashMap.newNode(int, Object, Object, HashMap$Node) 481 298 044 784 
> 100
>  java.util.HashMap.putVal(int, Object, Object, boolean, boolean) 481 298 044 
> 784 100
>  java.util.HashMap.put(Object, Object) 481 298 044 784 100
>  java.util.HashSet.add(Object) 480 297 221 040 99,724
>  
> org.apache.ignite.internal.processors.affinity.GridAffinityAssignment.initPrimaryBackupMaps()
>  1 823 744 0,276
> org.apache.ignite.internal.processors.affinity.GridAffinityAssignment.(AffinityTopologyVersion,
>  List, List) 1 823 744 0,276
> *Allocation stats*
> Class Average Object Size(bytes) Total Object Size(bytes) TLABs Average TLAB 
> Size(bytes) Total TLAB Size(bytes) Pressure(%)
>  java.util.HashMap$Node 32 15 392 481 619 635,726 298 044 784 32,876
>  java.lang.Object[] 1 470,115 461 616 314 655 019,236 205 676 040 22,687
>  java.util.HashMap$Node[] 41 268,617 6 149 024 149 690 046,067 102 816 864 
> 11,341
>  java.lang.Integer 16 1 456 91 662 911,385 60 324 936 6,654
>  java.util.ArrayList 24 1 608 67 703 389,97 47 127 128 5,198
> 2) Also another hot place found
> Stack Trace TLABs Total TLAB Size(bytes) Pressure(%)
>  java.util.ArrayList.grow(int) 7 5 766 448 9,554
>  java.util.ArrayList.ensureExplicitCapacity(int) 7 5 766 448 9,554
>  java.util.ArrayList.ensureCapacityInternal(int) 7 5 766 448 9,554
>  java.util.ArrayList.add(Object) 7 5 766 448 9,554
>  
> org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtPartitionTopologyImpl.nodes(int,
>  AffinityTopologyVersion, GridDhtPartitionState, GridDhtPartitionState[]) 7 5 
> 766 448 9,554
> The reason of that is defail
> I think we need to improve memory efficiency by switching from from Sets to 
> BitSets
>  
> JFR attached, see Allocations in 12:50:28 - 12:50:29
>  
>  
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (IGNITE-10054) sqlline hangs with concurrent operations

2019-01-20 Thread Vladimir Ozerov (JIRA)


 [ 
https://issues.apache.org/jira/browse/IGNITE-10054?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vladimir Ozerov resolved IGNITE-10054.
--
Resolution: Not A Problem

> sqlline hangs with concurrent operations
> 
>
> Key: IGNITE-10054
> URL: https://issues.apache.org/jira/browse/IGNITE-10054
> Project: Ignite
>  Issue Type: Bug
>  Components: mvcc
>Affects Versions: 2.7
>Reporter: Sergey Kozlov
>Priority: Critical
> Attachments: 15828.txt, 16696.txt, ignite-24507fea.0.log, 
> ignite-c9ddebdb.0.log
>
>
> 1. Start 2 nodes cluster with PDS (wal_mode=FSYNC), activate
> 2. Start 1st {{bin/sqlline}} with following commands (in batch file):
> {noformat}
> create table t1 (a int, b int, primary key(a)) with 
> "atomicity=TRANSACTIONAL_SNAPSHOT,backups=1";
> insert into t1 values (1,1);
> insert into t1 values (2,1);
> insert into t1 values (3,1);
> insert into t1 values (4,1);
> insert into t1 values (5,1);
> insert into t1 values (6,1);
> insert into t1 values (7,1);
> insert into t1 values (8,1);
> insert into t1 values (9,1);
> insert into t1 values (10,1);
> begin;
> update t1 set b=b+1;
> commit;
> begin;
> update t1 set b=b+1;
> commit;
> begin;
> update t1 set b=b+1;
> commit;
> begin;
> update t1 set b=b+1;
> commit;
> ...repeat TX many times...
> {noformat}
> 3. Start 2nd {{bin/sqlline}} with following commands (in batch file):
> {noformat}
> begin;
> update t1 set b=b-1;
> commit;
> begin;
> update t1 set b=b-1;
> commit;
> begin;
> update t1 set b=b-1;
> commit;
> ...repeat TX many times...
> {noformat}
> 4. After some time both {{sqlline}} hang:
> {noformat}
> 611/113163   commit;
> Error: Failed to execute DDL statement [stmt=commit, err=Failed to finish 
> transaction because it has been rolled back [t
> imeout=0, 
> tx=GridNearTxLocal[xid=f91ff90c661--0914-10f6--0001, 
> xidVersion=GridCacheVersion [topVer=1
> 52310006, order=154082519, nodeOrder=1], concurrency=PESSIMISTIC, 
> isolation=REPEATABLE_READ, state=MARKED_ROLLBACK,
> invalidate=false, rollbackOnly=true, 
> nodeId=c9ddebdb-c328-4283-97c5-a663887a, timeout=0, duration=11, 
> label=null]]]
> (state=5,code=1)
> java.sql.SQLException: Failed to execute DDL statement [stmt=commit, 
> err=Failed to finish transaction because it has bee
> n rolled back [timeout=0, 
> tx=GridNearTxLocal[xid=f91ff90c661--0914-10f6--0001, 
> xidVersion=GridCacheV
> ersion [topVer=152310006, order=154082519, nodeOrder=1], 
> concurrency=PESSIMISTIC, isolation=REPEATABLE_READ, state=M
> ARKED_ROLLBACK, invalidate=false, rollbackOnly=true, 
> nodeId=c9ddebdb-c328-4283-97c5-a663887a, timeout=0, duration=11
> , label=null]]]
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:750)
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute0(JdbcThinStatement.java:212)
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute(JdbcThinStatement.java:475)
> at sqlline.Commands.execute(Commands.java:823)
> at sqlline.Commands.sql(Commands.java:733)
> at sqlline.SqlLine.dispatch(SqlLine.java:795)
> at sqlline.SqlLine.runCommands(SqlLine.java:1706)
> at sqlline.Commands.run(Commands.java:1317)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at 
> sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38)
> at sqlline.SqlLine.dispatch(SqlLine.java:791)
> at sqlline.SqlLine.initArgs(SqlLine.java:595)
> at sqlline.SqlLine.begin(SqlLine.java:643)
> at sqlline.SqlLine.start(SqlLine.java:373)
> at sqlline.SqlLine.main(SqlLine.java:265)
> 612/113163   begin;
> No rows affected (0 seconds)
> 613/113163   update t1 set b=b+1;
> {noformat}
> {noformat}
> Error: Failed to execute DDL statement [stmt=commit, err=Failed to finish 
> transaction because it has been rolled back [t
> imeout=0, 
> tx=GridNearTxLocal[xid=191ff90c661--0914-10f6--0001, 
> xidVersion=GridCacheVersion [topVer=1
> 52310006, order=154082505, nodeOrder=1], concurrency=PESSIMISTIC, 
> isolation=REPEATABLE_READ, state=MARKED_ROLLBACK,
> invalidate=false, rollbackOnly=true, 
> nodeId=c9ddebdb-c328-4283-97c5-a663887a, timeout=0, duration=11, 
> label=null]]]
> (state=5,code=1)
> java.sql.SQLException: Failed to execute DDL statement [stmt=commit, 
> err=Failed to finish transaction because it has bee
> n rolled back [timeout=0, 
> tx=GridNearTxLocal[

[jira] [Updated] (IGNITE-10990) C++ module doesn't compile on ubuntu 18.04

2019-01-20 Thread Theodore Han (JIRA)


 [ 
https://issues.apache.org/jira/browse/IGNITE-10990?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Theodore Han updated IGNITE-10990:
--
Environment: 
 

 
{code:java}
OS : ubuntu 18.04

GCC: gcc version 7.3.0 (Ubuntu 7.3.0-27ubuntu1~18.04)

Configured with: ../src/configure v --with-pkgversion='Ubuntu 
7.3.0-27ubuntu1~18.04' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs 
--enable-languages=c,ada,c+,go,brig,d,fortran,objc,obj-c+ --prefix=/usr 
--with-gcc-major-version-only --program-suffix=-7 
--program-prefix=x86_64-linux-gnu --enable-shared --enable-linker-build-id 
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix 
--libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu 
--enable-libstdcxx-debug --enable-libstdcxx-time=yes 
--with-default-libstdcxx-abi=new --enable-gnu-unique-object 
--disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie 
--with-system-zlib --with-target-system-zlib --enable-objc-gc=auto 
--enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 
--with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic 
--enable-offload-targets=nvptx-none --without-cuda-driver 
--enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu 
--target=x86_64-linux-gnu
Thread model: posix


{code}
 

  was:
OS : ubuntu 18.04

GCC: gcc version 7.3.0 (Ubuntu 7.3.0-27ubuntu1~18.04)

Configured with: ../src/configure -v --with-pkgversion='Ubuntu 
7.3.0-27ubuntu1~18.04' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs 
--enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr 
--with-gcc-major-version-only --program-suffix=-7 
--program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id 
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix 
--libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu 
--enable-libstdcxx-debug --enable-libstdcxx-time=yes 
--with-default-libstdcxx-abi=new --enable-gnu-unique-object 
--disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie 
--with-system-zlib --with-target-system-zlib --enable-objc-gc=auto 
--enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 
--with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic 
--enable-offload-targets=nvptx-none --without-cuda-driver 
--enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu 
--target=x86_64-linux-gnu
Thread model: posix

 

 


> C++ module doesn't compile on ubuntu 18.04
> --
>
> Key: IGNITE-10990
> URL: https://issues.apache.org/jira/browse/IGNITE-10990
> Project: Ignite
>  Issue Type: Bug
>  Components: build
>Affects Versions: 2.7
> Environment:  
>  
> {code:java}
> OS : ubuntu 18.04
> GCC: gcc version 7.3.0 (Ubuntu 7.3.0-27ubuntu1~18.04)
> Configured with: ../src/configure v --with-pkgversion='Ubuntu 
> 7.3.0-27ubuntu1~18.04' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs 
> --enable-languages=c,ada,c+,go,brig,d,fortran,objc,obj-c+ --prefix=/usr 
> --with-gcc-major-version-only --program-suffix=-7 
> --program-prefix=x86_64-linux-gnu --enable-shared --enable-linker-build-id 
> --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix 
> --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu 
> --enable-libstdcxx-debug --enable-libstdcxx-time=yes 
> --with-default-libstdcxx-abi=new --enable-gnu-unique-object 
> --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie 
> --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto 
> --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 
> --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic 
> --enable-offload-targets=nvptx-none --without-cuda-driver 
> --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu 
> --target=x86_64-linux-gnu
> Thread model: posix
> {code}
>  
>Reporter: Theodore Han
>Priority: Minor
>  Labels: build, newbie
>
> I followed up installation guide in 
> [https://apacheignite-cpp.readme.io/docs/getting-started-1]
>  
> occurs this error when execute `make` command
> {code:java}
> /root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp # make
> ...
> Making all in odbc
> make[2]: Entering directory 
> '/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc'
> Making all in include
> make[3]: Entering directory 
> '/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc/include'
> make[3]: Nothing to be done for 'all'.
> make[3]: Leaving directory 
> '/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc/include'
> make[3]: Entering directory 
> '/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc'
> CXX src/ssl/secure_socket_client.lo
> In file included from .

[jira] [Updated] (IGNITE-10066) Missing key and value constraint validation for MVCC tables

2019-01-20 Thread Vladimir Ozerov (JIRA)


 [ 
https://issues.apache.org/jira/browse/IGNITE-10066?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vladimir Ozerov updated IGNITE-10066:
-
Issue Type: Task  (was: Bug)

> Missing key and value constraint validation for MVCC tables
> ---
>
> Key: IGNITE-10066
> URL: https://issues.apache.org/jira/browse/IGNITE-10066
> Project: Ignite
>  Issue Type: Task
>  Components: mvcc
>Reporter: PetrovMikhail
>Priority: Major
>  Labels: mvcc_stabilization_stage_1, transactions
> Fix For: 2.8
>
>
> It seems that key and value constraints for MVCC tables are ignoring now when 
> code approach is using to operate with table. The same SQL requests work fine.
> It seems that QueryTypeDescriptorImpl.validateKeyAndValue method call which 
> provides corresponding constraints is missed now.
>  
> Reproducer for not null constraint:
> {code:java}
> public class IgniteCacheTransactionalSnapshotNullConstraintTest extends 
> GridCommonAbstractTest {
> private static final String REPLICATED_CACHE_NAME = "replicatedCacheName";
> private static final String PARTITIONED_CACHE_NAME = 
> "partitionedCacheName";
> @Override protected void beforeTestsStarted() throws Exception {
> startGrid(0);
> execSQL("CREATE TABLE table(id INT PRIMARY KEY, str VARCHAR NOT NULL) 
> WITH \"atomicity=transactional_snapshot\"");
> jcache(grid(0), cacheConfiguration(REPLICATED, 
> TRANSACTIONAL_SNAPSHOT), REPLICATED_CACHE_NAME);
> jcache(grid(0), cacheConfiguration(PARTITIONED, 
> TRANSACTIONAL_SNAPSHOT), PARTITIONED_CACHE_NAME);
> }
> protected CacheConfiguration cacheConfiguration(CacheMode cacheMode, 
> CacheAtomicityMode atomicityMode) {
> CacheConfiguration cfg = new CacheConfiguration();
> cfg.setCacheMode(cacheMode);
> cfg.setAtomicityMode(atomicityMode);
> cfg.setWriteSynchronizationMode(FULL_SYNC);
> cfg.setQueryEntities(Collections.singletonList(new 
> QueryEntity(Integer.class, Person.class)));
> return cfg;
> }
> public void testPutNullValueReplicatedModeFail() throws Exception {
> IgniteCache cache = jcache(0, REPLICATED_CACHE_NAME);
> assertThrowsWithCause(() -> {
> cache.put(0, new Person(null, 25));
> }, IgniteException.class);
> }
> public void testPutNullValuePartitionedModeFail() throws Exception {
> IgniteCache cache = jcache(0, 
> PARTITIONED_CACHE_NAME);
> assertThrowsWithCause(() -> {
> cache.put(1, new Person(null, 18));
> }, IgniteException.class);
> }
> public void testPutNullValueSQLFail() throws Exception {
> checkSQLThrows("INSERT INTO table VALUES(?, ?)", NULL_VALUE, 0, null);
> }
> public static class Person implements Serializable {
> @QuerySqlField(notNull = true)
> private String name;
> @QuerySqlField
> private int age;
> public Person(String name, int age) {
> this.name = name;
> this.age = age;
> }
> }
> private void checkSQLThrows(String sql, String sqlStateCode, Object... 
> args) {
> IgniteSQLException err = 
> (IgniteSQLException)GridTestUtils.assertThrowsWithCause(() -> {
> execSQL(sql, args);
> return 0;
> }, IgniteSQLException.class);
> assertEquals((err).sqlState(), sqlStateCode);
> }
> private List execSQL(String sql, Object... args) {
> SqlFieldsQuery qry = new SqlFieldsQuery(sql)
> .setArgs(args);
> return grid(0).context().query().querySqlFields(qry, true).getAll();
> }
> }
> {code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-10990) C++ module doesn't compile on ubuntu 18.04

2019-01-20 Thread Theodore Han (JIRA)


 [ 
https://issues.apache.org/jira/browse/IGNITE-10990?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Theodore Han updated IGNITE-10990:
--
Description: 
I followed up installation guide in 
[https://apacheignite-cpp.readme.io/docs/getting-started-1]

 

occurs this error when execute `make` command

 

Making all in odbc
 make[2]: Entering directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc'
 Making all in include
 make[3]: Entering directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc/include'
 make[3]: Nothing to be done for 'all'.
 make[3]: Leaving directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc/include'
 make[3]: Entering directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc'
 CXX src/ssl/secure_socket_client.lo
 In file included from ./include/ignite/odbc/ssl/ssl_bindings.h:21:0,
 from src/ssl/secure_socket_client.cpp:25:
 ./include/ignite/odbc/ssl/ssl_bindings.h:133:24: {color:#ff}error: 
expression list treated as compound expression in initializer 
[-fpermissive]{color}
 inline int SSL_library_init()
 ^
 In file included from src/ssl/secure_socket_client.cpp:25:0:
 ./include/ignite/odbc/ssl/ssl_bindings.h:134:13: {color:#ff}error: 
expected ',' or ';' before '{' token{color}
 {
 ^
 In file included from ./include/ignite/odbc/ssl/ssl_bindings.h:21:0,
 from src/ssl/secure_socket_client.cpp:25:
 ./include/ignite/odbc/ssl/ssl_bindings.h:142:25: {color:#ff}error: 
variable or field 'OPENSSL_init_ssl' declared void{color}
 inline void SSL_load_error_strings()
 ^
 src/ssl/secure_socket_client.cpp: In static member function 'static void* 
ignite::odbc::ssl::SecureSocketClient::MakeContext(const string&, const 
string&, const string&, ignite::odbc::diagnostic::Diagnosable&)':
 src/ssl/secure_socket_client.cpp:206:31: {color:#ff}error: 
'ignite::odbc::ssl::OPENSSL_init_ssl' cannot be used as a function{color}
 (void)SSL_library_init();
 ^
 src/ssl/secure_socket_client.cpp:208:25: {color:#ff}error: 
'ignite::odbc::ssl::OPENSSL_init_ssl' cannot be used as a function{color}
 SSL_load_error_strings();
 ^
 src/ssl/secure_socket_client.cpp:237:40: {color:#ff}error: 
'SSL_CTRL_OPTIONS' was not declared in this scope{color}
 ssl::SSL_CTX_ctrl(ctx, SSL_CTRL_OPTIONS, flags, NULL);
 ^~~~
 src/ssl/secure_socket_client.cpp:237:40: note: suggested alternative: 
'SQL_SCROLL_OPTIONS'
 ssl::SSL_CTX_ctrl(ctx, SSL_CTRL_OPTIONS, flags, NULL);
 ^~~~
 SQL_SCROLL_OPTIONS
 {color:#ff}Makefile:782: recipe for target 
'src/ssl/secure_socket_client.lo' failed{color}
 make[3]: *** [src/ssl/secure_socket_client.lo] Error 1
 make[3]: Leaving directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc'
 Makefile:812: recipe for target 'all-recursive' failed
 make[2]: *** [all-recursive] Error 1
 make[2]: Leaving directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc'
 Makefile:432: recipe for target 'all-recursive' failed
 make[1]: *** [all-recursive] Error 1
 make[1]: Leaving directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp'
 Makefile:364: recipe for target 'all' failed
 make: *** [all] Error 2

 

 

 

  was:
I followed up installation guide in 
https://apacheignite-cpp.readme.io/docs/getting-started-1

 

occurs this error when `make`

 

Making all in odbc
make[2]: Entering directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc'
Making all in include
make[3]: Entering directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc/include'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc/include'
make[3]: Entering directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc'
CXX src/ssl/secure_socket_client.lo
In file included from ./include/ignite/odbc/ssl/ssl_bindings.h:21:0,
from src/ssl/secure_socket_client.cpp:25:
./include/ignite/odbc/ssl/ssl_bindings.h:133:24: {color:#FF}error: 
expression list treated as compound expression in initializer 
[-fpermissive]{color}
inline int SSL_library_init()
^
In file included from src/ssl/secure_socket_client.cpp:25:0:
./include/ignite/odbc/ssl/ssl_bindings.h:134:13: {color:#FF}error: expected 
',' or ';' before '{' token{color}
{
^
In file included from ./include/ignite/odbc/ssl/ssl_bindings.h:21:0,
from src/ssl/secure_socket_client.cpp:25:
./include/ignite/odbc/ssl/ssl_bindings.h:142:25: {color:#FF}error: variable 
or field 'OPENSSL_init_ssl' declared void{color}
inline void SSL_load_error_strings()
^
src/ssl/secure_socket_client.cpp: In static member function 'static void* 
ignite::odbc::ssl::SecureSocketClient::MakeContext(const string&, const 
string&, const string&, ignite::odbc::diagnostic::Diagnosable&)':
src/ssl/secure_socket_client.cpp:206:31: {color:#FF}error: 
'ignite::odbc::ssl::OPENSSL_init_ssl' can

[jira] [Created] (IGNITE-10990) C++ module doesn't compile on ubuntu 18.04

2019-01-20 Thread Theodore Han (JIRA)
Theodore Han created IGNITE-10990:
-

 Summary: C++ module doesn't compile on ubuntu 18.04
 Key: IGNITE-10990
 URL: https://issues.apache.org/jira/browse/IGNITE-10990
 Project: Ignite
  Issue Type: Bug
  Components: build
Affects Versions: 2.7
 Environment: OS : ubuntu 18.04

GCC: gcc version 7.3.0 (Ubuntu 7.3.0-27ubuntu1~18.04)

Configured with: ../src/configure -v --with-pkgversion='Ubuntu 
7.3.0-27ubuntu1~18.04' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs 
--enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr 
--with-gcc-major-version-only --program-suffix=-7 
--program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id 
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix 
--libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu 
--enable-libstdcxx-debug --enable-libstdcxx-time=yes 
--with-default-libstdcxx-abi=new --enable-gnu-unique-object 
--disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie 
--with-system-zlib --with-target-system-zlib --enable-objc-gc=auto 
--enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 
--with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic 
--enable-offload-targets=nvptx-none --without-cuda-driver 
--enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu 
--target=x86_64-linux-gnu
Thread model: posix

 

 
Reporter: Theodore Han


Making all in odbc
make[2]: Entering directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc'
Making all in include
make[3]: Entering directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc/include'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc/include'
make[3]: Entering directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc'
CXX src/ssl/secure_socket_client.lo
In file included from ./include/ignite/odbc/ssl/ssl_bindings.h:21:0,
from src/ssl/secure_socket_client.cpp:25:
./include/ignite/odbc/ssl/ssl_bindings.h:133:24: error: expression list treated 
as compound expression in initializer [-fpermissive]
inline int SSL_library_init()
^
In file included from src/ssl/secure_socket_client.cpp:25:0:
./include/ignite/odbc/ssl/ssl_bindings.h:134:13: error: expected ',' or ';' 
before '{' token
{
^
In file included from ./include/ignite/odbc/ssl/ssl_bindings.h:21:0,
from src/ssl/secure_socket_client.cpp:25:
./include/ignite/odbc/ssl/ssl_bindings.h:142:25: error: variable or field 
'OPENSSL_init_ssl' declared void
inline void SSL_load_error_strings()
^
src/ssl/secure_socket_client.cpp: In static member function 'static void* 
ignite::odbc::ssl::SecureSocketClient::MakeContext(const string&, const 
string&, const string&, ignite::odbc::diagnostic::Diagnosable&)':
src/ssl/secure_socket_client.cpp:206:31: error: 
'ignite::odbc::ssl::OPENSSL_init_ssl' cannot be used as a function
(void)SSL_library_init();
^
src/ssl/secure_socket_client.cpp:208:25: error: 
'ignite::odbc::ssl::OPENSSL_init_ssl' cannot be used as a function
SSL_load_error_strings();
^
src/ssl/secure_socket_client.cpp:237:40: error: 'SSL_CTRL_OPTIONS' was not 
declared in this scope
ssl::SSL_CTX_ctrl(ctx, SSL_CTRL_OPTIONS, flags, NULL);
^~~~
src/ssl/secure_socket_client.cpp:237:40: note: suggested alternative: 
'SQL_SCROLL_OPTIONS'
ssl::SSL_CTX_ctrl(ctx, SSL_CTRL_OPTIONS, flags, NULL);
^~~~
SQL_SCROLL_OPTIONS
Makefile:782: recipe for target 'src/ssl/secure_socket_client.lo' failed
make[3]: *** [src/ssl/secure_socket_client.lo] Error 1
make[3]: Leaving directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc'
Makefile:812: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc'
Makefile:432: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp'
Makefile:364: recipe for target 'all' failed
make: *** [all] Error 2

 

 

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-10970) ATOMICITY table creation error message should include TRANSACTIONAL_SNAPSHOT

2019-01-20 Thread Vladimir Ozerov (JIRA)


 [ 
https://issues.apache.org/jira/browse/IGNITE-10970?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vladimir Ozerov updated IGNITE-10970:
-
Issue Type: Improvement  (was: Bug)

> ATOMICITY table creation error message should include TRANSACTIONAL_SNAPSHOT
> 
>
> Key: IGNITE-10970
> URL: https://issues.apache.org/jira/browse/IGNITE-10970
> Project: Ignite
>  Issue Type: Improvement
>  Components: mvcc, sql
>Affects Versions: 2.7
>Reporter: Ilya Kasnacheev
>Priority: Minor
>  Labels: usability
>
> {code}
> 0: jdbc:ignite:thin://localhost> CREATE TABLE city2(id LONG PRIMARY KEY, name 
> VARCHAR,name1 VARCHAR) WITH "atomicity=mvcc";
> Error: Invalid value of "ATOMICITY" parameter (should be either TRANSACTIONAL 
> or ATOMIC): mvcc (state=42000,code=1001)
> {code}
> This error message should also suggest TRANSACTIONAL_SNAPSHOT to activate 
> MVCC, which totally works.
> Docs update request sent.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-10066) Missing key and value constraint validation for MVCC tables

2019-01-20 Thread Vladimir Ozerov (JIRA)


 [ 
https://issues.apache.org/jira/browse/IGNITE-10066?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vladimir Ozerov updated IGNITE-10066:
-
Labels:   (was: mvcc_stabilization_stage_1 transactions)

> Missing key and value constraint validation for MVCC tables
> ---
>
> Key: IGNITE-10066
> URL: https://issues.apache.org/jira/browse/IGNITE-10066
> Project: Ignite
>  Issue Type: Task
>  Components: mvcc
>Reporter: PetrovMikhail
>Priority: Major
> Fix For: 2.8
>
>
> It seems that key and value constraints for MVCC tables are ignoring now when 
> code approach is using to operate with table. The same SQL requests work fine.
> It seems that QueryTypeDescriptorImpl.validateKeyAndValue method call which 
> provides corresponding constraints is missed now.
>  
> Reproducer for not null constraint:
> {code:java}
> public class IgniteCacheTransactionalSnapshotNullConstraintTest extends 
> GridCommonAbstractTest {
> private static final String REPLICATED_CACHE_NAME = "replicatedCacheName";
> private static final String PARTITIONED_CACHE_NAME = 
> "partitionedCacheName";
> @Override protected void beforeTestsStarted() throws Exception {
> startGrid(0);
> execSQL("CREATE TABLE table(id INT PRIMARY KEY, str VARCHAR NOT NULL) 
> WITH \"atomicity=transactional_snapshot\"");
> jcache(grid(0), cacheConfiguration(REPLICATED, 
> TRANSACTIONAL_SNAPSHOT), REPLICATED_CACHE_NAME);
> jcache(grid(0), cacheConfiguration(PARTITIONED, 
> TRANSACTIONAL_SNAPSHOT), PARTITIONED_CACHE_NAME);
> }
> protected CacheConfiguration cacheConfiguration(CacheMode cacheMode, 
> CacheAtomicityMode atomicityMode) {
> CacheConfiguration cfg = new CacheConfiguration();
> cfg.setCacheMode(cacheMode);
> cfg.setAtomicityMode(atomicityMode);
> cfg.setWriteSynchronizationMode(FULL_SYNC);
> cfg.setQueryEntities(Collections.singletonList(new 
> QueryEntity(Integer.class, Person.class)));
> return cfg;
> }
> public void testPutNullValueReplicatedModeFail() throws Exception {
> IgniteCache cache = jcache(0, REPLICATED_CACHE_NAME);
> assertThrowsWithCause(() -> {
> cache.put(0, new Person(null, 25));
> }, IgniteException.class);
> }
> public void testPutNullValuePartitionedModeFail() throws Exception {
> IgniteCache cache = jcache(0, 
> PARTITIONED_CACHE_NAME);
> assertThrowsWithCause(() -> {
> cache.put(1, new Person(null, 18));
> }, IgniteException.class);
> }
> public void testPutNullValueSQLFail() throws Exception {
> checkSQLThrows("INSERT INTO table VALUES(?, ?)", NULL_VALUE, 0, null);
> }
> public static class Person implements Serializable {
> @QuerySqlField(notNull = true)
> private String name;
> @QuerySqlField
> private int age;
> public Person(String name, int age) {
> this.name = name;
> this.age = age;
> }
> }
> private void checkSQLThrows(String sql, String sqlStateCode, Object... 
> args) {
> IgniteSQLException err = 
> (IgniteSQLException)GridTestUtils.assertThrowsWithCause(() -> {
> execSQL(sql, args);
> return 0;
> }, IgniteSQLException.class);
> assertEquals((err).sqlState(), sqlStateCode);
> }
> private List execSQL(String sql, Object... args) {
> SqlFieldsQuery qry = new SqlFieldsQuery(sql)
> .setArgs(args);
> return grid(0).context().query().querySqlFields(qry, true).getAll();
> }
> }
> {code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-10807) MVCC: Support long-running tx rollback on PME

2019-01-20 Thread Vladimir Ozerov (JIRA)


 [ 
https://issues.apache.org/jira/browse/IGNITE-10807?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vladimir Ozerov updated IGNITE-10807:
-
Issue Type: Task  (was: Bug)

> MVCC: Support long-running tx rollback on PME
> -
>
> Key: IGNITE-10807
> URL: https://issues.apache.org/jira/browse/IGNITE-10807
> Project: Ignite
>  Issue Type: Task
>  Components: mvcc
>Reporter: Ivan Pavlukhin
>Priority: Major
>
> Currently long-running tx rollback on PME does not work for MVCC 
> transactions. 
> {{org.apache.ignite.internal.processors.cache.transactions.TxRollbackOnTopologyChangeTest#testRollbackOnTopologyChange}}
>  can be used as starting point. Also tx recovery (on node failures) can have 
> some issues causing troubles in aforementioned test.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-10990) C++ module doesn't compile on ubuntu 18.04

2019-01-20 Thread Theodore Han (JIRA)


 [ 
https://issues.apache.org/jira/browse/IGNITE-10990?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Theodore Han updated IGNITE-10990:
--
Description: 
I followed up installation guide in 
[https://apacheignite-cpp.readme.io/docs/getting-started-1]

 

occurs this error when execute `make` command
{code:java}
/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp # make

...

Making all in odbc
make[2]: Entering directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc'
Making all in include
make[3]: Entering directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc/include'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc/include'
make[3]: Entering directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc'
CXX src/ssl/secure_socket_client.lo
In file included from ./include/ignite/odbc/ssl/ssl_bindings.h:21:0,
from src/ssl/secure_socket_client.cpp:25:
./include/ignite/odbc/ssl/ssl_bindings.h:133:24: error: expression list treated 
as compound expression in initializer [-fpermissive]
inline int SSL_library_init()
^
In file included from src/ssl/secure_socket_client.cpp:25:0:
./include/ignite/odbc/ssl/ssl_bindings.h:134:13: error: expected ',' or ';' 
before '{' token
{
^
In file included from ./include/ignite/odbc/ssl/ssl_bindings.h:21:0,
from src/ssl/secure_socket_client.cpp:25:
./include/ignite/odbc/ssl/ssl_bindings.h:142:25: error: variable or field 
'OPENSSL_init_ssl' declared void
inline void SSL_load_error_strings()
^
src/ssl/secure_socket_client.cpp: In static member function 'static void* 
ignite::odbc::ssl::SecureSocketClient::MakeContext(const string&, const 
string&, const string&, ignite::odbc::diagnostic::Diagnosable&)':
src/ssl/secure_socket_client.cpp:206:31: error: 
'ignite::odbc::ssl::OPENSSL_init_ssl' cannot be used as a function
(void)SSL_library_init();
^
src/ssl/secure_socket_client.cpp:208:25: error: 
'ignite::odbc::ssl::OPENSSL_init_ssl' cannot be used as a function
SSL_load_error_strings();
^
src/ssl/secure_socket_client.cpp:237:40: error: 'SSL_CTRL_OPTIONS' was not 
declared in this scope
ssl::SSL_CTX_ctrl(ctx, SSL_CTRL_OPTIONS, flags, NULL);
^~~~
src/ssl/secure_socket_client.cpp:237:40: note: suggested alternative: 
'SQL_SCROLL_OPTIONS'
ssl::SSL_CTX_ctrl(ctx, SSL_CTRL_OPTIONS, flags, NULL);
^~~~
SQL_SCROLL_OPTIONS
Makefile:782: recipe for target 'src/ssl/secure_socket_client.lo' failed
make[3]: *** [src/ssl/secure_socket_client.lo] Error 1
make[3]: Leaving directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc'
Makefile:812: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc'
Makefile:432: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp'
Makefile:364: recipe for target 'all' failed
make: *** [all] Error 2


{code}
 

 

 

 

  was:
I followed up installation guide in 
[https://apacheignite-cpp.readme.io/docs/getting-started-1]

 

occurs this error when execute `make` command
{code:java}
$ make

...

Making all in odbc
make[2]: Entering directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc'
Making all in include
make[3]: Entering directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc/include'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc/include'
make[3]: Entering directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc'
CXX src/ssl/secure_socket_client.lo
In file included from ./include/ignite/odbc/ssl/ssl_bindings.h:21:0,
from src/ssl/secure_socket_client.cpp:25:
./include/ignite/odbc/ssl/ssl_bindings.h:133:24: error: expression list treated 
as compound expression in initializer [-fpermissive]
inline int SSL_library_init()
^
In file included from src/ssl/secure_socket_client.cpp:25:0:
./include/ignite/odbc/ssl/ssl_bindings.h:134:13: error: expected ',' or ';' 
before '{' token
{
^
In file included from ./include/ignite/odbc/ssl/ssl_bindings.h:21:0,
from src/ssl/secure_socket_client.cpp:25:
./include/ignite/odbc/ssl/ssl_bindings.h:142:25: error: variable or field 
'OPENSSL_init_ssl' declared void
inline void SSL_load_error_strings()
^
src/ssl/secure_socket_client.cpp: In static member function 'static void* 
ignite::odbc::ssl::SecureSocketClient::MakeContext(const string&, const 
string&, const string&, ignite::odbc::diagnostic::Diagnosable&)':
src/ssl/secure_socket_client.cpp:206:31: error: 
'ignite::odbc::ssl::OPENSSL_init_ssl' cannot be used as a function
(void)SSL_library_init();
^
src/ssl/secure_socket_client.cpp:208:25: error: 
'ignite::odbc::ssl::OPENSSL_init_ssl' cannot be used a

[jira] [Updated] (IGNITE-10990) C++ module doesn't compile on ubuntu 18.04

2019-01-20 Thread Theodore Han (JIRA)


 [ 
https://issues.apache.org/jira/browse/IGNITE-10990?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Theodore Han updated IGNITE-10990:
--
Description: 
I followed up installation guide in 
[https://apacheignite-cpp.readme.io/docs/getting-started-1]

 

occurs this error when execute `make` command
{code:java}
$ make

...

Making all in odbc
make[2]: Entering directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc'
Making all in include
make[3]: Entering directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc/include'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc/include'
make[3]: Entering directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc'
CXX src/ssl/secure_socket_client.lo
In file included from ./include/ignite/odbc/ssl/ssl_bindings.h:21:0,
from src/ssl/secure_socket_client.cpp:25:
./include/ignite/odbc/ssl/ssl_bindings.h:133:24: error: expression list treated 
as compound expression in initializer [-fpermissive]
inline int SSL_library_init()
^
In file included from src/ssl/secure_socket_client.cpp:25:0:
./include/ignite/odbc/ssl/ssl_bindings.h:134:13: error: expected ',' or ';' 
before '{' token
{
^
In file included from ./include/ignite/odbc/ssl/ssl_bindings.h:21:0,
from src/ssl/secure_socket_client.cpp:25:
./include/ignite/odbc/ssl/ssl_bindings.h:142:25: error: variable or field 
'OPENSSL_init_ssl' declared void
inline void SSL_load_error_strings()
^
src/ssl/secure_socket_client.cpp: In static member function 'static void* 
ignite::odbc::ssl::SecureSocketClient::MakeContext(const string&, const 
string&, const string&, ignite::odbc::diagnostic::Diagnosable&)':
src/ssl/secure_socket_client.cpp:206:31: error: 
'ignite::odbc::ssl::OPENSSL_init_ssl' cannot be used as a function
(void)SSL_library_init();
^
src/ssl/secure_socket_client.cpp:208:25: error: 
'ignite::odbc::ssl::OPENSSL_init_ssl' cannot be used as a function
SSL_load_error_strings();
^
src/ssl/secure_socket_client.cpp:237:40: error: 'SSL_CTRL_OPTIONS' was not 
declared in this scope
ssl::SSL_CTX_ctrl(ctx, SSL_CTRL_OPTIONS, flags, NULL);
^~~~
src/ssl/secure_socket_client.cpp:237:40: note: suggested alternative: 
'SQL_SCROLL_OPTIONS'
ssl::SSL_CTX_ctrl(ctx, SSL_CTRL_OPTIONS, flags, NULL);
^~~~
SQL_SCROLL_OPTIONS
Makefile:782: recipe for target 'src/ssl/secure_socket_client.lo' failed
make[3]: *** [src/ssl/secure_socket_client.lo] Error 1
make[3]: Leaving directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc'
Makefile:812: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc'
Makefile:432: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp'
Makefile:364: recipe for target 'all' failed
make: *** [all] Error 2


{code}
 

 

 

 

  was:
I followed up installation guide in 
[https://apacheignite-cpp.readme.io/docs/getting-started-1]

 

occurs this error when execute `make` command

 

Making all in odbc
 make[2]: Entering directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc'
 Making all in include
 make[3]: Entering directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc/include'
 make[3]: Nothing to be done for 'all'.
 make[3]: Leaving directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc/include'
 make[3]: Entering directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc'
 CXX src/ssl/secure_socket_client.lo
 In file included from ./include/ignite/odbc/ssl/ssl_bindings.h:21:0,
 from src/ssl/secure_socket_client.cpp:25:
 ./include/ignite/odbc/ssl/ssl_bindings.h:133:24: {color:#ff}error: 
expression list treated as compound expression in initializer 
[-fpermissive]{color}
 inline int SSL_library_init()
 ^
 In file included from src/ssl/secure_socket_client.cpp:25:0:
 ./include/ignite/odbc/ssl/ssl_bindings.h:134:13: {color:#ff}error: 
expected ',' or ';' before '{' token{color}
 {
 ^
 In file included from ./include/ignite/odbc/ssl/ssl_bindings.h:21:0,
 from src/ssl/secure_socket_client.cpp:25:
 ./include/ignite/odbc/ssl/ssl_bindings.h:142:25: {color:#ff}error: 
variable or field 'OPENSSL_init_ssl' declared void{color}
 inline void SSL_load_error_strings()
 ^
 src/ssl/secure_socket_client.cpp: In static member function 'static void* 
ignite::odbc::ssl::SecureSocketClient::MakeContext(const string&, const 
string&, const string&, ignite::odbc::diagnostic::Diagnosable&)':
 src/ssl/secure_socket_client.cpp:206:31: {color:#ff}error: 
'ignite::odbc::ssl::OPENSSL_init_ssl' cannot be used as a function{color}
 (void)SSL_library_init();
 ^
 src/ssl/secure_socket_client.cpp:208:25: {color:#ff}error: 
'

[jira] [Updated] (IGNITE-10841) Edge-chasing deadlock detection monitoring

2019-01-20 Thread Vladimir Ozerov (JIRA)


 [ 
https://issues.apache.org/jira/browse/IGNITE-10841?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vladimir Ozerov updated IGNITE-10841:
-
Issue Type: Task  (was: Bug)

> Edge-chasing deadlock detection monitoring
> --
>
> Key: IGNITE-10841
> URL: https://issues.apache.org/jira/browse/IGNITE-10841
> Project: Ignite
>  Issue Type: Task
>  Components: mvcc
>Reporter: Ivan Pavlukhin
>Priority: Major
>
> A deadlock detection process introduces several effects in the system which 
> should be visible for an administrator. Here are couple of such effects:
> 1. Rolling back deadlocked transactions.
> 2. Introducing messaging overhead even in case when there are not deadlocks.
> Several metrics can be exposed via JMX and/or SQL view. Here are some 
> candidates:
> 1. Number of detected deadlocks and involved transactions.
> 2. Sent/received deadlock detection messages count.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-10972) MERGE INTO hangs in MVCC mode with unsorted keys

2019-01-20 Thread Vladimir Ozerov (JIRA)


[ 
https://issues.apache.org/jira/browse/IGNITE-10972?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16747416#comment-16747416
 ] 

Vladimir Ozerov commented on IGNITE-10972:
--

[~ilyak], this is incorrect assumption - deadlocks are equally possible in MVCC 
mode. 

> MERGE INTO hangs in MVCC mode with unsorted keys
> 
>
> Key: IGNITE-10972
> URL: https://issues.apache.org/jira/browse/IGNITE-10972
> Project: Ignite
>  Issue Type: Bug
>  Components: mvcc, sql
>Affects Versions: 2.7
>Reporter: Ilya Kasnacheev
>Priority: Major
> Attachments: CacheMvccMergeConflictTest.java
>
>
> right now, if you perform repeatedly
> MERGE INTO T(K, V) VALUES(k1, v1), (k2, v2), (k3, v3);
> and in parallel
> MERGE INTO T(K, V) VALUES(k2, v2), (k1, v1);
> you will eventually see a deadlock. This is expected behavior as per old 
> putAll behavior, but the expectation is that you should see "Cannot serialize 
> transaction" errors instead of deadlock when using MVCC.
> When doing MERGE INTO with sorted keys you will not get deadlock but will see 
> a lot of "Cannot serialize transaction" exception with expectation that such 
> statements to not conflict instead since they are ordered.
> Please see attached test and userlist discussion.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-10972) MERGE INTO hangs in MVCC mode with unsorted keys

2019-01-20 Thread Vladimir Ozerov (JIRA)


 [ 
https://issues.apache.org/jira/browse/IGNITE-10972?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vladimir Ozerov updated IGNITE-10972:
-
Issue Type: Task  (was: Bug)

> MERGE INTO hangs in MVCC mode with unsorted keys
> 
>
> Key: IGNITE-10972
> URL: https://issues.apache.org/jira/browse/IGNITE-10972
> Project: Ignite
>  Issue Type: Task
>  Components: mvcc, sql
>Affects Versions: 2.7
>Reporter: Ilya Kasnacheev
>Priority: Major
> Attachments: CacheMvccMergeConflictTest.java
>
>
> right now, if you perform repeatedly
> MERGE INTO T(K, V) VALUES(k1, v1), (k2, v2), (k3, v3);
> and in parallel
> MERGE INTO T(K, V) VALUES(k2, v2), (k1, v1);
> you will eventually see a deadlock. This is expected behavior as per old 
> putAll behavior, but the expectation is that you should see "Cannot serialize 
> transaction" errors instead of deadlock when using MVCC.
> When doing MERGE INTO with sorted keys you will not get deadlock but will see 
> a lot of "Cannot serialize transaction" exception with expectation that such 
> statements to not conflict instead since they are ordered.
> Please see attached test and userlist discussion.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-10597) MVCC TX: Organize used thread pools

2019-01-20 Thread Vladimir Ozerov (JIRA)


 [ 
https://issues.apache.org/jira/browse/IGNITE-10597?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vladimir Ozerov updated IGNITE-10597:
-
Issue Type: Task  (was: Bug)

> MVCC TX: Organize used thread pools
> ---
>
> Key: IGNITE-10597
> URL: https://issues.apache.org/jira/browse/IGNITE-10597
> Project: Ignite
>  Issue Type: Task
>  Components: mvcc
>Reporter: Igor Seliverstov
>Priority: Major
> Fix For: 2.8
>
>
> All mvcc operations use cache pool, this means striped pool is used under 
> hood that may lead performance issues in case of long operations (like query 
> update).
> we need:
> 1) use query pool for query updates
> 2) use random stripe for batched updates
> 3) use appropriate stripe for single updates.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-10990) C++ module doesn't compile on ubuntu 18.04

2019-01-20 Thread Theodore Han (JIRA)


 [ 
https://issues.apache.org/jira/browse/IGNITE-10990?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Theodore Han updated IGNITE-10990:
--
Description: 
I followed up installation guide in 
https://apacheignite-cpp.readme.io/docs/getting-started-1

 

occurs this error when `make`

 

Making all in odbc
make[2]: Entering directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc'
Making all in include
make[3]: Entering directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc/include'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc/include'
make[3]: Entering directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc'
CXX src/ssl/secure_socket_client.lo
In file included from ./include/ignite/odbc/ssl/ssl_bindings.h:21:0,
from src/ssl/secure_socket_client.cpp:25:
./include/ignite/odbc/ssl/ssl_bindings.h:133:24: {color:#FF}error: 
expression list treated as compound expression in initializer 
[-fpermissive]{color}
inline int SSL_library_init()
^
In file included from src/ssl/secure_socket_client.cpp:25:0:
./include/ignite/odbc/ssl/ssl_bindings.h:134:13: {color:#FF}error: expected 
',' or ';' before '{' token{color}
{
^
In file included from ./include/ignite/odbc/ssl/ssl_bindings.h:21:0,
from src/ssl/secure_socket_client.cpp:25:
./include/ignite/odbc/ssl/ssl_bindings.h:142:25: {color:#FF}error: variable 
or field 'OPENSSL_init_ssl' declared void{color}
inline void SSL_load_error_strings()
^
src/ssl/secure_socket_client.cpp: In static member function 'static void* 
ignite::odbc::ssl::SecureSocketClient::MakeContext(const string&, const 
string&, const string&, ignite::odbc::diagnostic::Diagnosable&)':
src/ssl/secure_socket_client.cpp:206:31: {color:#FF}error: 
'ignite::odbc::ssl::OPENSSL_init_ssl' cannot be used as a function{color}
(void)SSL_library_init();
^
src/ssl/secure_socket_client.cpp:208:25: {color:#FF}error: 
'ignite::odbc::ssl::OPENSSL_init_ssl' cannot be used as a function{color}
SSL_load_error_strings();
^
src/ssl/secure_socket_client.cpp:237:40: {color:#FF}error: 
'SSL_CTRL_OPTIONS' was not declared in this scope{color}
ssl::SSL_CTX_ctrl(ctx, SSL_CTRL_OPTIONS, flags, NULL);
^~~~
src/ssl/secure_socket_client.cpp:237:40: note: suggested alternative: 
'SQL_SCROLL_OPTIONS'
ssl::SSL_CTX_ctrl(ctx, SSL_CTRL_OPTIONS, flags, NULL);
^~~~
SQL_SCROLL_OPTIONS
 {color:#FF}Makefile:782: recipe for target 
'src/ssl/secure_socket_client.lo' failed{color}
make[3]: *** [src/ssl/secure_socket_client.lo] Error 1
make[3]: Leaving directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc'
Makefile:812: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc'
Makefile:432: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp'
Makefile:364: recipe for target 'all' failed
make: *** [all] Error 2

 

 

 

  was:
Making all in odbc
make[2]: Entering directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc'
Making all in include
make[3]: Entering directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc/include'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc/include'
make[3]: Entering directory 
'/root/tmp/apache-ignite-2.7.0-src/modules/platforms/cpp/odbc'
CXX src/ssl/secure_socket_client.lo
In file included from ./include/ignite/odbc/ssl/ssl_bindings.h:21:0,
from src/ssl/secure_socket_client.cpp:25:
./include/ignite/odbc/ssl/ssl_bindings.h:133:24: error: expression list treated 
as compound expression in initializer [-fpermissive]
inline int SSL_library_init()
^
In file included from src/ssl/secure_socket_client.cpp:25:0:
./include/ignite/odbc/ssl/ssl_bindings.h:134:13: error: expected ',' or ';' 
before '{' token
{
^
In file included from ./include/ignite/odbc/ssl/ssl_bindings.h:21:0,
from src/ssl/secure_socket_client.cpp:25:
./include/ignite/odbc/ssl/ssl_bindings.h:142:25: error: variable or field 
'OPENSSL_init_ssl' declared void
inline void SSL_load_error_strings()
^
src/ssl/secure_socket_client.cpp: In static member function 'static void* 
ignite::odbc::ssl::SecureSocketClient::MakeContext(const string&, const 
string&, const string&, ignite::odbc::diagnostic::Diagnosable&)':
src/ssl/secure_socket_client.cpp:206:31: error: 
'ignite::odbc::ssl::OPENSSL_init_ssl' cannot be used as a function
(void)SSL_library_init();
^
src/ssl/secure_socket_client.cpp:208:25: error: 
'ignite::odbc::ssl::OPENSSL_init_ssl' cannot be used as a function
SSL_load_error_strings();
^
src/ssl/secure_socket_client.cpp:237:40: error: 'SSL_CTRL_OPTIONS' was not 
decl

[jira] [Commented] (IGNITE-8283) CPP: Implement 'varint' solution to be configurable via BinaryConfiguration

2019-01-20 Thread prehistoricpenguin (JIRA)


[ 
https://issues.apache.org/jira/browse/IGNITE-8283?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16747415#comment-16747415
 ] 

prehistoricpenguin commented on IGNITE-8283:


@[~isapego]

Hi Igor, I have all the comments and PRs in the parent task. I am a little 
confused, the c++ source code lacks the class _BinaryConfiguration,_ which is 
located in the Java and C# source. So I need to create the class myself?

 

cc [~daradurvs]

> CPP: Implement 'varint' solution to be configurable via BinaryConfiguration
> ---
>
> Key: IGNITE-8283
> URL: https://issues.apache.org/jira/browse/IGNITE-8283
> Project: Ignite
>  Issue Type: Sub-task
>Reporter: Vyacheslav Daradur
>Assignee: prehistoricpenguin
>Priority: Major
> Fix For: 2.8
>
>
> Need to finish the solution that has been prepared into IGNITE-5153 to be 
> configurable via {{BinaryConfiguration}}.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-10054) sqlline hangs with concurrent operations

2019-01-20 Thread Vladimir Ozerov (JIRA)


 [ 
https://issues.apache.org/jira/browse/IGNITE-10054?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vladimir Ozerov closed IGNITE-10054.


> sqlline hangs with concurrent operations
> 
>
> Key: IGNITE-10054
> URL: https://issues.apache.org/jira/browse/IGNITE-10054
> Project: Ignite
>  Issue Type: Bug
>  Components: mvcc
>Affects Versions: 2.7
>Reporter: Sergey Kozlov
>Priority: Critical
> Attachments: 15828.txt, 16696.txt, ignite-24507fea.0.log, 
> ignite-c9ddebdb.0.log
>
>
> 1. Start 2 nodes cluster with PDS (wal_mode=FSYNC), activate
> 2. Start 1st {{bin/sqlline}} with following commands (in batch file):
> {noformat}
> create table t1 (a int, b int, primary key(a)) with 
> "atomicity=TRANSACTIONAL_SNAPSHOT,backups=1";
> insert into t1 values (1,1);
> insert into t1 values (2,1);
> insert into t1 values (3,1);
> insert into t1 values (4,1);
> insert into t1 values (5,1);
> insert into t1 values (6,1);
> insert into t1 values (7,1);
> insert into t1 values (8,1);
> insert into t1 values (9,1);
> insert into t1 values (10,1);
> begin;
> update t1 set b=b+1;
> commit;
> begin;
> update t1 set b=b+1;
> commit;
> begin;
> update t1 set b=b+1;
> commit;
> begin;
> update t1 set b=b+1;
> commit;
> ...repeat TX many times...
> {noformat}
> 3. Start 2nd {{bin/sqlline}} with following commands (in batch file):
> {noformat}
> begin;
> update t1 set b=b-1;
> commit;
> begin;
> update t1 set b=b-1;
> commit;
> begin;
> update t1 set b=b-1;
> commit;
> ...repeat TX many times...
> {noformat}
> 4. After some time both {{sqlline}} hang:
> {noformat}
> 611/113163   commit;
> Error: Failed to execute DDL statement [stmt=commit, err=Failed to finish 
> transaction because it has been rolled back [t
> imeout=0, 
> tx=GridNearTxLocal[xid=f91ff90c661--0914-10f6--0001, 
> xidVersion=GridCacheVersion [topVer=1
> 52310006, order=154082519, nodeOrder=1], concurrency=PESSIMISTIC, 
> isolation=REPEATABLE_READ, state=MARKED_ROLLBACK,
> invalidate=false, rollbackOnly=true, 
> nodeId=c9ddebdb-c328-4283-97c5-a663887a, timeout=0, duration=11, 
> label=null]]]
> (state=5,code=1)
> java.sql.SQLException: Failed to execute DDL statement [stmt=commit, 
> err=Failed to finish transaction because it has bee
> n rolled back [timeout=0, 
> tx=GridNearTxLocal[xid=f91ff90c661--0914-10f6--0001, 
> xidVersion=GridCacheV
> ersion [topVer=152310006, order=154082519, nodeOrder=1], 
> concurrency=PESSIMISTIC, isolation=REPEATABLE_READ, state=M
> ARKED_ROLLBACK, invalidate=false, rollbackOnly=true, 
> nodeId=c9ddebdb-c328-4283-97c5-a663887a, timeout=0, duration=11
> , label=null]]]
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:750)
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute0(JdbcThinStatement.java:212)
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute(JdbcThinStatement.java:475)
> at sqlline.Commands.execute(Commands.java:823)
> at sqlline.Commands.sql(Commands.java:733)
> at sqlline.SqlLine.dispatch(SqlLine.java:795)
> at sqlline.SqlLine.runCommands(SqlLine.java:1706)
> at sqlline.Commands.run(Commands.java:1317)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at 
> sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38)
> at sqlline.SqlLine.dispatch(SqlLine.java:791)
> at sqlline.SqlLine.initArgs(SqlLine.java:595)
> at sqlline.SqlLine.begin(SqlLine.java:643)
> at sqlline.SqlLine.start(SqlLine.java:373)
> at sqlline.SqlLine.main(SqlLine.java:265)
> 612/113163   begin;
> No rows affected (0 seconds)
> 613/113163   update t1 set b=b+1;
> {noformat}
> {noformat}
> Error: Failed to execute DDL statement [stmt=commit, err=Failed to finish 
> transaction because it has been rolled back [t
> imeout=0, 
> tx=GridNearTxLocal[xid=191ff90c661--0914-10f6--0001, 
> xidVersion=GridCacheVersion [topVer=1
> 52310006, order=154082505, nodeOrder=1], concurrency=PESSIMISTIC, 
> isolation=REPEATABLE_READ, state=MARKED_ROLLBACK,
> invalidate=false, rollbackOnly=true, 
> nodeId=c9ddebdb-c328-4283-97c5-a663887a, timeout=0, duration=11, 
> label=null]]]
> (state=5,code=1)
> java.sql.SQLException: Failed to execute DDL statement [stmt=commit, 
> err=Failed to finish transaction because it has bee
> n rolled back [timeout=0, 
> tx=GridNearTxLocal[xid=191ff90c661--0914-10f6

[jira] [Updated] (IGNITE-10054) sqlline hangs with concurrent operations

2019-01-20 Thread Vladimir Ozerov (JIRA)


 [ 
https://issues.apache.org/jira/browse/IGNITE-10054?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vladimir Ozerov updated IGNITE-10054:
-
Fix Version/s: (was: 2.8)

> sqlline hangs with concurrent operations
> 
>
> Key: IGNITE-10054
> URL: https://issues.apache.org/jira/browse/IGNITE-10054
> Project: Ignite
>  Issue Type: Bug
>  Components: mvcc
>Affects Versions: 2.7
>Reporter: Sergey Kozlov
>Priority: Critical
> Attachments: 15828.txt, 16696.txt, ignite-24507fea.0.log, 
> ignite-c9ddebdb.0.log
>
>
> 1. Start 2 nodes cluster with PDS (wal_mode=FSYNC), activate
> 2. Start 1st {{bin/sqlline}} with following commands (in batch file):
> {noformat}
> create table t1 (a int, b int, primary key(a)) with 
> "atomicity=TRANSACTIONAL_SNAPSHOT,backups=1";
> insert into t1 values (1,1);
> insert into t1 values (2,1);
> insert into t1 values (3,1);
> insert into t1 values (4,1);
> insert into t1 values (5,1);
> insert into t1 values (6,1);
> insert into t1 values (7,1);
> insert into t1 values (8,1);
> insert into t1 values (9,1);
> insert into t1 values (10,1);
> begin;
> update t1 set b=b+1;
> commit;
> begin;
> update t1 set b=b+1;
> commit;
> begin;
> update t1 set b=b+1;
> commit;
> begin;
> update t1 set b=b+1;
> commit;
> ...repeat TX many times...
> {noformat}
> 3. Start 2nd {{bin/sqlline}} with following commands (in batch file):
> {noformat}
> begin;
> update t1 set b=b-1;
> commit;
> begin;
> update t1 set b=b-1;
> commit;
> begin;
> update t1 set b=b-1;
> commit;
> ...repeat TX many times...
> {noformat}
> 4. After some time both {{sqlline}} hang:
> {noformat}
> 611/113163   commit;
> Error: Failed to execute DDL statement [stmt=commit, err=Failed to finish 
> transaction because it has been rolled back [t
> imeout=0, 
> tx=GridNearTxLocal[xid=f91ff90c661--0914-10f6--0001, 
> xidVersion=GridCacheVersion [topVer=1
> 52310006, order=154082519, nodeOrder=1], concurrency=PESSIMISTIC, 
> isolation=REPEATABLE_READ, state=MARKED_ROLLBACK,
> invalidate=false, rollbackOnly=true, 
> nodeId=c9ddebdb-c328-4283-97c5-a663887a, timeout=0, duration=11, 
> label=null]]]
> (state=5,code=1)
> java.sql.SQLException: Failed to execute DDL statement [stmt=commit, 
> err=Failed to finish transaction because it has bee
> n rolled back [timeout=0, 
> tx=GridNearTxLocal[xid=f91ff90c661--0914-10f6--0001, 
> xidVersion=GridCacheV
> ersion [topVer=152310006, order=154082519, nodeOrder=1], 
> concurrency=PESSIMISTIC, isolation=REPEATABLE_READ, state=M
> ARKED_ROLLBACK, invalidate=false, rollbackOnly=true, 
> nodeId=c9ddebdb-c328-4283-97c5-a663887a, timeout=0, duration=11
> , label=null]]]
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:750)
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute0(JdbcThinStatement.java:212)
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute(JdbcThinStatement.java:475)
> at sqlline.Commands.execute(Commands.java:823)
> at sqlline.Commands.sql(Commands.java:733)
> at sqlline.SqlLine.dispatch(SqlLine.java:795)
> at sqlline.SqlLine.runCommands(SqlLine.java:1706)
> at sqlline.Commands.run(Commands.java:1317)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at 
> sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38)
> at sqlline.SqlLine.dispatch(SqlLine.java:791)
> at sqlline.SqlLine.initArgs(SqlLine.java:595)
> at sqlline.SqlLine.begin(SqlLine.java:643)
> at sqlline.SqlLine.start(SqlLine.java:373)
> at sqlline.SqlLine.main(SqlLine.java:265)
> 612/113163   begin;
> No rows affected (0 seconds)
> 613/113163   update t1 set b=b+1;
> {noformat}
> {noformat}
> Error: Failed to execute DDL statement [stmt=commit, err=Failed to finish 
> transaction because it has been rolled back [t
> imeout=0, 
> tx=GridNearTxLocal[xid=191ff90c661--0914-10f6--0001, 
> xidVersion=GridCacheVersion [topVer=1
> 52310006, order=154082505, nodeOrder=1], concurrency=PESSIMISTIC, 
> isolation=REPEATABLE_READ, state=MARKED_ROLLBACK,
> invalidate=false, rollbackOnly=true, 
> nodeId=c9ddebdb-c328-4283-97c5-a663887a, timeout=0, duration=11, 
> label=null]]]
> (state=5,code=1)
> java.sql.SQLException: Failed to execute DDL statement [stmt=commit, 
> err=Failed to finish transaction because it has bee
> n rolled back [timeout=0, 
> tx=GridNearTxLoca

[jira] [Commented] (IGNITE-10054) sqlline hangs with concurrent operations

2019-01-20 Thread Vladimir Ozerov (JIRA)


[ 
https://issues.apache.org/jira/browse/IGNITE-10054?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16747414#comment-16747414
 ] 

Vladimir Ozerov commented on IGNITE-10054:
--

Expected for now. Deadlock handling will be introduced in IGNITE-9322.

> sqlline hangs with concurrent operations
> 
>
> Key: IGNITE-10054
> URL: https://issues.apache.org/jira/browse/IGNITE-10054
> Project: Ignite
>  Issue Type: Bug
>  Components: mvcc
>Affects Versions: 2.7
>Reporter: Sergey Kozlov
>Priority: Critical
> Fix For: 2.8
>
> Attachments: 15828.txt, 16696.txt, ignite-24507fea.0.log, 
> ignite-c9ddebdb.0.log
>
>
> 1. Start 2 nodes cluster with PDS (wal_mode=FSYNC), activate
> 2. Start 1st {{bin/sqlline}} with following commands (in batch file):
> {noformat}
> create table t1 (a int, b int, primary key(a)) with 
> "atomicity=TRANSACTIONAL_SNAPSHOT,backups=1";
> insert into t1 values (1,1);
> insert into t1 values (2,1);
> insert into t1 values (3,1);
> insert into t1 values (4,1);
> insert into t1 values (5,1);
> insert into t1 values (6,1);
> insert into t1 values (7,1);
> insert into t1 values (8,1);
> insert into t1 values (9,1);
> insert into t1 values (10,1);
> begin;
> update t1 set b=b+1;
> commit;
> begin;
> update t1 set b=b+1;
> commit;
> begin;
> update t1 set b=b+1;
> commit;
> begin;
> update t1 set b=b+1;
> commit;
> ...repeat TX many times...
> {noformat}
> 3. Start 2nd {{bin/sqlline}} with following commands (in batch file):
> {noformat}
> begin;
> update t1 set b=b-1;
> commit;
> begin;
> update t1 set b=b-1;
> commit;
> begin;
> update t1 set b=b-1;
> commit;
> ...repeat TX many times...
> {noformat}
> 4. After some time both {{sqlline}} hang:
> {noformat}
> 611/113163   commit;
> Error: Failed to execute DDL statement [stmt=commit, err=Failed to finish 
> transaction because it has been rolled back [t
> imeout=0, 
> tx=GridNearTxLocal[xid=f91ff90c661--0914-10f6--0001, 
> xidVersion=GridCacheVersion [topVer=1
> 52310006, order=154082519, nodeOrder=1], concurrency=PESSIMISTIC, 
> isolation=REPEATABLE_READ, state=MARKED_ROLLBACK,
> invalidate=false, rollbackOnly=true, 
> nodeId=c9ddebdb-c328-4283-97c5-a663887a, timeout=0, duration=11, 
> label=null]]]
> (state=5,code=1)
> java.sql.SQLException: Failed to execute DDL statement [stmt=commit, 
> err=Failed to finish transaction because it has bee
> n rolled back [timeout=0, 
> tx=GridNearTxLocal[xid=f91ff90c661--0914-10f6--0001, 
> xidVersion=GridCacheV
> ersion [topVer=152310006, order=154082519, nodeOrder=1], 
> concurrency=PESSIMISTIC, isolation=REPEATABLE_READ, state=M
> ARKED_ROLLBACK, invalidate=false, rollbackOnly=true, 
> nodeId=c9ddebdb-c328-4283-97c5-a663887a, timeout=0, duration=11
> , label=null]]]
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:750)
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute0(JdbcThinStatement.java:212)
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute(JdbcThinStatement.java:475)
> at sqlline.Commands.execute(Commands.java:823)
> at sqlline.Commands.sql(Commands.java:733)
> at sqlline.SqlLine.dispatch(SqlLine.java:795)
> at sqlline.SqlLine.runCommands(SqlLine.java:1706)
> at sqlline.Commands.run(Commands.java:1317)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at 
> sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38)
> at sqlline.SqlLine.dispatch(SqlLine.java:791)
> at sqlline.SqlLine.initArgs(SqlLine.java:595)
> at sqlline.SqlLine.begin(SqlLine.java:643)
> at sqlline.SqlLine.start(SqlLine.java:373)
> at sqlline.SqlLine.main(SqlLine.java:265)
> 612/113163   begin;
> No rows affected (0 seconds)
> 613/113163   update t1 set b=b+1;
> {noformat}
> {noformat}
> Error: Failed to execute DDL statement [stmt=commit, err=Failed to finish 
> transaction because it has been rolled back [t
> imeout=0, 
> tx=GridNearTxLocal[xid=191ff90c661--0914-10f6--0001, 
> xidVersion=GridCacheVersion [topVer=1
> 52310006, order=154082505, nodeOrder=1], concurrency=PESSIMISTIC, 
> isolation=REPEATABLE_READ, state=MARKED_ROLLBACK,
> invalidate=false, rollbackOnly=true, 
> nodeId=c9ddebdb-c328-4283-97c5-a663887a, timeout=0, duration=11, 
> label=null]]]
> (state=5,code=1)
> java.sql.SQLException: Failed to execute DDL sta

[jira] [Updated] (IGNITE-10054) sqlline hangs with concurrent operations

2019-01-20 Thread Vladimir Ozerov (JIRA)


 [ 
https://issues.apache.org/jira/browse/IGNITE-10054?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vladimir Ozerov updated IGNITE-10054:
-
Labels:   (was: mvcc_stabilization_stage_1 transactions)

> sqlline hangs with concurrent operations
> 
>
> Key: IGNITE-10054
> URL: https://issues.apache.org/jira/browse/IGNITE-10054
> Project: Ignite
>  Issue Type: Bug
>  Components: mvcc
>Affects Versions: 2.7
>Reporter: Sergey Kozlov
>Priority: Critical
> Fix For: 2.8
>
> Attachments: 15828.txt, 16696.txt, ignite-24507fea.0.log, 
> ignite-c9ddebdb.0.log
>
>
> 1. Start 2 nodes cluster with PDS (wal_mode=FSYNC), activate
> 2. Start 1st {{bin/sqlline}} with following commands (in batch file):
> {noformat}
> create table t1 (a int, b int, primary key(a)) with 
> "atomicity=TRANSACTIONAL_SNAPSHOT,backups=1";
> insert into t1 values (1,1);
> insert into t1 values (2,1);
> insert into t1 values (3,1);
> insert into t1 values (4,1);
> insert into t1 values (5,1);
> insert into t1 values (6,1);
> insert into t1 values (7,1);
> insert into t1 values (8,1);
> insert into t1 values (9,1);
> insert into t1 values (10,1);
> begin;
> update t1 set b=b+1;
> commit;
> begin;
> update t1 set b=b+1;
> commit;
> begin;
> update t1 set b=b+1;
> commit;
> begin;
> update t1 set b=b+1;
> commit;
> ...repeat TX many times...
> {noformat}
> 3. Start 2nd {{bin/sqlline}} with following commands (in batch file):
> {noformat}
> begin;
> update t1 set b=b-1;
> commit;
> begin;
> update t1 set b=b-1;
> commit;
> begin;
> update t1 set b=b-1;
> commit;
> ...repeat TX many times...
> {noformat}
> 4. After some time both {{sqlline}} hang:
> {noformat}
> 611/113163   commit;
> Error: Failed to execute DDL statement [stmt=commit, err=Failed to finish 
> transaction because it has been rolled back [t
> imeout=0, 
> tx=GridNearTxLocal[xid=f91ff90c661--0914-10f6--0001, 
> xidVersion=GridCacheVersion [topVer=1
> 52310006, order=154082519, nodeOrder=1], concurrency=PESSIMISTIC, 
> isolation=REPEATABLE_READ, state=MARKED_ROLLBACK,
> invalidate=false, rollbackOnly=true, 
> nodeId=c9ddebdb-c328-4283-97c5-a663887a, timeout=0, duration=11, 
> label=null]]]
> (state=5,code=1)
> java.sql.SQLException: Failed to execute DDL statement [stmt=commit, 
> err=Failed to finish transaction because it has bee
> n rolled back [timeout=0, 
> tx=GridNearTxLocal[xid=f91ff90c661--0914-10f6--0001, 
> xidVersion=GridCacheV
> ersion [topVer=152310006, order=154082519, nodeOrder=1], 
> concurrency=PESSIMISTIC, isolation=REPEATABLE_READ, state=M
> ARKED_ROLLBACK, invalidate=false, rollbackOnly=true, 
> nodeId=c9ddebdb-c328-4283-97c5-a663887a, timeout=0, duration=11
> , label=null]]]
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:750)
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute0(JdbcThinStatement.java:212)
> at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute(JdbcThinStatement.java:475)
> at sqlline.Commands.execute(Commands.java:823)
> at sqlline.Commands.sql(Commands.java:733)
> at sqlline.SqlLine.dispatch(SqlLine.java:795)
> at sqlline.SqlLine.runCommands(SqlLine.java:1706)
> at sqlline.Commands.run(Commands.java:1317)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at 
> sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38)
> at sqlline.SqlLine.dispatch(SqlLine.java:791)
> at sqlline.SqlLine.initArgs(SqlLine.java:595)
> at sqlline.SqlLine.begin(SqlLine.java:643)
> at sqlline.SqlLine.start(SqlLine.java:373)
> at sqlline.SqlLine.main(SqlLine.java:265)
> 612/113163   begin;
> No rows affected (0 seconds)
> 613/113163   update t1 set b=b+1;
> {noformat}
> {noformat}
> Error: Failed to execute DDL statement [stmt=commit, err=Failed to finish 
> transaction because it has been rolled back [t
> imeout=0, 
> tx=GridNearTxLocal[xid=191ff90c661--0914-10f6--0001, 
> xidVersion=GridCacheVersion [topVer=1
> 52310006, order=154082505, nodeOrder=1], concurrency=PESSIMISTIC, 
> isolation=REPEATABLE_READ, state=MARKED_ROLLBACK,
> invalidate=false, rollbackOnly=true, 
> nodeId=c9ddebdb-c328-4283-97c5-a663887a, timeout=0, duration=11, 
> label=null]]]
> (state=5,code=1)
> java.sql.SQLException: Failed to execute DDL statement [stmt=commit, 
> err=Failed to finish transaction because it 

[jira] [Updated] (IGNITE-7265) BPlusTreeSelfTest.testIterateConcurrentPutRemove_1 fails

2019-01-20 Thread Vladimir Ozerov (JIRA)


 [ 
https://issues.apache.org/jira/browse/IGNITE-7265?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vladimir Ozerov updated IGNITE-7265:

Labels: pagememory  (was: mvcc_stabilization_stage_1 pagememory)

> BPlusTreeSelfTest.testIterateConcurrentPutRemove_1 fails
> 
>
> Key: IGNITE-7265
> URL: https://issues.apache.org/jira/browse/IGNITE-7265
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Vladimir Ozerov
>Priority: Major
>  Labels: pagememory
> Fix For: 2.8
>
>
> {code}
> java.lang.AssertionError: Assertion error on row: 26
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.doPut(BPlusTree.java:2221)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.put(BPlusTree.java:2156)
>   at 
> org.apache.ignite.internal.processors.database.BPlusTreeSelfTest.iterateConcurrentPutRemove(BPlusTreeSelfTest.java:2202)
>   at 
> org.apache.ignite.internal.processors.database.BPlusTreeSelfTest.testIterateConcurrentPutRemove_1(BPlusTreeSelfTest.java:2169)
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.lang.reflect.Method.invoke(Method.java:498)
>   at junit.framework.TestCase.runTest(TestCase.java:176)
>   at 
> org.apache.ignite.testframework.junits.GridAbstractTest.runTestInternal(GridAbstractTest.java:2008)
>   at 
> org.apache.ignite.testframework.junits.GridAbstractTest.access$000(GridAbstractTest.java:132)
>   at 
> org.apache.ignite.testframework.junits.GridAbstractTest$5.run(GridAbstractTest.java:1923)
>   at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.AssertionError: 27
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.io.BPlusMetaIO.setLevelsCount(BPlusMetaIO.java:98)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.io.BPlusMetaIO.addRoot(BPlusMetaIO.java:155)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$AddRoot.run(BPlusTree.java:661)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$AddRoot.run(BPlusTree.java:650)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.util.PageHandler.writePage(PageHandler.java:277)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.DataStructure.write(DataStructure.java:241)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.access$10500(BPlusTree.java:82)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Put.insertWithSplit(BPlusTree.java:3073)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Put.insert(BPlusTree.java:2949)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Put.access$2500(BPlusTree.java:2831)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Insert.run0(BPlusTree.java:420)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Insert.run0(BPlusTree.java:401)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$GetPageHandler.run(BPlusTree.java:5153)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$GetPageHandler.run(BPlusTree.java:5138)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.util.PageHandler.writePage(PageHandler.java:342)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.DataStructure.write(DataStructure.java:261)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.access$11100(BPlusTree.java:82)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Put.tryInsert(BPlusTree.java:3143)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Put.access$7500(BPlusTree.java:2831)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.putDown(BPlusTree.java:2464)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.doPut(BPlusTree.java:2185)
>   ... 12 more
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-7265) BPlusTreeSelfTest.testIterateConcurrentPutRemove_1 fails

2019-01-20 Thread Vladimir Ozerov (JIRA)


 [ 
https://issues.apache.org/jira/browse/IGNITE-7265?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vladimir Ozerov updated IGNITE-7265:

Component/s: (was: mvcc)

> BPlusTreeSelfTest.testIterateConcurrentPutRemove_1 fails
> 
>
> Key: IGNITE-7265
> URL: https://issues.apache.org/jira/browse/IGNITE-7265
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Vladimir Ozerov
>Priority: Major
>  Labels: mvcc_stabilization_stage_1, pagememory
> Fix For: 2.8
>
>
> {code}
> java.lang.AssertionError: Assertion error on row: 26
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.doPut(BPlusTree.java:2221)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.put(BPlusTree.java:2156)
>   at 
> org.apache.ignite.internal.processors.database.BPlusTreeSelfTest.iterateConcurrentPutRemove(BPlusTreeSelfTest.java:2202)
>   at 
> org.apache.ignite.internal.processors.database.BPlusTreeSelfTest.testIterateConcurrentPutRemove_1(BPlusTreeSelfTest.java:2169)
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.lang.reflect.Method.invoke(Method.java:498)
>   at junit.framework.TestCase.runTest(TestCase.java:176)
>   at 
> org.apache.ignite.testframework.junits.GridAbstractTest.runTestInternal(GridAbstractTest.java:2008)
>   at 
> org.apache.ignite.testframework.junits.GridAbstractTest.access$000(GridAbstractTest.java:132)
>   at 
> org.apache.ignite.testframework.junits.GridAbstractTest$5.run(GridAbstractTest.java:1923)
>   at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.AssertionError: 27
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.io.BPlusMetaIO.setLevelsCount(BPlusMetaIO.java:98)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.io.BPlusMetaIO.addRoot(BPlusMetaIO.java:155)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$AddRoot.run(BPlusTree.java:661)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$AddRoot.run(BPlusTree.java:650)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.util.PageHandler.writePage(PageHandler.java:277)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.DataStructure.write(DataStructure.java:241)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.access$10500(BPlusTree.java:82)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Put.insertWithSplit(BPlusTree.java:3073)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Put.insert(BPlusTree.java:2949)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Put.access$2500(BPlusTree.java:2831)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Insert.run0(BPlusTree.java:420)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Insert.run0(BPlusTree.java:401)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$GetPageHandler.run(BPlusTree.java:5153)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$GetPageHandler.run(BPlusTree.java:5138)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.util.PageHandler.writePage(PageHandler.java:342)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.DataStructure.write(DataStructure.java:261)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.access$11100(BPlusTree.java:82)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Put.tryInsert(BPlusTree.java:3143)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Put.access$7500(BPlusTree.java:2831)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.putDown(BPlusTree.java:2464)
>   at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.doPut(BPlusTree.java:2185)
>   ... 12 more
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-10927) Relieve JUnit3TestLegacySupport from inheriting deprecated junit.framework.Assert (follow-up to IGNITE-10177)

2019-01-20 Thread Ignite TC Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/IGNITE-10927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16747412#comment-16747412
 ] 

Ignite TC Bot commented on IGNITE-10927:


{panel:title=--> Run :: All: Possible 
Blockers|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1}
{color:#d04437}MVCC PDS 1{color} [[tests 0 JVM CRASH , Exit Code 
|https://ci.ignite.apache.org/viewLog.html?buildId=2850548]]

{panel}
[TeamCity *--> Run :: All* 
Results|https://ci.ignite.apache.org/viewLog.html?buildId=2850552&buildTypeId=IgniteTests24Java8_RunAll]

> Relieve JUnit3TestLegacySupport from inheriting deprecated 
> junit.framework.Assert (follow-up to IGNITE-10177)
> -
>
> Key: IGNITE-10927
> URL: https://issues.apache.org/jira/browse/IGNITE-10927
> Project: Ignite
>  Issue Type: Sub-task
>Affects Versions: 2.7
>Reporter: Oleg Ignatenko
>Assignee: Oleg Ignatenko
>Priority: Major
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> {{JUnit3TestLegacySupport}} currently inherits deprecated 
> {{junit.framework.Assert}}. This was done only in order to minimize risky 
> code changes when tests were migrating from Junit 3, after 
> {{GridAbstractTest}} has dropped inheriting {{junit.framework.TestCase}}.
> Now that migration is over it is less risky to cleanup project from 
> deprecated assert methods and drop the harmful inheritance. In order to make 
> this smoother and minimize amount of test changes, after inheritance is 
> dropped, {{JUnit3TestLegacySupport}} should be extended with a set of 
> "temporary patch" methods that would delegate most popular assertions used by 
> subclasses to respective methods of {{org.junit.Assert}}.
> Mentioned temporary patch methods, in turn, should respective 
> {{2deprecation}} notices in javadocs that would encourage developers to 
> (safely and gradually) change them to direct invocations and static imports 
> of respective Assert methods instead of using those inherited from 
> superclass. These patch methods should be declared {{protected final}} or 
> {{protected static}}, in order to minimize their applicability and prevent 
> them spreading more than intended. (as a side note, experimenting has shown 
> that use of {{@Deprecated}} annotation is not feasible as it deprives 
> developers an option to use static imports)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Assigned] (IGNITE-10347) Expose system SQL view for running queries

2019-01-20 Thread Vladimir Ozerov (JIRA)


 [ 
https://issues.apache.org/jira/browse/IGNITE-10347?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vladimir Ozerov reassigned IGNITE-10347:


Assignee: Vladimir Ozerov  (was: Yury Gerzhedovich)

> Expose system SQL view for running queries
> --
>
> Key: IGNITE-10347
> URL: https://issues.apache.org/jira/browse/IGNITE-10347
> Project: Ignite
>  Issue Type: Task
>Reporter: Yury Gerzhedovich
>Assignee: Vladimir Ozerov
>Priority: Major
>  Labels: iep-29, sql
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Need to  expose system SQL view to provide list of running queries. Proposed 
> name is *running_queries* with following columns: query_id, node_id, sql, 
> schema_name, duration.
> Where,
> query_id - cluster unique id of query with format \{node_order_id}
> {X}
> {node_qry_cntr}, both node_order_id and node_qry_cntr encoded to HEX. X - 'X' 
> letter used as separator.
> node_id - id of node where query was started
> sql - sql command
> schema_name - SQL schema name
> duration - time in ms from start of execution of query
>  
> The view should contains all kind of running queries from RunningQueryManager 
> on local node



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-10347) Expose system SQL view for running queries

2019-01-20 Thread Vladimir Ozerov (JIRA)


[ 
https://issues.apache.org/jira/browse/IGNITE-10347?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16747413#comment-16747413
 ] 

Vladimir Ozerov commented on IGNITE-10347:
--

[~jooger], my comments:
# This view expose only local running queries. There will be more such views 
with local-only info, along with views, which collect info from the whole 
cluster. Hence, we need a prefix to distinguish local from non-local stuff
# From what I understand, this view is concernted only about SQL queries, so 
this should be reflected in the name as well. Taking this and previous points 
in count, I would name the view {{LOCAL_SQL_RUNNING_QUERIES}} or 
{LOCAL_SQL_QUERIES}}
# Do we really need {{NODE_ID}} for local view? IMO it is not necessary
# Query ID should not be manipulated anyhow inside the view. Instead, correct 
string representation of query ID should already be prepared inside indexing.
# Not sure if we need any special mechanics for duration ranges. H2 already 
will do all necessary stuff for us, so why bother? Note that 
{{GridQueryProcessor#runningQueries}} method with {{long}} parameter was 
created long ago and for completely different purpose - to report long-running 
queries. No need to rely on it, we are free to create our own overload which 
will return all running queries
# Why do we need to perform any HEX manipulations on query ID parts? It doesn't 
add any clarity to user, neither seem to add any other value.
# Please confirm that non-SQL queries are filtered out in the view. I cannot 
find relevant code.

> Expose system SQL view for running queries
> --
>
> Key: IGNITE-10347
> URL: https://issues.apache.org/jira/browse/IGNITE-10347
> Project: Ignite
>  Issue Type: Task
>Reporter: Yury Gerzhedovich
>Assignee: Yury Gerzhedovich
>Priority: Major
>  Labels: iep-29, sql
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Need to  expose system SQL view to provide list of running queries. Proposed 
> name is *running_queries* with following columns: query_id, node_id, sql, 
> schema_name, duration.
> Where,
> query_id - cluster unique id of query with format \{node_order_id}
> {X}
> {node_qry_cntr}, both node_order_id and node_qry_cntr encoded to HEX. X - 'X' 
> letter used as separator.
> node_id - id of node where query was started
> sql - sql command
> schema_name - SQL schema name
> duration - time in ms from start of execution of query
>  
> The view should contains all kind of running queries from RunningQueryManager 
> on local node



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-10758) remove from tests scaffolding annotations "@RunWith(JUnit4.class)" and their respective imports

2019-01-20 Thread Ignite TC Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/IGNITE-10758?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16747411#comment-16747411
 ] 

Ignite TC Bot commented on IGNITE-10758:


{panel:title=--> Run :: All (Nightly): No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
[TeamCity *--> Run :: All (Nightly)* 
Results|https://ci.ignite.apache.org/viewLog.html?buildId=2842753&buildTypeId=IgniteTests24Java8_RunAllNightly]

> remove from tests scaffolding annotations "@RunWith(JUnit4.class)" and their 
> respective imports
> ---
>
> Key: IGNITE-10758
> URL: https://issues.apache.org/jira/browse/IGNITE-10758
> Project: Ignite
>  Issue Type: Sub-task
>Affects Versions: 2.8
>Reporter: Oleg Ignatenko
>Priority: Major
>  Labels: MakeTeamcityGreenAgain
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> In the course of IGNITE-10175 and IGNITE-10176 many test classes were 
> annotated {{@RunWith(JUnit4.class)}}. This was necessary to allow gradual 
> switching to JUnit 4 to let classes run under the version that worked for 
> these.
> After IGNITE-10177 is over, these scaffolding annotations will be not needed 
> anymore (and will become even somewhat damaging by misleading readers to 
> think that they serve some real purpose).
> The task is to remove these annotations and respective import statements 
> after IGNITE-10177 is merged to master. Note it was initially planned as a 
> part of IGNITE-10177 but per discussion with [~EdShangGG] we decided that it 
> will be more convenient to do this in a separate ticket because this will 
> make changes much easier to review, test and merge.
> (!) Thing worth paying attention is that mentioned annotations should be kept 
> in one case - namely in root test class {{GridAbstractTest}} because over 
> there these are necessary until JUnit 3 dependencies are wiped out from 
> remaining cases listed in IGNITE-10739.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Assigned] (IGNITE-10347) Expose system SQL view for running queries

2019-01-20 Thread Vladimir Ozerov (JIRA)


 [ 
https://issues.apache.org/jira/browse/IGNITE-10347?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vladimir Ozerov reassigned IGNITE-10347:


Assignee: Yury Gerzhedovich  (was: Vladimir Ozerov)

> Expose system SQL view for running queries
> --
>
> Key: IGNITE-10347
> URL: https://issues.apache.org/jira/browse/IGNITE-10347
> Project: Ignite
>  Issue Type: Task
>Reporter: Yury Gerzhedovich
>Assignee: Yury Gerzhedovich
>Priority: Major
>  Labels: iep-29, sql
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Need to  expose system SQL view to provide list of running queries. Proposed 
> name is *running_queries* with following columns: query_id, node_id, sql, 
> schema_name, duration.
> Where,
> query_id - cluster unique id of query with format \{node_order_id}
> {X}
> {node_qry_cntr}, both node_order_id and node_qry_cntr encoded to HEX. X - 'X' 
> letter used as separator.
> node_id - id of node where query was started
> sql - sql command
> schema_name - SQL schema name
> duration - time in ms from start of execution of query
>  
> The view should contains all kind of running queries from RunningQueryManager 
> on local node



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-10688) Expose SQL views for IO statistics

2019-01-20 Thread Vladimir Ozerov (JIRA)


[ 
https://issues.apache.org/jira/browse/IGNITE-10688?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16747407#comment-16747407
 ] 

Vladimir Ozerov commented on IGNITE-10688:
--

NB: There is no ticket for SQL indexes view. It should be created and completed 
after IGNITE-10784 is ready.

> Expose SQL views for IO statistics
> --
>
> Key: IGNITE-10688
> URL: https://issues.apache.org/jira/browse/IGNITE-10688
> Project: Ignite
>  Issue Type: Task
>  Components: persistence, sql
>Reporter: Yury Gerzhedovich
>Assignee: Yury Gerzhedovich
>Priority: Major
>  Labels: iep-27
> Fix For: 2.8
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> As of now no such way to get IO statistics through SQL. 
> Need to expose two system SQL views to be able view statistics for indexes 
> and cache group caches.
>  
> 1) STATIO_CACHE_GRP
> {quote}cache_grp_name         - Name of cache group
> physical_read               - Number of physical read of pages
> logical_read                  - Number of logical read of pages{quote}
> 2) STATIO_IDX
> {quote}cache_grp_name         - Name of cache group{quote}
> {quote}idx_name                     - Name of index
> physical_read               - Common number of physical reads of pages for 
> the index
> logical_read                  - Common number of logical reads of pages for 
> the index{quote}
> {quote}leaf_logical_read          - Number of logical reads of index leaf 
> pages{quote}
> {quote}leaf_physical_read       - Number of physical reads of index leaf 
> pages{quote}
> {quote}inner_logical_read        - Number of logical reads of index inner 
> pages{quote}
> {quote}inner_physical_read     - Number of physical reads of index leaf 
> pages{quote}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-10688) Expose SQL views for IO statistics

2019-01-20 Thread Vladimir Ozerov (JIRA)


[ 
https://issues.apache.org/jira/browse/IGNITE-10688?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16747406#comment-16747406
 ] 

Vladimir Ozerov commented on IGNITE-10688:
--

[~jooger], my comments:
# Why do we use strange {{statio}} prefix? Is it taken from other database? To 
me it would be much more clear to have e.g. {{CACHE_GROUP_IO}} next to already 
existing {{CACHE_GROUP}} view
# Same question to column names - why {{CACHE_GRP_NAME}}, while base view 
{{CACHE_GROUPS}} has {{ID}} and {{GROUP_NAME}} columns? Let's add the same 
columns to allow for intuitive joins on either {{ID} or {{GROUP_NAME}} fields. 
# Could you please confirm that cache groups without any operations performed 
on them will still return a row with zero statistics? This should be the case 
because otherwise users will get missing rows when trying to join base 
{{CACHE_GROUPS}} view with the new one
# Having SQL index IO stats view before we implemented SQL indexes view looks a 
bit prematurely to me. Because we do not know yet how indexes will be exposed, 
and how are we going to join groups, caches, tables, indexes and stats.

Note that {{CACHE_GROUP.ID}} is not very good naming actually. Instead, it 
would be better to name it {{CACHE_GROUP.GROUP_NAME}}, so may be we'd better to 
use {{GROUP_NAME}} in out view. 

> Expose SQL views for IO statistics
> --
>
> Key: IGNITE-10688
> URL: https://issues.apache.org/jira/browse/IGNITE-10688
> Project: Ignite
>  Issue Type: Task
>  Components: persistence, sql
>Reporter: Yury Gerzhedovich
>Assignee: Yury Gerzhedovich
>Priority: Major
>  Labels: iep-27
> Fix For: 2.8
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> As of now no such way to get IO statistics through SQL. 
> Need to expose two system SQL views to be able view statistics for indexes 
> and cache group caches.
>  
> 1) STATIO_CACHE_GRP
> {quote}cache_grp_name         - Name of cache group
> physical_read               - Number of physical read of pages
> logical_read                  - Number of logical read of pages{quote}
> 2) STATIO_IDX
> {quote}cache_grp_name         - Name of cache group{quote}
> {quote}idx_name                     - Name of index
> physical_read               - Common number of physical reads of pages for 
> the index
> logical_read                  - Common number of logical reads of pages for 
> the index{quote}
> {quote}leaf_logical_read          - Number of logical reads of index leaf 
> pages{quote}
> {quote}leaf_physical_read       - Number of physical reads of index leaf 
> pages{quote}
> {quote}inner_logical_read        - Number of logical reads of index inner 
> pages{quote}
> {quote}inner_physical_read     - Number of physical reads of index leaf 
> pages{quote}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-10754) Query history statistics API

2019-01-20 Thread Vladimir Ozerov (JIRA)


[ 
https://issues.apache.org/jira/browse/IGNITE-10754?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16747402#comment-16747402
 ] 

Vladimir Ozerov commented on IGNITE-10754:
--

[~jooger], implementation still doesn't look correct to me. 
# First question is why we return {{RunningQueryManager.register}} returns 
{{GridRunningQueryInfo}}, while in reality {{Long}} iD is enough, as nothing 
else from {{GridRunningQueryInfo}} is used anywhere. 
# Why {{RunningQueryManager.unregister}} methods are not void? Their results 
are not used anywhere.
# {{RunningQueryManager.unregister}} - when {{run,remove}} is called, 
subsequent call to query history tracker do not perform {{null}} check. As a 
result, one may get NPE in {{close}} is called several times on some cursor.

> Query history statistics API
> 
>
> Key: IGNITE-10754
> URL: https://issues.apache.org/jira/browse/IGNITE-10754
> Project: Ignite
>  Issue Type: Task
>  Components: sql
>Reporter: Yury Gerzhedovich
>Assignee: Yury Gerzhedovich
>Priority: Major
>  Labels: iep-29, monitoring
> Fix For: 2.8
>
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> As of now we have query statistics 
> (*_org.apache.ignite.IgniteCache#queryMetrics_*) , but have few issues.
>  1) Duration execution it just time between start execution and return cursor 
> to client and doesn't include all life time of query.
>  2) It doesn't know about multistatement queries. Such queries participate in 
> statistics as single query without splitting.
>  3) API to access the statistics expose as depend on cache, however query 
> don't have such dependency.
>   
>  Need to create parallel similar realization as we already have.
>  Use new infrastructure of tracking running queries developed under 
> IGNITE-10621 and update statistics on unregister phase.
>  Expose API on upper level then it placed now. Right place will be written 
> later.
>   
>   



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)