[jira] [Created] (IGNITE-15125) Implement naive baseline

2021-07-14 Thread Alexander Lapin (Jira)
Alexander Lapin created IGNITE-15125:


 Summary: Implement naive baseline
 Key: IGNITE-15125
 URL: https://issues.apache.org/jira/browse/IGNITE-15125
 Project: Ignite
  Issue Type: Bug
Reporter: Alexander Lapin
Assignee: Alexander Lapin


In order to satisfy the needs on assignments recalculation on topology changes 
it's required to implement baseline concept. It might be a naive one that will 
contain all topology nodes and will change on every node add/left event.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-15122) Calcite. Remove sync mode of RootNode#closeInternal

2021-07-14 Thread Stanilovsky Evgeny (Jira)


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

Stanilovsky Evgeny commented on IGNITE-15122:
-

looks good.

> Calcite. Remove sync mode of RootNode#closeInternal
> ---
>
> Key: IGNITE-15122
> URL: https://issues.apache.org/jira/browse/IGNITE-15122
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Konstantin Orlov
>Assignee: Konstantin Orlov
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Currently we are waiting on future to complete inside RootNode#closeInternal. 
> It potentially could causes a query to stale in case someone will invoke this 
> method inside a taskExecutor.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (IGNITE-15124) Merge master to sql-calcite feature branch

2021-07-14 Thread Alexander Belyak (Jira)
Alexander Belyak created IGNITE-15124:
-

 Summary: Merge master to sql-calcite feature branch
 Key: IGNITE-15124
 URL: https://issues.apache.org/jira/browse/IGNITE-15124
 Project: Ignite
  Issue Type: Improvement
Reporter: Alexander Belyak
Assignee: Alexander Belyak






--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-15079) SharedPageLockTracker.structureNameToId map is populated but never cleaned - 1.3G retained heap

2021-07-14 Thread Semyon Danilov (Jira)


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

Semyon Danilov commented on IGNITE-15079:
-

LGTM! Thank you

> SharedPageLockTracker.structureNameToId map is populated but never cleaned - 
> 1.3G retained heap
> ---
>
> Key: IGNITE-15079
> URL: https://issues.apache.org/jira/browse/IGNITE-15079
> Project: Ignite
>  Issue Type: Task
>Affects Versions: 2.10
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
> Fix For: 2.12
>
> Attachments: structureNameById.png
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> I can see SharedPageLockTracker.structureNameToId.put() being called, but 
> never remove() or clear().
> Naturally, this leads to memory leak. During 36d uptime, an 1.3G of total 
> retained heap (keys, values and cells) were reached. This is unacceptable, it 
> should have either TTL or max size to avoid using 1% of heap (20% in this 
> case).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (IGNITE-14843) Avoid probing follower if it's dead by discovery

2021-07-14 Thread Alexey Scherbakov (Jira)


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

Alexey Scherbakov resolved IGNITE-14843.

Resolution: Won't Fix

Sometime a discovery event is lost with the current implementation on node 
restarts, so it's not possible to solely relay on this for replicator 
management.

Closing ticket for now.

It can be re-evaluated as soon as a discovery is proven to work reliably.

> Avoid probing follower if it's dead by discovery
> 
>
> Key: IGNITE-14843
> URL: https://issues.apache.org/jira/browse/IGNITE-14843
> Project: Ignite
>  Issue Type: Task
>Reporter: Alexey Scherbakov
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-alpha3
>
>
> We can remove some computations (checking for dead nodes) and replace it with
> SWIM node alive event - start replicator when the event is received.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15123) Calcite. Multi-tuple insert fails on validation

2021-07-14 Thread Konstantin Orlov (Jira)


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

Konstantin Orlov updated IGNITE-15123:
--
Environment: (was: 
{noformat}
class org.apache.ignite.internal.processors.query.IgniteSQLException: Failed to 
validate query.

at 
org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.prepareQuery(ExecutionServiceImpl.java:531)
at 
org.apache.ignite.internal.processors.query.calcite.prepare.QueryPlanCacheImpl.queryPlan(QueryPlanCacheImpl.java:84)
at 
org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.executeQuery(ExecutionServiceImpl.java:391)
at 
org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessor.query(CalciteQueryProcessor.java:259)
at 
org.apache.ignite.internal.processors.query.calcite.integration.AbstractDdlIntegrationTest.executeSql(AbstractDdlIntegrationTest.java:77)
at 
org.apache.ignite.internal.processors.query.calcite.integration.TableDdlIntegrationTest.test(TableDdlIntegrationTest.java:91)
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 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at 
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at 
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at 
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at 
org.apache.ignite.testframework.junits.GridAbstractTest$7.run(GridAbstractTest.java:2432)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.calcite.tools.ValidationException: 
org.apache.calcite.runtime.CalciteContextException: From line 1, column 18 to 
line 1, column 44: Values passed to VALUES operator must have compatible types
at 
org.apache.ignite.internal.processors.query.calcite.prepare.IgnitePlanner.validate(IgnitePlanner.java:175)
at 
org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.prepareDml(ExecutionServiceImpl.java:601)
at 
org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.prepareSingle(ExecutionServiceImpl.java:565)
at 
org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.prepareQuery(ExecutionServiceImpl.java:514)
... 17 more
Caused by: org.apache.calcite.runtime.CalciteContextException: From line 1, 
column 18 to line 1, column 44: Values passed to VALUES operator must have 
compatible types
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at 
org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:506)
at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:917)
at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:902)
at 
org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:5271)
at 
org.apache.calcite.sql.validate.SqlValidatorImpl.validateValues(SqlValidatorImpl.java:5217)
at 
org.apache.calcite.sql.validate.TableConstructorNamespace.validateImpl(TableConstructorNamespace.java:61)
at 
org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:89)
at 
org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:1098)
at 
org.apache.ignite.internal.processors.query.calcite.prepare.IgniteSqlValidator.validateNamespace(IgniteSqlValidator.java:196)
at 
org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:1069)
at 
org.apache.calcite.sql.validate.SqlValidatorImpl.validateInsert(SqlValidatorImpl.java:4594)
at 
org.apache.ignite.internal.processors.query.calcite.prepare.IgniteSqlValidator.validateInsert(IgniteSqlValidator.java:115)
at org.apache.calcite.sql.SqlInsert.validate(SqlInsert.java:166)
at 
org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpression(SqlValidatorImpl.java:1044)
at 
org.apache.calcite.sql.validate.SqlValidatorImpl.val

