[jira] [Commented] (IGNITE-8049) Limit the number of operation cycles in B+Tree

2018-04-06 Thread Dmitriy Pavlov (JIRA)

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

Dmitriy Pavlov commented on IGNITE-8049:


[~astelmak], please close not needed PR 
https://github.com/apache/ignite/pull/3740


> Limit the number of operation cycles in B+Tree
> --
>
> Key: IGNITE-8049
> URL: https://issues.apache.org/jira/browse/IGNITE-8049
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.4
>Reporter: Alexey Goncharuk
>Assignee: Alexey Stelmak
>Priority: Major
> Fix For: 2.5
>
>
> When a tree is corrupted, a B+Tree operation may result in an infinite loop. 
> We should limit the number of retries and fail if this limit is exceeded.



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


[jira] [Commented] (IGNITE-8049) Limit the number of operation cycles in B+Tree

2018-04-06 Thread Dmitriy Pavlov (JIRA)

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

Dmitriy Pavlov commented on IGNITE-8049:


[~ivan.glukos] thank you for review, [~astelmak], thank you for contribution

I've merged it to master.

> Limit the number of operation cycles in B+Tree
> --
>
> Key: IGNITE-8049
> URL: https://issues.apache.org/jira/browse/IGNITE-8049
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.4
>Reporter: Alexey Goncharuk
>Assignee: Alexey Stelmak
>Priority: Major
> Fix For: 2.5
>
>
> When a tree is corrupted, a B+Tree operation may result in an infinite loop. 
> We should limit the number of retries and fail if this limit is exceeded.



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


[jira] [Commented] (IGNITE-8049) Limit the number of operation cycles in B+Tree

2018-04-06 Thread Ivan Rakov (JIRA)

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

Ivan Rakov commented on IGNITE-8049:


Changes look good now: https://github.com/apache/ignite/pull/3769
[~dpavlov], please help with merge.

> Limit the number of operation cycles in B+Tree
> --
>
> Key: IGNITE-8049
> URL: https://issues.apache.org/jira/browse/IGNITE-8049
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.4
>Reporter: Alexey Goncharuk
>Assignee: Alexey Stelmak
>Priority: Major
> Fix For: 2.5
>
>
> When a tree is corrupted, a B+Tree operation may result in an infinite loop. 
> We should limit the number of retries and fail if this limit is exceeded.



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


[jira] [Commented] (IGNITE-8049) Limit the number of operation cycles in B+Tree

2018-04-05 Thread Ivan Rakov (JIRA)

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

Ivan Rakov commented on IGNITE-8049:


[~astelmak], I've looked through your changes and have some comments:
1. If you want to introduce new Ignite system property, it's better to declare 
it along with other ones as static field of IgniteSystemProperties class.
2. It's arguable and depends on personal sense of code clarity, but I expect 
that method "*can*LockRetry" will return boolean. I'd rename it into 
"*check*LockRetryCount" or something like that.
3. BPlusTree#getLockRetries accesses property map on every B+ tree operation. 
It's unlikely that it will be changed in runtime - so I guess map lookup result 
can be memoized as static field of B+ tree class (you still will be able to 
override it via overriding #getLockRetries).

Also, few comments regarding code style:
1. New field BPlusTree.Get#lockRetriesCnt lacks a meaningful javadoc.
2. BPlusTree.Get#canLockRetry lacks blank line
3. BPlusTreeSelfTest - unused imports
4. BPlusTreeSelfTest#testRetries lacks blank line (between put and fail)

> Limit the number of operation cycles in B+Tree
> --
>
> Key: IGNITE-8049
> URL: https://issues.apache.org/jira/browse/IGNITE-8049
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.4
>Reporter: Alexey Goncharuk
>Assignee: Alexey Stelmak
>Priority: Major
> Fix For: 2.5
>
>
> When a tree is corrupted, a B+Tree operation may result in an infinite loop. 
> We should limit the number of retries and fail if this limit is exceeded.



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


[jira] [Commented] (IGNITE-8049) Limit the number of operation cycles in B+Tree

2018-04-05 Thread Eduard Shangareev (JIRA)

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

Eduard Shangareev commented on IGNITE-8049:
---

PR - https://github.com/apache/ignite/pull/3740

> Limit the number of operation cycles in B+Tree
> --
>
> Key: IGNITE-8049
> URL: https://issues.apache.org/jira/browse/IGNITE-8049
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.4
>Reporter: Alexey Goncharuk
>Assignee: Alexey Stelmak
>Priority: Major
> Fix For: 2.5
>
>
> When a tree is corrupted, a B+Tree operation may result in an infinite loop. 
> We should limit the number of retries and fail if this limit is exceeded.



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


[jira] [Commented] (IGNITE-8049) Limit the number of operation cycles in B+Tree

2018-04-05 Thread Alexey Stelmak (JIRA)

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

Alexey Stelmak commented on IGNITE-8049:


https://ci.ignite.apache.org/viewType.html?buildTypeId=IgniteTests24Java8_RunAll_IgniteTests24Java8=pull%2F3740%2Fhead=buildTypeStatusDiv

> Limit the number of operation cycles in B+Tree
> --
>
> Key: IGNITE-8049
> URL: https://issues.apache.org/jira/browse/IGNITE-8049
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.4
>Reporter: Alexey Goncharuk
>Assignee: Alexey Stelmak
>Priority: Major
> Fix For: 2.5
>
>
> When a tree is corrupted, a B+Tree operation may result in an infinite loop. 
> We should limit the number of retries and fail if this limit is exceeded.



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