[jira] [Updated] (IGNITE-15123) Calcite. Multi-tuple insert fails on validation

2021-07-14 Thread Konstantin Orlov (Jira)


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

Konstantin Orlov updated IGNITE-15123:
--
Description: 
Currently a query like below fails on validation step:

{code:java}
create table test(d date);
insert into test values('1990-01-01'),(null);
{code}

The reason is an extra validation step for insert with several tuples. This 
validation checks that all tuples have the same degree and the types of the 
corresponding fields throughout all tuples have the same family. 

In the example above types are mismatched cause type of the first tuple is 
CHAR, and type of the second tuple is DATE (because it's derived from table).


{noformat}
class org.apache.ignite.internal.processors.query.IgniteSQLException: Failed to 
validate query.

at 
org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.prepareQuery(ExecutionServiceImpl.java:531)
at 
org.apache.ignite.internal.processors.query.calcite.prepare.QueryPlanCacheImpl.queryPlan(QueryPlanCacheImpl.java:84)
at 
org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.executeQuery(ExecutionServiceImpl.java:391)
at 
org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessor.query(CalciteQueryProcessor.java:259)
at 
org.apache.ignite.internal.processors.query.calcite.integration.AbstractDdlIntegrationTest.executeSql(AbstractDdlIntegrationTest.java:77)
at 
org.apache.ignite.internal.processors.query.calcite.integration.TableDdlIntegrationTest.test(TableDdlIntegrationTest.java:91)
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 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at 
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at 
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at 
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at 
org.apache.ignite.testframework.junits.GridAbstractTest$7.run(GridAbstractTest.java:2432)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.calcite.tools.ValidationException: 
org.apache.calcite.runtime.CalciteContextException: From line 1, column 18 to 
line 1, column 44: Values passed to VALUES operator must have compatible types
at 
org.apache.ignite.internal.processors.query.calcite.prepare.IgnitePlanner.validate(IgnitePlanner.java:175)
at 
org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.prepareDml(ExecutionServiceImpl.java:601)
at 
org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.prepareSingle(ExecutionServiceImpl.java:565)
at 
org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.prepareQuery(ExecutionServiceImpl.java:514)
... 17 more
Caused by: org.apache.calcite.runtime.CalciteContextException: From line 1, 
column 18 to line 1, column 44: Values passed to VALUES operator must have 
compatible types
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at 
org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:506)
at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:917)
at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:902)
at 
org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:5271)
at 
org.apache.calcite.sql.validate.SqlValidatorImpl.validateValues(SqlValidatorImpl.java:5217)
at 
org.apache.calcite.sql.validate.TableConstructorNamespace.validateImpl(TableConstructorNamespace.java:61)
at 
org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:89)
at 
org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:1098)
at 
org.apache.ignite.internal.processors.query.calcite.prepare.IgniteSqlValidator.validateNamespace(IgniteSqlValidator.java:196)
at 
org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(Sq

[jira] [Created] (IGNITE-15123) Calcite. Multi-tuple insert fails on validation

2021-07-14 Thread Konstantin Orlov (Jira)
Konstantin Orlov created IGNITE-15123:
-

 Summary: Calcite. Multi-tuple insert fails on validation
 Key: IGNITE-15123
 URL: https://issues.apache.org/jira/browse/IGNITE-15123
 Project: Ignite
  Issue Type: Bug
 Environment: 
{noformat}
class org.apache.ignite.internal.processors.query.IgniteSQLException: Failed to 
validate query.

at 
org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.prepareQuery(ExecutionServiceImpl.java:531)
at 
org.apache.ignite.internal.processors.query.calcite.prepare.QueryPlanCacheImpl.queryPlan(QueryPlanCacheImpl.java:84)
at 
org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.executeQuery(ExecutionServiceImpl.java:391)
at 
org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessor.query(CalciteQueryProcessor.java:259)
at 
org.apache.ignite.internal.processors.query.calcite.integration.AbstractDdlIntegrationTest.executeSql(AbstractDdlIntegrationTest.java:77)
at 
org.apache.ignite.internal.processors.query.calcite.integration.TableDdlIntegrationTest.test(TableDdlIntegrationTest.java:91)
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 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at 
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at 
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at 
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at 
org.apache.ignite.testframework.junits.GridAbstractTest$7.run(GridAbstractTest.java:2432)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.calcite.tools.ValidationException: 
org.apache.calcite.runtime.CalciteContextException: From line 1, column 18 to 
line 1, column 44: Values passed to VALUES operator must have compatible types
at 
org.apache.ignite.internal.processors.query.calcite.prepare.IgnitePlanner.validate(IgnitePlanner.java:175)
at 
org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.prepareDml(ExecutionServiceImpl.java:601)
at 
org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.prepareSingle(ExecutionServiceImpl.java:565)
at 
org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.prepareQuery(ExecutionServiceImpl.java:514)
... 17 more
Caused by: org.apache.calcite.runtime.CalciteContextException: From line 1, 
column 18 to line 1, column 44: Values passed to VALUES operator must have 
compatible types
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at 
org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:506)
at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:917)
at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:902)
at 
org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:5271)
at 
org.apache.calcite.sql.validate.SqlValidatorImpl.validateValues(SqlValidatorImpl.java:5217)
at 
org.apache.calcite.sql.validate.TableConstructorNamespace.validateImpl(TableConstructorNamespace.java:61)
at 
org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:89)
at 
org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:1098)
at 
org.apache.ignite.internal.processors.query.calcite.prepare.IgniteSqlValidator.validateNamespace(IgniteSqlValidator.java:196)
at 
org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:1069)
at 
org.apache.calcite.sql.validate.SqlValidatorImpl.validateInsert(SqlValidatorImpl.java:4594)
at 
org.apache.ignite.internal.processors.query.calcite.prepare.IgniteSqlValidator.validateInsert(IgniteSqlValidator.java:115)
at org.apache.calcite.sql.SqlInsert.validate(SqlInsert.java:166)
at 
org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedEx

[jira] [Commented] (IGNITE-15019) ITNodeTest.testFollowerStartStopFollowing is flaky

2021-07-14 Thread Alexey Scherbakov (Jira)


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

Alexey Scherbakov commented on IGNITE-15019:


[~maliev]

LGTM

> ITNodeTest.testFollowerStartStopFollowing is flaky
> --
>
> Key: IGNITE-15019
> URL: https://issues.apache.org/jira/browse/IGNITE-15019
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 3.0.0-alpha2
>Reporter: Ivan Bessonov
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-alpha3
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> {code:java}
> [ERROR] 
> org.apache.ignite.raft.jraft.core.ITNodeTest.testFollowerStartStopFollowing  
> Time elapsed: 1.557 s  <<< FAILURE!
> org.opentest4j.AssertionFailedError: expected: <2> but was: <3>
>   at 
> org.apache.ignite.raft.jraft.core.ITNodeTest.testFollowerStartStopFollowing(ITNodeTest.java:2686)
> {code}
> This is all I have from logs. Must be a race somewhere



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-15019) ITNodeTest.testFollowerStartStopFollowing is flaky

2021-07-14 Thread Mirza Aliev (Jira)


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

Mirza Aliev commented on IGNITE-15019:
--

[~ascherbakov] I've removed mentioned flag, could you please review it again?

> ITNodeTest.testFollowerStartStopFollowing is flaky
> --
>
> Key: IGNITE-15019
> URL: https://issues.apache.org/jira/browse/IGNITE-15019
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 3.0.0-alpha2
>Reporter: Ivan Bessonov
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-alpha3
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> {code:java}
> [ERROR] 
> org.apache.ignite.raft.jraft.core.ITNodeTest.testFollowerStartStopFollowing  
> Time elapsed: 1.557 s  <<< FAILURE!
> org.opentest4j.AssertionFailedError: expected: <2> but was: <3>
>   at 
> org.apache.ignite.raft.jraft.core.ITNodeTest.testFollowerStartStopFollowing(ITNodeTest.java:2686)
> {code}
> This is all I have from logs. Must be a race somewhere



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Assigned] (IGNITE-14840) Get rid of slf4j in jraft package

2021-07-14 Thread Mirza Aliev (Jira)


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

Mirza Aliev reassigned IGNITE-14840:


Assignee: Mirza Aliev

> Get rid of slf4j in jraft package
> -
>
> Key: IGNITE-14840
> URL: https://issues.apache.org/jira/browse/IGNITE-14840
> Project: Ignite
>  Issue Type: Task
>Reporter: Alexey Scherbakov
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-alpha3
>
>
> We should replace slf4j logging with IgniteLogger.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-15058) testLockUnlock is flaky

2021-07-14 Thread Mirza Aliev (Jira)


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

Mirza Aliev commented on IGNITE-15058:
--

I've tried to reproduce the bug more than 2500 times and haven't succeeded. 
Also, the test looks a bit fragile when you run it on a device with a loaded 
CPU, so I would say that there is nothing to fix. 

> testLockUnlock is flaky
> ---
>
> Key: IGNITE-15058
> URL: https://issues.apache.org/jira/browse/IGNITE-15058
> Project: Ignite
>  Issue Type: Bug
>Reporter: Alexey Scherbakov
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-alpha3
>
>
> ThreadIdTest.testLockUnlock:62 expected:<1000.0> but was:<987.0>



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15080) Calcite. Functions extends string parameters by trailing spaces

2021-07-14 Thread Yury Gerzhedovich (Jira)


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

Yury Gerzhedovich updated IGNITE-15080:
---
Description: 
I discovered the strange behavior of functions with several string parameters, 
which then returns one of these parameters. In this case, the returned 
parameter string is expanded with trailing spaces to the length of the longest 
string.
{code:java}
query T
SELECT COALESCE(COALESCE(null, 'world'), 'blabla')

world  - result is 'world ' - so we have extra trailing spaces from max length 
string parameter'blabla'{code}
{code:java}
query I
SELECT DECODE(102, 101, 'IBM', 102, 'GRIDGAIN', 103, 'Hewlett Packard','BALL')

GRIDGAIN   - result is 'GRIDGAIN   ' - so we have extra traiing spaces from 
max length string parameter 'Hewlett Packard'{code}
see src/test/sql/function/generic/test_decode.test_ignore

see src/test/sql/function/generic/test_coalesce.test_ignore

  was:
simple query
{code:java}
SELECT COALESCE(null, null, 'first', 'second', null){code}
returns 'first ' string instead of 'first'

see src/test/sql/function/generic/test_coalesce.test_ignore


> Calcite. Functions extends string parameters by trailing spaces
> ---
>
> Key: IGNITE-15080
> URL: https://issues.apache.org/jira/browse/IGNITE-15080
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Yury Gerzhedovich
>Priority: Major
>
> I discovered the strange behavior of functions with several string 
> parameters, which then returns one of these parameters. In this case, the 
> returned parameter string is expanded with trailing spaces to the length of 
> the longest string.
> {code:java}
> query T
> SELECT COALESCE(COALESCE(null, 'world'), 'blabla')
> 
> world  - result is 'world ' - so we have extra trailing spaces from max 
> length string parameter'blabla'{code}
> {code:java}
> query I
> SELECT DECODE(102, 101, 'IBM', 102, 'GRIDGAIN', 103, 'Hewlett Packard','BALL')
> 
> GRIDGAIN   - result is 'GRIDGAIN   ' - so we have extra traiing spaces 
> from max length string parameter 'Hewlett Packard'{code}
> see src/test/sql/function/generic/test_decode.test_ignore
> see src/test/sql/function/generic/test_coalesce.test_ignore



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15080) Calcite. Functions extends string parameters by trailing spaces

2021-07-14 Thread Yury Gerzhedovich (Jira)


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

Yury Gerzhedovich updated IGNITE-15080:
---
Summary: Calcite. Functions extends string parameters by trailing spaces  
(was: Calcite. COALESCE returns trailing space for some cases)

> Calcite. Functions extends string parameters by trailing spaces
> ---
>
> Key: IGNITE-15080
> URL: https://issues.apache.org/jira/browse/IGNITE-15080
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Yury Gerzhedovich
>Priority: Major
>
> simple query
> {code:java}
> SELECT COALESCE(null, null, 'first', 'second', null){code}
> returns 'first ' string instead of 'first'
> see src/test/sql/function/generic/test_coalesce.test_ignore



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-15121) WALRecordTest fails due to missing PARTITION_META_PAGE_DELTA_RECORD_V4 record

2021-07-14 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn commented on IGNITE-15121:
-

[~slava.koptilin] looks good to me.

>  WALRecordTest fails due to missing PARTITION_META_PAGE_DELTA_RECORD_V4 record
> --
>
> Key: IGNITE-15121
> URL: https://issues.apache.org/jira/browse/IGNITE-15121
> Project: Ignite
>  Issue Type: Bug
>Reporter: Vyacheslav Koptilin
>Assignee: Vyacheslav Koptilin
>Priority: Major
> Fix For: 2.12
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> The following tests do not pass due to missing a WAL record related to 
> PARTITION_META_PAGE_DELTA_RECORD_V4:
>  - WALRecordTest.testAllTestWalRecordBuilderConfigured
>  - 
> WALRecordSerializationTest.testAllWalRecordsSerializedAndDeserializedSuccessfully
> The fix is obvious, need to add corresponding UnsupportedWalRecord to 
> RecordUtils.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Assigned] (IGNITE-14838) Fix up messaging in jraft.

2021-07-14 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev reassigned IGNITE-14838:


Assignee: Aleksandr Polovtcev

> Fix up messaging in jraft.
> --
>
> Key: IGNITE-14838
> URL: https://issues.apache.org/jira/browse/IGNITE-14838
> Project: Ignite
>  Issue Type: Task
>Reporter: Alexey Scherbakov
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-alpha3
>
>
> Currently jraft uses hand coded messages.
> This should be cleaned up and switched to generated factories.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-15019) ITNodeTest.testFollowerStartStopFollowing is flaky

2021-07-14 Thread Alexey Scherbakov (Jira)


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

Alexey Scherbakov commented on IGNITE-15019:


[~maliev]

I think we don't need this [1] at all, can you wipe it from the code ?

All the rest is good.

[1] org.apache.ignite.raft.jraft.RaftGroupService#sharedRpcServer

 

> ITNodeTest.testFollowerStartStopFollowing is flaky
> --
>
> Key: IGNITE-15019
> URL: https://issues.apache.org/jira/browse/IGNITE-15019
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 3.0.0-alpha2
>Reporter: Ivan Bessonov
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-alpha3
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> {code:java}
> [ERROR] 
> org.apache.ignite.raft.jraft.core.ITNodeTest.testFollowerStartStopFollowing  
> Time elapsed: 1.557 s  <<< FAILURE!
> org.opentest4j.AssertionFailedError: expected: <2> but was: <3>
>   at 
> org.apache.ignite.raft.jraft.core.ITNodeTest.testFollowerStartStopFollowing(ITNodeTest.java:2686)
> {code}
> This is all I have from logs. Must be a race somewhere



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-15121) WALRecordTest fails due to missing PARTITION_META_PAGE_DELTA_RECORD_V4 record

2021-07-14 Thread Vyacheslav Koptilin (Jira)


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

Vyacheslav Koptilin commented on IGNITE-15121:
--

I don't think that there is a reason for running RunAll. It seems to me, it is 
enough Basic1 and Inspections suites.
https://ci.ignite.apache.org/buildConfiguration/IgniteTests24Java8_Basic1?branch=pull%2F9253%2Fhead&mode=builds
https://ci.ignite.apache.org/buildConfiguration/IgniteTests24Java8_InspectionsCore?branch=pull%2F9253%2Fhead&buildTypeTab=overview&mode=builds#all-projects

>  WALRecordTest fails due to missing PARTITION_META_PAGE_DELTA_RECORD_V4 record
> --
>
> Key: IGNITE-15121
> URL: https://issues.apache.org/jira/browse/IGNITE-15121
> Project: Ignite
>  Issue Type: Bug
>Reporter: Vyacheslav Koptilin
>Assignee: Vyacheslav Koptilin
>Priority: Major
> Fix For: 2.12
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> The following tests do not pass due to missing a WAL record related to 
> PARTITION_META_PAGE_DELTA_RECORD_V4:
>  - WALRecordTest.testAllTestWalRecordBuilderConfigured
>  - 
> WALRecordSerializationTest.testAllWalRecordsSerializedAndDeserializedSuccessfully
> The fix is obvious, need to add corresponding UnsupportedWalRecord to 
> RecordUtils.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (IGNITE-15122) Calcite. Remove sync mode of RootNode#closeInternal

2021-07-14 Thread Konstantin Orlov (Jira)
Konstantin Orlov created IGNITE-15122:
-

 Summary: Calcite. Remove sync mode of RootNode#closeInternal
 Key: IGNITE-15122
 URL: https://issues.apache.org/jira/browse/IGNITE-15122
 Project: Ignite
  Issue Type: Bug
  Components: sql
Reporter: Konstantin Orlov
Assignee: Konstantin Orlov


Currently we are waiting on future to complete inside RootNode#closeInternal. 
It potentially could causes a query to stale in case someone will invoke this 
method inside a taskExecutor.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-15079) SharedPageLockTracker.structureNameToId map is populated but never cleaned - 1.3G retained heap

2021-07-14 Thread Ignite TC Bot (Jira)


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

Ignite TC Bot commented on IGNITE-15079:


{panel:title=Branch: [pull/9250/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/9250/head] Base: [master] : New Tests 
(7)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#8b}Basic 1{color} [[tests 
1|https://ci.ignite.apache.org/viewLog.html?buildId=6084718]]
* {color:#013220}IgniteBasicTestSuite: IntHashMapTest.testClear - PASSED{color}

{color:#8b}PDS 4{color} [[tests 
6|https://ci.ignite.apache.org/viewLog.html?buildId=6085387]]
* {color:#013220}IgnitePdsTestSuite4: 
PageLockTrackerResourcesTest.testStructureIdLeakOnNodeDestroy - PASSED{color}
* {color:#013220}IgnitePdsTestSuite4: 
PageLockTrackerResourcesTest.testStructureIdLeakOnCacheDestroy - PASSED{color}
* {color:#013220}IgnitePdsTestSuite4: 
SharedPageLockTrackerTest.testCloseListener[trackerType=1] - PASSED{color}
* {color:#013220}IgnitePdsTestSuite4: 
SharedPageLockTrackerTest.testCloseListener[trackerType=4] - PASSED{color}
* {color:#013220}IgnitePdsTestSuite4: 
SharedPageLockTrackerTest.testCloseListener[trackerType=3] - PASSED{color}
* {color:#013220}IgnitePdsTestSuite4: 
SharedPageLockTrackerTest.testCloseListener[trackerType=2] - PASSED{color}

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

> SharedPageLockTracker.structureNameToId map is populated but never cleaned - 
> 1.3G retained heap
> ---
>
> Key: IGNITE-15079
> URL: https://issues.apache.org/jira/browse/IGNITE-15079
> Project: Ignite
>  Issue Type: Task
>Affects Versions: 2.10
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
> Fix For: 2.12
>
> Attachments: structureNameById.png
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> I can see SharedPageLockTracker.structureNameToId.put() being called, but 
> never remove() or clear().
> Naturally, this leads to memory leak. During 36d uptime, an 1.3G of total 
> retained heap (keys, values and cells) were reached. This is unacceptable, it 
> should have either TTL or max size to avoid using 1% of heap (20% in this 
> case).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (IGNITE-15121) WALRecordTest fails due to missing PARTITION_META_PAGE_DELTA_RECORD_V4 record

2021-07-14 Thread Vyacheslav Koptilin (Jira)
Vyacheslav Koptilin created IGNITE-15121:


 Summary:  WALRecordTest fails due to missing 
PARTITION_META_PAGE_DELTA_RECORD_V4 record
 Key: IGNITE-15121
 URL: https://issues.apache.org/jira/browse/IGNITE-15121
 Project: Ignite
  Issue Type: Bug
Reporter: Vyacheslav Koptilin
Assignee: Vyacheslav Koptilin
 Fix For: 2.12


The following tests do not pass due to missing a WAL record related to 
PARTITION_META_PAGE_DELTA_RECORD_V4:
 - WALRecordTest.testAllTestWalRecordBuilderConfigured
 - 
WALRecordSerializationTest.testAllWalRecordsSerializedAndDeserializedSuccessfully

The fix is obvious, need to add corresponding UnsupportedWalRecord to 
RecordUtils.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15118) Add handshake timeout to pyignite client

2021-07-14 Thread Ivan Daschinsky (Jira)


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

Ivan Daschinsky updated IGNITE-15118:
-
Description: Additional handshake timeout should be added to both 
{{Client}} and {{AioClient}}.  (was: Addition handshake timeout should be added 
to both {{Client}} and {{AioClient}}.)

> Add handshake timeout to pyignite client
> 
>
> Key: IGNITE-15118
> URL: https://issues.apache.org/jira/browse/IGNITE-15118
> Project: Ignite
>  Issue Type: Improvement
>  Components: python, thin client
>Reporter: Ivan Daschinsky
>Assignee: Ivan Daschinsky
>Priority: Major
>  Labels: python, thin
>
> Additional handshake timeout should be added to both {{Client}} and 
> {{AioClient}}.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (IGNITE-15120) Condition isTombstone() is required

2021-07-14 Thread Alexander Lapin (Jira)
Alexander Lapin created IGNITE-15120:


 Summary: Condition isTombstone() is required
 Key: IGNITE-15120
 URL: https://issues.apache.org/jira/browse/IGNITE-15120
 Project: Ignite
  Issue Type: Bug
Reporter: Alexander Lapin
Assignee: Andrey N. Gura


Currently
{code:java}
Conditions.notExists(key){code}
will both return true if there were no such key or if it was removed. New 
condition that will allow to detect whether a key was removed or not created is 
required. It might look like
{code:java}
Conditions.isTombstone(key){code}
or similar. 

 

Seems that it'll be also helpful if 
org.apache.ignite.internal.metastorage.client.Conditions#notExists

javadoc' will be more specific about tombstone case.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Assigned] (IGNITE-15117) Support CDC for in-memory caches

2021-07-14 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov reassigned IGNITE-15117:


Assignee: Nikolay Izhikov

> Support CDC for in-memory caches
> 
>
> Key: IGNITE-15117
> URL: https://issues.apache.org/jira/browse/IGNITE-15117
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-59
>
> Right now CDC is supported only for persistent caches.
> To support CDC feature for in-memory caches we should support enabling WAL 
> for in-memory caches.
> Only DataRecord is required for CDC so we can write only specific that types 
> of records to the WAL.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-13558) GridCacheProcessor should implement better parallelization when restoring partition states on startup

2021-07-14 Thread Ignite TC Bot (Jira)


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

Ignite TC Bot commented on IGNITE-13558:


{panel:title=Branch: [pull/9243/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/9243/head] Base: [master] : No new tests 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1}{panel}
[TeamCity *--> Run :: All* 
Results|https://ci.ignite.apache.org/viewLog.html?buildId=6079240&buildTypeId=IgniteTests24Java8_RunAll]

> GridCacheProcessor should implement better parallelization when restoring 
> partition states on startup
> -
>
> Key: IGNITE-13558
> URL: https://issues.apache.org/jira/browse/IGNITE-13558
> Project: Ignite
>  Issue Type: Improvement
>  Components: persistence
>Reporter: Sergey Chugunov
>Assignee: Denis Chudov
>Priority: Major
>  Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> GridCacheProcessor#restorePartitionStates method tries to employ striped pool 
> to restore partition states in parallel but level of parallelization is down 
> only to cache group per thread.
> It is not enough and not utilizes resources effectively in case of one cache 
> group much bigger than the others.
> We need to parallel restore process down to individual partitions to get the 
> most from the available resources and speed up node startup.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Assigned] (IGNITE-15099) Wrong heartbeat update while waiting for a checkpoint by timeout

2021-07-14 Thread Aleksey Plekhanov (Jira)


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

Aleksey Plekhanov reassigned IGNITE-15099:
--

Assignee: Aleksey Plekhanov

> Wrong heartbeat update while waiting for a checkpoint by timeout
> 
>
> Key: IGNITE-15099
> URL: https://issues.apache.org/jira/browse/IGNITE-15099
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.11, 2.12
>Reporter: Ilya Shishkov
>Assignee: Aleksey Plekhanov
>Priority: Minor
>  Labels: ise
> Attachments: Checkpointer_fake_block_master.patch
>
>
> This problem occurs under these conditions:
>  * native persistence is turned on
>  * failureDetectionTimeout < checkpointFrequency
>  * checkpoints are sometimes skipped by timeout (more often, more probable 
> the problem occurrence)
> There is a race condition between a listener execution and finishing of a 
> pending future (see CheckpointContextImpl#executor body [1]). In some cases 
> future can finish before listener closure, therefore updating of a heartbeat 
> in listener can occur after call of _blockingSectionBegin_ in 
> Checkpointer#waitCheckpointEvent, i.e. after Checkpointer started to wait for 
> next checkpoint (see [2]).
> {code:java|title=CheckpointContextImpl#executor}
> @Override public Executor executor() {
> return asyncRunner == null ? null : cmd -> {
> try {
> GridFutureAdapter res = new GridFutureAdapter<>();
> res.listen(fut -> heartbeatUpdater.updateHeartbeat()); // 
> Listener is invoked concurrently with pending future finish
> asyncRunner.execute(U.wrapIgniteFuture(cmd, res));
> pendingTaskFuture.add(res);
> }
> catch (RejectedExecutionException e) {
> assert false : "A task should never be rejected by async 
> runner";
> }
> };
> }
> {code}
> {code:java|title=Checkpointer#waitCheckpointEvent}
> try {
> synchronized (this) {
> long remaining = U.nanosToMillis(scheduledCp.nextCpNanos - 
> System.nanoTime());
> while (remaining > 0 && !isCancelled()) {
> blockingSectionBegin();
> try {
> wait(remaining); 
> // At this point and till blockingSectionEnd call heartbeat 
> should be equal to Long.MAX_VALUE
> remaining = U.nanosToMillis(scheduledCp.nextCpNanos - 
> System.nanoTime());
> }
> finally {
> blockingSectionEnd();
> }
> }
> }
> }
> {code}
>  
> If interval between checkpoints (_checkpointFrequency_) is greater than the 
> _failureDetectionTimeout_, then update of heartbeat in _blockingSectionEnd_ 
> may cause an error message in log, because a checkpoint thread is treated as 
> blocked (but in fact it was not).
> *Reproducer of problem:* [3]. Even if test was not failed you can see log 
> message with incorrect heartbeat after waiting for checkpoint.
>  
> Links:
>  # 
> [CheckpointContextImpl#executor|https://github.com/apache/ignite/blob/master/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/checkpoint/CheckpointContextImpl.java#L104]
>  # 
> [Checkpointer#waitCheckpointEvent|https://github.com/apache/ignite/blob/master/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/checkpoint/Checkpointer.java#L816]
> # Reproducer: [^Checkpointer_fake_block_master.patch]. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Issue Comment Deleted] (IGNITE-13669) Implement date&time native types

2021-07-14 Thread Andrey Mashenkov (Jira)


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

Andrey Mashenkov updated IGNITE-13669:
--
Comment: was deleted

(was: Data and date-time types occupy 3 and 7 bytes regarding the Layout.
Does it make sense to align them to 4 and 8?)

> Implement date&time native types
> 
>
> Key: IGNITE-13669
> URL: https://issues.apache.org/jira/browse/IGNITE-13669
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Alexey Goncharuk
>Assignee: Andrey Mashenkov
>Priority: Major
>  Labels: iep-54, ignite-3
> Fix For: 3.0.0-alpha3
>
>   Original Estimate: 240h
>  Remaining Estimate: 240h
>
> Besides the types themselves, it may be beneficial to provide date/time field 
> extraction methods so that they can be read without object creation. The 
> layout is described in the IEP.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-14870) Define a mechanism for exchanging discovery metadata

2021-07-14 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-14870:
-
Description: 
When a node joins a cluster it needs to send and receive some discovery 
metadata, for example:
 # A node might need to provide some credentials and/or some of its 
configuration values in order to be validated against the state of the cluster.
 # A node might need to obtain some information about the cluster when accepted 
into the topology, e.g. addresses of the nodes that host the metastorage.

We should develop a mechanism for both sending and receiving some data before a 
node is accepted into the topology. As a proof of concept it will be enough to 
receive information about the nodes hosting the metastorage.

  was:
When a node joins a cluster it needs to send and receive some discovery 
metadata, for example:
 # A node might need to provide some credentials and/or some of its 
configuration values in order to be validated against the state of the cluster.
 # A node might need to obtain some information about the cluster when accepted 
into the topology, e.g. addresses of the nodes that host the metastorage.

We should develop a mechanism for both sending and receiving some data before a 
node is accepted into the topology.


> Define a mechanism for exchanging discovery metadata
> 
>
> Key: IGNITE-14870
> URL: https://issues.apache.org/jira/browse/IGNITE-14870
> Project: Ignite
>  Issue Type: Task
>  Components: networking
>Reporter: Vyacheslav Koptilin
>Priority: Major
>  Labels: ignite-3
>
> When a node joins a cluster it needs to send and receive some discovery 
> metadata, for example:
>  # A node might need to provide some credentials and/or some of its 
> configuration values in order to be validated against the state of the 
> cluster.
>  # A node might need to obtain some information about the cluster when 
> accepted into the topology, e.g. addresses of the nodes that host the 
> metastorage.
> We should develop a mechanism for both sending and receiving some data before 
> a node is accepted into the topology. As a proof of concept it will be enough 
> to receive information about the nodes hosting the metastorage.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Assigned] (IGNITE-13669) Implement date&time native types

2021-07-14 Thread Andrey Mashenkov (Jira)


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

Andrey Mashenkov reassigned IGNITE-13669:
-

Assignee: Andrey Mashenkov

> Implement date&time native types
> 
>
> Key: IGNITE-13669
> URL: https://issues.apache.org/jira/browse/IGNITE-13669
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Alexey Goncharuk
>Assignee: Andrey Mashenkov
>Priority: Major
>  Labels: iep-54, ignite-3
> Fix For: 3.0.0-alpha3
>
>   Original Estimate: 240h
>  Remaining Estimate: 240h
>
> Besides the types themselves, it may be beneficial to provide date/time field 
> extraction methods so that they can be read without object creation. The 
> layout is described in the IEP.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-14871) Implement a validation protocol for the nodes entering the topology

2021-07-14 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-14871:
-
Description: 
When a node enters the cluster, its configuration needs to be validated in 
order to maintain cluster-wide invariants and to prohibit a non-compatible or 
malicious node from entering the topology.
h2. Possible approaches
h3. Remote validation

The entering node sends some metadata (e.g. its version) to a random remote 
node, which validates the metadata and issues the permit for the node to join.

*Pros:*
 * Possibly better security: a malicious node would have to imitate valid 
requirements.

*Cons:*
 * Harder to maintain backwards compatibility: old nodes need to predict what 
information a new node might send.

h3. Local validation

The entering node collects some metadata from a random remote node and decides 
whether it is able to join the cluster or not.

*Pros:*
 * Easier to maintain backwards-compatibility: a new node knows if older nodes 
are compatible with it.
 * Modular validation architecture: each plugin can independently register its 
cluster state requirements.

*Cons:*
 * Possible security issues: a malicious node can enter the cluster more 
easily. However, this may be mitigated by signing the handshake messages.

 

  was:
When a node enters the cluster, its configuration needs to be validated in 
order to maintain cluster-wide invariants and to prohibit a non-compatible or 
malicious node from entering the topology.
h2. Possible approaches
h3. Remote validation

The entering node sends some metadata (e.g. its version) to a random remote 
node, which validates the metadata and issues the permit for the node to join.

*Pros:*
 * ???

*Cons:*
 * Harder to maintain backwards compatibility: old nodes need to predict what 
information a new node might send.

h3. Local validation

The entering node collects some metadata from a random remote node and decides 
whether it is able to join the cluster or not.

*Pros:*
 * Easier to maintain backwards-compatibility: a new node knows if older nodes 
are compatible with it.
 * Modular validation architecture: each plugin can independently register its 
requirements.

*Cons:*
 * Possible security issues: a malicious node can enter the cluster more 
easily. However, this may be mitigated by signing the handshake messages.

 


> Implement a validation protocol for the nodes entering the topology
> ---
>
> Key: IGNITE-14871
> URL: https://issues.apache.org/jira/browse/IGNITE-14871
> Project: Ignite
>  Issue Type: Task
>  Components: networking
>Reporter: Vyacheslav Koptilin
>Priority: Major
>  Labels: ignite-3
>
> When a node enters the cluster, its configuration needs to be validated in 
> order to maintain cluster-wide invariants and to prohibit a non-compatible or 
> malicious node from entering the topology.
> h2. Possible approaches
> h3. Remote validation
> The entering node sends some metadata (e.g. its version) to a random remote 
> node, which validates the metadata and issues the permit for the node to join.
> *Pros:*
>  * Possibly better security: a malicious node would have to imitate valid 
> requirements.
> *Cons:*
>  * Harder to maintain backwards compatibility: old nodes need to predict what 
> information a new node might send.
> h3. Local validation
> The entering node collects some metadata from a random remote node and 
> decides whether it is able to join the cluster or not.
> *Pros:*
>  * Easier to maintain backwards-compatibility: a new node knows if older 
> nodes are compatible with it.
>  * Modular validation architecture: each plugin can independently register 
> its cluster state requirements.
> *Cons:*
>  * Possible security issues: a malicious node can enter the cluster more 
> easily. However, this may be mitigated by signing the handshake messages.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15078) Remove usages of SimpleDateFormat

2021-07-14 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-15078:
-
Fix Version/s: (was: 2.11)

> Remove usages of SimpleDateFormat
> -
>
> Key: IGNITE-15078
> URL: https://issues.apache.org/jira/browse/IGNITE-15078
> Project: Ignite
>  Issue Type: Task
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Minor
>
> {{SimpleDateFormat}} is not thread-safe, but is used all over the codebase, 
> even in multithreaded context. We should migrate to a more contemporary and 
> thread-safe {{DateTimeFormatter}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15119) Use UUID as the ClusterNode ID

2021-07-14 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-15119:
-
Description: We currently rely on the ScaleCube's cluster member ID, which 
is a {{UUID}} converted into a {{String}}. Since UUIDs have more efficient 
{{hashCode}} and {{equals}} implementations, it is proposed to convert the 
ScaleCube's IDs back into UUIDs inside our {{ClusterNode}} class.  (was: We 
currently rely on the ScaleCube's cluster member ID, which is a {{UUID 
converted into a String. Since UUIDs have more efficient hashCode}} and 
{{equals}} implementations, it is proposed to convert the ScaleCube's IDs back 
into {{UUIDs inside our ClusterNode}} class.)

> Use UUID as the ClusterNode ID
> --
>
> Key: IGNITE-15119
> URL: https://issues.apache.org/jira/browse/IGNITE-15119
> Project: Ignite
>  Issue Type: Task
>  Components: networking
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Trivial
>  Labels: ignite-3
> Fix For: 3.0.0-alpha3
>
>
> We currently rely on the ScaleCube's cluster member ID, which is a {{UUID}} 
> converted into a {{String}}. Since UUIDs have more efficient {{hashCode}} and 
> {{equals}} implementations, it is proposed to convert the ScaleCube's IDs 
> back into UUIDs inside our {{ClusterNode}} class.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15119) Use UUID as the ClusterNode ID

2021-07-14 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-15119:
-
Description: We currently rely on the ScaleCube's cluster member ID, which 
is a {{UUID converted into a String. Since UUIDs have more efficient hashCode}} 
and {{equals}} implementations, it is proposed to convert the ScaleCube's IDs 
back into {{UUIDs inside our ClusterNode}} class.  (was: We currently rely on 
the ScaleCube's cluster member ID, which is a {{UUID }}converted into a{{ 
String. }}Since {{UUID}}s have more efficient {{hashCode}} and {{equals}} 
implementations, it is proposed to convert the ScaleCube's IDs back into 
{{UUID}}s inside our {{ClusterNode}} class.)

> Use UUID as the ClusterNode ID
> --
>
> Key: IGNITE-15119
> URL: https://issues.apache.org/jira/browse/IGNITE-15119
> Project: Ignite
>  Issue Type: Task
>  Components: networking
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Trivial
>  Labels: ignite-3
>
> We currently rely on the ScaleCube's cluster member ID, which is a {{UUID 
> converted into a String. Since UUIDs have more efficient hashCode}} and 
> {{equals}} implementations, it is proposed to convert the ScaleCube's IDs 
> back into {{UUIDs inside our ClusterNode}} class.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15119) Use UUID as the ClusterNode ID

2021-07-14 Thread Andrey Mashenkov (Jira)


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

Andrey Mashenkov updated IGNITE-15119:
--
Fix Version/s: 3.0.0-alpha3

> Use UUID as the ClusterNode ID
> --
>
> Key: IGNITE-15119
> URL: https://issues.apache.org/jira/browse/IGNITE-15119
> Project: Ignite
>  Issue Type: Task
>  Components: networking
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Trivial
>  Labels: ignite-3
> Fix For: 3.0.0-alpha3
>
>
> We currently rely on the ScaleCube's cluster member ID, which is a {{UUID 
> converted into a String. Since UUIDs have more efficient hashCode}} and 
> {{equals}} implementations, it is proposed to convert the ScaleCube's IDs 
> back into {{UUIDs inside our ClusterNode}} class.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (IGNITE-15119) Use UUID as the ClusterNode ID

2021-07-14 Thread Aleksandr Polovtcev (Jira)
Aleksandr Polovtcev created IGNITE-15119:


 Summary: Use UUID as the ClusterNode ID
 Key: IGNITE-15119
 URL: https://issues.apache.org/jira/browse/IGNITE-15119
 Project: Ignite
  Issue Type: Task
  Components: networking
Reporter: Aleksandr Polovtcev
Assignee: Aleksandr Polovtcev


We currently rely on the ScaleCube's cluster member ID, which is a {{UUID 
}}converted into a{{ String. }}Since {{UUID}}s have more efficient {{hashCode}} 
and {{equals}} implementations, it is proposed to convert the ScaleCube's IDs 
back into {{UUID}}s inside our {{ClusterNode}} class.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-15103) Add logging to pyignite client

2021-07-14 Thread Igor Sapego (Jira)


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

Igor Sapego commented on IGNITE-15103:
--

[~ivandasch] looks good to me

> Add logging to pyignite client
> --
>
> Key: IGNITE-15103
> URL: https://issues.apache.org/jira/browse/IGNITE-15103
> Project: Ignite
>  Issue Type: Improvement
>  Components: python, thin client
>Reporter: Ivan Daschinsky
>Assignee: Ivan Daschinsky
>Priority: Major
>  Labels: python, thin
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> Currently, there is no logging at all, should be added using {{logging}} 
> module



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-14968) classnotfoundexception in transaction cache of entryprocessor using annotation

2021-07-14 Thread xingzhou (Jira)


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

xingzhou updated IGNITE-14968:
--
Reviewer: Alexey Scherbakov  (was: Andrew)

> classnotfoundexception in transaction cache of entryprocessor using annotation
> --
>
> Key: IGNITE-14968
> URL: https://issues.apache.org/jira/browse/IGNITE-14968
> Project: Ignite
>  Issue Type: Bug
>  Components: cache
>Affects Versions: 2.9
>Reporter: xingzhou
>Priority: Critical
> Fix For: 2.9
>
> Attachments: application.log
>
>   Original Estimate: 24h
>  Time Spent: 10m
>  Remaining Estimate: 23h 50m
>
> Recurrence conditions
> 1. Transaction cache
> 2.backups>0
> 3. Using annotation for entryprocessor
> 4. Cluster node > 2



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15118) Add handshake timeout to pyignite client

2021-07-14 Thread Ivan Daschinsky (Jira)


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

Ivan Daschinsky updated IGNITE-15118:
-
Labels: python thin  (was: )

> Add handshake timeout to pyignite client
> 
>
> Key: IGNITE-15118
> URL: https://issues.apache.org/jira/browse/IGNITE-15118
> Project: Ignite
>  Issue Type: Improvement
>  Components: python, thin client
>Reporter: Ivan Daschinsky
>Assignee: Ivan Daschinsky
>Priority: Major
>  Labels: python, thin
>
> Addition handshake timeout should be added to both {{Client}} and 
> {{AioClient}}.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15118) Add handshake timeout to pyignite client

2021-07-14 Thread Ivan Daschinsky (Jira)


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

Ivan Daschinsky updated IGNITE-15118:
-
Component/s: thin client
 python

> Add handshake timeout to pyignite client
> 
>
> Key: IGNITE-15118
> URL: https://issues.apache.org/jira/browse/IGNITE-15118
> Project: Ignite
>  Issue Type: Improvement
>  Components: python, thin client
>Reporter: Ivan Daschinsky
>Assignee: Ivan Daschinsky
>Priority: Major
>
> Addition handshake timeout should be added to both {{Client}} and 
> {{AioClient}}.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (IGNITE-15118) Add handshake timeout to pyignite client

2021-07-14 Thread Ivan Daschinsky (Jira)
Ivan Daschinsky created IGNITE-15118:


 Summary: Add handshake timeout to pyignite client
 Key: IGNITE-15118
 URL: https://issues.apache.org/jira/browse/IGNITE-15118
 Project: Ignite
  Issue Type: Improvement
Reporter: Ivan Daschinsky
Assignee: Ivan Daschinsky


Addition handshake timeout should be added to both {{Client}} and {{AioClient}}.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)