[jira] [Commented] (IGNITE-15348) Checkstyle should check whitespace after cast token.

2021-11-17 Thread Ignite TC Bot (Jira)


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

Ignite TC Bot commented on IGNITE-15348:


{panel:title=Branch: [pull/9568/head] Base: [master] : Possible Blockers 
(1)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1}
{color:#d04437}Platform C++ CMake (Win x64 / Release){color} [[tests 0 Exit 
Code |https://ci.ignite.apache.org/viewLog.html?buildId=6275183]]

{panel}
{panel:title=Branch: [pull/9568/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=6274110buildTypeId=IgniteTests24Java8_RunAll]

> Checkstyle should check whitespace after cast token. 
> -
>
> Key: IGNITE-15348
> URL: https://issues.apache.org/jira/browse/IGNITE-15348
> Project: Ignite
>  Issue Type: New Feature
>Reporter: Maksim Timonin
>Assignee: Andrei Demidov
>Priority: Major
>  Labels: newbie
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> According to Ignite code style [1]  there shouldn't a whitespace after the 
> ")" token. Let's add check for that.
>  
> Solution is add the TYPECAST token to the NoWhitespaceAfter  module
> 
>  
> 
>  
> Also it is required to fix all issues within repo.
>  
> [1] 
> https://cwiki.apache.org/confluence/display/IGNITE/Coding+Guidelines#CodingGuidelines-Whitespacesandemptylines



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-14120) select count * returns multiple rows

2021-11-17 Thread YuJue Li (Jira)


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

YuJue Li updated IGNITE-14120:
--
Fix Version/s: 2.12

> select count * returns multiple rows
> 
>
> Key: IGNITE-14120
> URL: https://issues.apache.org/jira/browse/IGNITE-14120
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Affects Versions: 2.8.1
>Reporter: Isaac Zhu
>Assignee: Vladimir Ermakov
>Priority: Major
> Fix For: 2.12
>
>  Time Spent: 1h 50m
>  Remaining Estimate: 0h
>
> I have a partitioned table which has 1 backup, the *queryParallelism* is set 
> to 4.
> The table primary key is column "ID", 
> If I do this query:
>         select count( * ) from my_table where ID = 1000;
> It will return 4 rows:
>         1
>          0
>          0
>          0
>  
> If I query by other not primary-key columns of this table, the result is 
> good, like:
>         select count( *) from my_table where name = 'abcd'
> result is:
>         0



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (IGNITE-15942) Add support for h2 1.4.200 version to Ignite and Spring Ignite Data packages

2021-11-17 Thread Ilya Kasnacheev (Jira)


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

Ilya Kasnacheev commented on IGNITE-15942:
--

I'm not sure it is feasible, I know that H2 has dropped some of APIs needed by 
Ignite integration.

> Add support for h2 1.4.200 version to Ignite and Spring Ignite Data packages
> 
>
> Key: IGNITE-15942
> URL: https://issues.apache.org/jira/browse/IGNITE-15942
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Julius Kabugu
>Priority: Major
>
> Today, when we create Ignite thick clients, the ignite client packages and 
> Spring Ignite Data require h2 database version 1.4.197. Upgrading to 1.4.200 
> breaks the clients. However, h2 1.4.197 has been flagged by security scans 
> due to a number of vulnerabilities.
> The request is to update Ignite client packages to use H2 database version 
> 1.4.200.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (IGNITE-15942) Add support for h2 1.4.200 version to Ignite and Spring Ignite Data packages

2021-11-17 Thread Julius Kabugu (Jira)
Julius Kabugu created IGNITE-15942:
--

 Summary: Add support for h2 1.4.200 version to Ignite and Spring 
Ignite Data packages
 Key: IGNITE-15942
 URL: https://issues.apache.org/jira/browse/IGNITE-15942
 Project: Ignite
  Issue Type: Improvement
Reporter: Julius Kabugu


Today, when we create Ignite thick clients, the ignite client packages and 
Spring Ignite Data require h2 database version 1.4.197. Upgrading to 1.4.200 
breaks the clients. However, h2 1.4.197 has been flagged by security scans due 
to a number of vulnerabilities.

The request is to update Ignite client packages to use H2 database version 
1.4.200.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (IGNITE-15941) Flaky test FailureProcessorThreadDumpThrottlingTest.testThrottlingPerFailureType

2021-11-17 Thread Andrey N. Gura (Jira)
Andrey N. Gura created IGNITE-15941:
---

 Summary: Flaky test 
FailureProcessorThreadDumpThrottlingTest.testThrottlingPerFailureType
 Key: IGNITE-15941
 URL: https://issues.apache.org/jira/browse/IGNITE-15941
 Project: Ignite
  Issue Type: Bug
Reporter: Andrey N. Gura
Assignee: Andrey N. Gura
 Fix For: 2.12


The test 
{{FailureProcessorThreadDumpThrottlingTest.testThrottlingPerFailureType}} is 
flaky. See stack trace:

{noformat}
java.lang.AssertionError
at org.junit.Assert.fail(Assert.java:86)
at org.junit.Assert.assertTrue(Assert.java:41)
at org.junit.Assert.assertTrue(Assert.java:52)
at 
org.apache.ignite.testframework.junits.JUnitAssertAware.assertTrue(JUnitAssertAware.java:33)
at 
org.apache.ignite.internal.processors.failure.FailureProcessorThreadDumpThrottlingTest.testThrottlingPerFailureType(FailureProcessorThreadDumpThrottlingTest.java:183)
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.apache.ignite.testframework.junits.GridAbstractTest$7.run(GridAbstractTest.java:2402)
at java.lang.Thread.run(Thread.java:748)
{noformat}

The problem is usage of different sources of time in the test and in a 
production code. While the test uses system timer for sleeping 
({{Thread.sleep}}) the production code uses timer thread which refreshes a 
cached time value periodically ({{IgniteUtils.currentTimeMillis}}). As result 
the following situation is possible: the test's thread sleeps some given time 
(3000 ms), wakes up and check cached time from timer thread which is still lags 
behind the test's thread because timer thread didn't get quantum from thread 
scheduler. Such situation breaks invariant and test fails. 

This could be fixed in two ways:
1. fix the test in such way when the test's thread waits proper time value from 
the timer thread
2. fix production code by changing {{U.currentTimeMillis}} call to 
{{System.currentTimeMillis}}.

Because failure processor is not performance critical component the second way 
is better the the first way because such solution allows to avoid similar bugs 
in other tests.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (IGNITE-15922) Create numa-aware allocator for data regions.

2021-11-17 Thread Ignite TC Bot (Jira)


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

Ignite TC Bot commented on IGNITE-15922:


{panel:title=Branch: [pull/9569/head] Base: [master] : Possible Blockers 
(2)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1}
{color:#d04437}AWS{color} [[tests 0 Exit Code 
|https://ci2.ignite.apache.org/viewLog.html?buildId=6209506]]

{color:#d04437}GCE{color} [[tests 0 Exit Code 
|https://ci2.ignite.apache.org/viewLog.html?buildId=6209508]]

{panel}
{panel:title=Branch: [pull/9569/head] Base: [master] : New Tests 
(30)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#8b}PDS 2{color} [[tests 
30|https://ci2.ignite.apache.org/viewLog.html?buildId=6209469]]
* {color:#013220}IgnitePdsTestSuite2: 
CdcSelfTest.testMultiNodeConsumption[specificConsistentId=false, walMode=FSYNC, 
metricExporter=org.apache.ignite.cdc.CdcSelfTest$$Lambda$17/798639105@3e5fd2b1] 
- PASSED{color}
* {color:#013220}IgnitePdsTestSuite2: 
CdcSelfTest.testReReadWhenStateWasNotStored[specificConsistentId=false, 
walMode=FSYNC, 
metricExporter=org.apache.ignite.cdc.CdcSelfTest$$Lambda$17/798639105@3e5fd2b1] 
- PASSED{color}
* {color:#013220}IgnitePdsTestSuite2: 
CdcSelfTest.testCdcSingleton[specificConsistentId=false, walMode=FSYNC, 
metricExporter=org.apache.ignite.cdc.CdcSelfTest$$Lambda$17/798639105@3e5fd2b1] 
- PASSED{color}
* {color:#013220}IgnitePdsTestSuite2: 
CdcSelfTest.testCdcSingleton[specificConsistentId=true, walMode=FSYNC, 
metricExporter=org.apache.ignite.cdc.CdcSelfTest$$Lambda$17/798639105@3e5fd2b1] 
- PASSED{color}
* {color:#013220}IgnitePdsTestSuite2: 
CdcSelfTest.testMultiNodeConsumption[specificConsistentId=true, walMode=FSYNC, 
metricExporter=org.apache.ignite.cdc.CdcSelfTest$$Lambda$17/798639105@3e5fd2b1] 
- PASSED{color}
* {color:#013220}IgnitePdsTestSuite2: 
CdcSelfTest.testReadBeforeGracefulShutdown[specificConsistentId=false, 
walMode=FSYNC, 
metricExporter=org.apache.ignite.cdc.CdcSelfTest$$Lambda$17/798639105@3e5fd2b1] 
- PASSED{color}
* {color:#013220}IgnitePdsTestSuite2: 
CdcSelfTest.testReadAllKeys[specificConsistentId=false, walMode=FSYNC, 
metricExporter=org.apache.ignite.cdc.CdcSelfTest$$Lambda$17/798639105@3e5fd2b1] 
- PASSED{color}
* {color:#013220}IgnitePdsTestSuite2: 
CdcSelfTest.testReadAllKeys[specificConsistentId=true, walMode=FSYNC, 
metricExporter=org.apache.ignite.cdc.CdcSelfTest$$Lambda$17/798639105@3e5fd2b1] 
- PASSED{color}
* {color:#013220}IgnitePdsTestSuite2: 
CdcSelfTest.testCdcSingleton[specificConsistentId=false, walMode=LOG_ONLY, 
metricExporter=org.apache.ignite.cdc.CdcSelfTest$$Lambda$17/798639105@3e5fd2b1] 
- PASSED{color}
* {color:#013220}IgnitePdsTestSuite2: 
CdcSelfTest.testReReadWhenStateWasNotStored[specificConsistentId=true, 
walMode=FSYNC, 
metricExporter=org.apache.ignite.cdc.CdcSelfTest$$Lambda$17/798639105@3e5fd2b1] 
- PASSED{color}
* {color:#013220}IgnitePdsTestSuite2: 
CdcSelfTest.testReadBeforeGracefulShutdown[specificConsistentId=true, 
walMode=FSYNC, 
metricExporter=org.apache.ignite.cdc.CdcSelfTest$$Lambda$17/798639105@3e5fd2b1] 
- PASSED{color}
... and 19 new tests

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

> Create numa-aware allocator for data regions.
> -
>
> Key: IGNITE-15922
> URL: https://issues.apache.org/jira/browse/IGNITE-15922
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Ivan Daschinsky
>Assignee: Ivan Daschinsky
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Sometimes it is worth to allocate data region on specific numa node or on 
> interleaved node (i.e. Intel Optane can be set up as a little bit slower, but 
> cheaper than and have more capacity, than DDR, and unified as NUMA nodes). 
> Need to write C++ wrapper around {{libnuma}} and extract common allocator 
> interface and add as a configuration parameter to {{DataRegionConfiguration}}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-15394) Calcite integration. Query contexts refactoring

2021-11-17 Thread Taras Ledkov (Jira)


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

Taras Ledkov updated IGNITE-15394:
--
Labels: calcite  (was: calcite3-required ignite-3)

> Calcite integration. Query contexts refactoring
> ---
>
> Key: IGNITE-15394
> URL: https://issues.apache.org/jira/browse/IGNITE-15394
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Reporter: Taras Ledkov
>Assignee: Taras Ledkov
>Priority: Major
>  Labels: calcite
>  Time Spent: 2h
>  Remaining Estimate: 0h
>
> As a part of the query cancel implementation we have to clear query contexts 
> abstractions:
> - separate planning & execution context;
> - introduce common parent context that will contain query info.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-15940) [Networking] Class parsing API and simple class descriptor format

2021-11-17 Thread Semyon Danilov (Jira)


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

Semyon Danilov updated IGNITE-15940:

Description: 
To enable User Object Serialization we need to define class descriptor format 
and API for parsing java classes into this format.

As the first step, we consider simple cases - Serializable/Externalizable 
classes with primitive or Serializable/Externalizable fields.

Look here for reference:

https://github.com/gridgain/gridgain-9-ce/blob/iep-67/modules/network/README.md#class-descriptor

  was:
To enable User Object Serialization we need to define class descriptor format 
and API for parsing java classes into this format.

As the first step we consider simple cases - Serializable/Externalizable 
classes with primitive or Serializable/Externalizable fields.


> [Networking] Class parsing API and simple class descriptor format
> -
>
> Key: IGNITE-15940
> URL: https://issues.apache.org/jira/browse/IGNITE-15940
> Project: Ignite
>  Issue Type: Task
>  Components: networking
>Reporter: Sergey Chugunov
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-alpha4
>
>
> To enable User Object Serialization we need to define class descriptor format 
> and API for parsing java classes into this format.
> As the first step, we consider simple cases - Serializable/Externalizable 
> classes with primitive or Serializable/Externalizable fields.
> Look here for reference:
> https://github.com/gridgain/gridgain-9-ce/blob/iep-67/modules/network/README.md#class-descriptor



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-15781) CacheGroupMetrics spams to heap with java.lang.Integer

2021-11-17 Thread Maksim Timonin (Jira)


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

Maksim Timonin updated IGNITE-15781:

Affects Version/s: 2.11

> CacheGroupMetrics spams to heap with java.lang.Integer
> --
>
> Key: IGNITE-15781
> URL: https://issues.apache.org/jira/browse/IGNITE-15781
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.11
>Reporter: Maksim Timonin
>Assignee: Maksim Timonin
>Priority: Major
>
> Check GridDhtPartitionMap.get() and similar methods that expect Integer, but 
> CacheMetrics uses prmitive types. Autoboxing pollutes heap much if metrics 
> asks frequently.
>  
> Metrics to check: getMinimumNumberOfPartitionCopies()
> this metrics iterates over all nodes and partitions and invokes get(int) on 
> every iteration.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-15781) CacheGroupMetrics spams to heap with java.lang.Integer

2021-11-17 Thread Maksim Timonin (Jira)


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

Maksim Timonin updated IGNITE-15781:

Ignite Flags:   (was: Docs Required,Release Notes Required)

> CacheGroupMetrics spams to heap with java.lang.Integer
> --
>
> Key: IGNITE-15781
> URL: https://issues.apache.org/jira/browse/IGNITE-15781
> Project: Ignite
>  Issue Type: Bug
>Reporter: Maksim Timonin
>Assignee: Maksim Timonin
>Priority: Major
>
> Check GridDhtPartitionMap.get() and similar methods that expect Integer, but 
> CacheMetrics uses prmitive types. Autoboxing pollutes heap much if metrics 
> asks frequently.
>  
> Metrics to check: getMinimumNumberOfPartitionCopies()
> this metrics iterates over all nodes and partitions and invokes get(int) on 
> every iteration.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-15940) [Networking] Class parsing API and simple class descriptor format

2021-11-17 Thread Sergey Chugunov (Jira)


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

Sergey Chugunov updated IGNITE-15940:
-
Labels: ignite-3  (was: )

> [Networking] Class parsing API and simple class descriptor format
> -
>
> Key: IGNITE-15940
> URL: https://issues.apache.org/jira/browse/IGNITE-15940
> Project: Ignite
>  Issue Type: Task
>  Components: networking
>Reporter: Sergey Chugunov
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-alpha4
>
>
> To enable User Object Serialization we need to define class descriptor format 
> and API for parsing java classes into this format.
> As the first step we consider simple cases - Serializable/Externalizable 
> classes with primitive or Serializable/Externalizable fields.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (IGNITE-15912) Merge SQL calcite query contexts refactoring to 3.0

2021-11-17 Thread Konstantin Orlov (Jira)


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

Konstantin Orlov commented on IGNITE-15912:
---

[~tledkov-gridgain] , LGTM!

> Merge SQL calcite query contexts refactoring to 3.0
> ---
>
> Key: IGNITE-15912
> URL: https://issues.apache.org/jira/browse/IGNITE-15912
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Reporter: Taras Ledkov
>Assignee: Taras Ledkov
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-alpha4
>
>
> Adopt the query contexts refactoring  patch (IGNITE-15394) for the Ignite 3.0.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (IGNITE-15940) [Networking] Class parsing API and simple class descriptor format

2021-11-17 Thread Sergey Chugunov (Jira)
Sergey Chugunov created IGNITE-15940:


 Summary: [Networking] Class parsing API and simple class 
descriptor format
 Key: IGNITE-15940
 URL: https://issues.apache.org/jira/browse/IGNITE-15940
 Project: Ignite
  Issue Type: Task
  Components: networking
Reporter: Sergey Chugunov
 Fix For: 3.0.0-alpha4


To enable User Object Serialization we need to define class descriptor format 
and API for parsing java classes into this format.

As the first step we consider simple cases - Serializable/Externalizable 
classes with primitive or Serializable/Externalizable fields.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-15932) Implement storage for locks

2021-11-17 Thread Alexey Scherbakov (Jira)


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

Alexey Scherbakov updated IGNITE-15932:
---
Ignite Flags:   (was: Docs Required,Release Notes Required)

> Implement storage for locks
> ---
>
> Key: IGNITE-15932
> URL: https://issues.apache.org/jira/browse/IGNITE-15932
> Project: Ignite
>  Issue Type: Improvement
> Environment: Currently locks are stored in the heap and can take 
> unlimited amount of memory.
> Need to implement storage for a locks with a configurable limits. It can even 
> store locks off-heap of use disk spilling.
> Lock attempt must fail if a storage is overflowed.
>  
>Reporter: Alexey Scherbakov
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-15289) Collect global statistics

2021-11-17 Thread Yury Gerzhedovich (Jira)


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

Yury Gerzhedovich updated IGNITE-15289:
---
Labels: calcite calcite3-required  (was: )

> Collect global statistics
> -
>
> Key: IGNITE-15289
> URL: https://issues.apache.org/jira/browse/IGNITE-15289
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Alexander Belyak
>Assignee: Alexander Belyak
>Priority: Major
>  Labels: calcite, calcite3-required
>  Time Spent: 7h
>  Remaining Estimate: 0h
>
> Collect global statistics by request to use in Calcite cost model.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Assigned] (IGNITE-15868) Unexpected command: PROBE when authorization is enabled

2021-11-17 Thread Vyacheslav Koptilin (Jira)


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

Vyacheslav Koptilin reassigned IGNITE-15868:


Assignee: Dmitriy Borunov

> Unexpected command: PROBE when authorization is enabled
> ---
>
> Key: IGNITE-15868
> URL: https://issues.apache.org/jira/browse/IGNITE-15868
> Project: Ignite
>  Issue Type: Bug
>  Components: platforms, thin client
>Affects Versions: 2.12
>Reporter: Dmitriy Borunov
>Assignee: Dmitriy Borunov
>Priority: Major
> Fix For: 2.13
>
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> Rest API Probe is not working when Control Center authorisation is enabled
> {noformat}
> [2021-11-01T13:35:33,550][ERROR][rest-#125%nebula-node%][GridRestProcessor] 
> Runtime error caught during grid runnable execution: GridWorker 
> [name=rest-proc-work
> er, igniteInstanceName=nebula-node, finished=false, 
> heartbeatTs=1635773733544, hashCode=1386655371, interrupted=false, 
> runner=rest-#125%nebula-node%]
> java.lang.AssertionError: Unexpected command: PROBE
> at 
> org.apache.ignite.internal.processors.rest.GridRestProcessor.authorize(GridRestProcessor.java:968)
>  ~[ignite-core-8.8.10.jar:8.8.10]
> at 
> org.apache.ignite.internal.processors.rest.GridRestProcessor.handleRequest(GridRestProcessor.java:286)
>  ~[ignite-core-8.8.10.jar:8.8.10]
> at 
> org.apache.ignite.internal.processors.rest.GridRestProcessor.access$100(GridRestProcessor.java:108)
>  ~[ignite-core-8.8.10.jar:8.8.10]
> at 
> org.apache.ignite.internal.processors.rest.GridRestProcessor$2.body(GridRestProcessor.java:183)
>  ~[ignite-core-8.8.10.jar:8.8.10]
> at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:119) 
> [ignite-core-8.8.10.jar:8.8.10]
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>  [?:?]
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>  [?:?]
> at java.lang.Thread.run(Thread.java:829) [?:?]{noformat}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


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

2021-11-17 Thread Denis Chudov (Jira)


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

Denis Chudov commented on IGNITE-13558:
---

[~sergeychugunov] seems we are ready to merge.

> 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: 4h 10m
>  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.20.1#820001)


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

2021-11-17 Thread Denis Chudov (Jira)


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

Denis Chudov commented on IGNITE-13558:
---

PR 9565 is almost equal to PR 9327 except of last merge commit.

> 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: 4h 10m
>  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.20.1#820001)


[jira] [Updated] (IGNITE-15093) MVP for transactional protocol

2021-11-17 Thread Alexey Scherbakov (Jira)


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

Alexey Scherbakov updated IGNITE-15093:
---
Description: 
It is necessary to develop an MVP for transactional protocol components.

It seems we need at least IGNITE-15085 IGNITE-15086 and IGNITE-15057 for this.

The simplest implementation will do.

  was:
It is necessary to develop an MVP for transactional protocol components.

It seems we need at least IGNITE-15083 IGNITE-15085 IGNITE-15086 and 
IGNITE-15057 for this.

The simplest implementation will do.


> MVP for transactional protocol
> --
>
> Key: IGNITE-15093
> URL: https://issues.apache.org/jira/browse/IGNITE-15093
> Project: Ignite
>  Issue Type: Task
>Reporter: Alexey Scherbakov
>Assignee: Alexey Scherbakov
>Priority: Major
>  Labels: iep-61, ignite-3
>
> It is necessary to develop an MVP for transactional protocol components.
> It seems we need at least IGNITE-15085 IGNITE-15086 and IGNITE-15057 for this.
> The simplest implementation will do.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-15937) Fix transactions exception model

2021-11-17 Thread Alexey Scherbakov (Jira)


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

Alexey Scherbakov updated IGNITE-15937:
---
Description: 
Make sure a transaction always use TransactionException as root cause.

Implement error codes.

  was:
Make sure a transaction always throws TransactionException as root cause.

Implement error codes.


> Fix transactions exception model
> 
>
> Key: IGNITE-15937
> URL: https://issues.apache.org/jira/browse/IGNITE-15937
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Alexey Scherbakov
>Priority: Major
>
> Make sure a transaction always use TransactionException as root cause.
> Implement error codes.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-15937) Fix transactions exception model

2021-11-17 Thread Alexey Scherbakov (Jira)


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

Alexey Scherbakov updated IGNITE-15937:
---
Summary: Fix transactions exception model  (was: Fix tx exception model)

> Fix transactions exception model
> 
>
> Key: IGNITE-15937
> URL: https://issues.apache.org/jira/browse/IGNITE-15937
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Alexey Scherbakov
>Priority: Major
>
> Make sure a transaction always throws TransactionException as root cause.
> Implement error codes.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (IGNITE-15939) Fix .net tests related to reading non existing keys

2021-11-17 Thread Alexey Scherbakov (Jira)
Alexey Scherbakov created IGNITE-15939:
--

 Summary: Fix .net tests related to reading non existing keys
 Key: IGNITE-15939
 URL: https://issues.apache.org/jira/browse/IGNITE-15939
 Project: Ignite
  Issue Type: Improvement
Reporter: Alexey Scherbakov


Currenlty getAll will return null if a value is not found for a key (undelying 
collection is a List)

Need to adapt .net tests [1] [2]

[1] TestGetAllReturnsRecordsForExistingKeys

[2] TestGetAllNonExistentKeysReturnsEmptyList



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (IGNITE-15938) A race between async ops and tx finish

2021-11-17 Thread Alexey Scherbakov (Jira)
Alexey Scherbakov created IGNITE-15938:
--

 Summary: A race between async ops and tx finish
 Key: IGNITE-15938
 URL: https://issues.apache.org/jira/browse/IGNITE-15938
 Project: Ignite
  Issue Type: Improvement
Reporter: Alexey Scherbakov


There is a race between tx async ops and tx finish ops (commit, rollback).

User op futures are not tracked in any way.

Possible solution: deny commit or rollback if some async ops are on the fly.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (IGNITE-15937) Fix tx exception model

2021-11-17 Thread Alexey Scherbakov (Jira)
Alexey Scherbakov created IGNITE-15937:
--

 Summary: Fix tx exception model
 Key: IGNITE-15937
 URL: https://issues.apache.org/jira/browse/IGNITE-15937
 Project: Ignite
  Issue Type: Improvement
Reporter: Alexey Scherbakov


Make sure a transaction always throws TransactionException as root cause.

Implement error codes.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (IGNITE-15936) Implement timeouts

2021-11-17 Thread Alexey Scherbakov (Jira)
Alexey Scherbakov created IGNITE-15936:
--

 Summary: Implement timeouts
 Key: IGNITE-15936
 URL: https://issues.apache.org/jira/browse/IGNITE-15936
 Project: Ignite
  Issue Type: Improvement
Reporter: Alexey Scherbakov


Tx should be rolled back if a timeout is exceeded [1]

[1] org.apache.ignite.tx.IgniteTransactions#withTimeout



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (IGNITE-15935) Implement tx near cache

2021-11-17 Thread Alexey Scherbakov (Jira)
Alexey Scherbakov created IGNITE-15935:
--

 Summary: Implement tx near cache
 Key: IGNITE-15935
 URL: https://issues.apache.org/jira/browse/IGNITE-15935
 Project: Ignite
  Issue Type: Improvement
Reporter: Alexey Scherbakov


Currently all tx reads are routed to a raft group leader.

It is possible to use a local cache on a near tx side for ad-hoc reads.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (IGNITE-15934) Optimize versioned row store

2021-11-17 Thread Alexey Scherbakov (Jira)
Alexey Scherbakov created IGNITE-15934:
--

 Summary: Optimize versioned row store
 Key: IGNITE-15934
 URL: https://issues.apache.org/jira/browse/IGNITE-15934
 Project: Ignite
  Issue Type: Improvement
Reporter: Alexey Scherbakov


Git rid of data copying.

Do not store keys twice.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (IGNITE-15933) Implement asynchronous rollback

2021-11-17 Thread Alexey Scherbakov (Jira)
Alexey Scherbakov created IGNITE-15933:
--

 Summary: Implement asynchronous rollback
 Key: IGNITE-15933
 URL: https://issues.apache.org/jira/browse/IGNITE-15933
 Project: Ignite
  Issue Type: Improvement
Reporter: Alexey Scherbakov


Need to make sure a transaction can be asynchronously rolled back, concurrently 
with a user activity.

This requires additional test scenarios covering the aforementioned feature.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-15932) Implement storage for locks

2021-11-17 Thread Alexey Scherbakov (Jira)


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

Alexey Scherbakov updated IGNITE-15932:
---
Environment: 
Currently locks are stored in the heap and can take unlimited amount of memory.

Need to implement storage for a locks with a configurable limits. It can even 
store locks off-heap of use disk spilling.

Lock attempt must fail if a storage is overflowed.

 

  was:
Currently locks are stored in the heap and can take unlimited amount of memory.

Need to implement storage for a locks with a configurable limits. It can even 
store locks off-heap of use disk spilling.


> Implement storage for locks
> ---
>
> Key: IGNITE-15932
> URL: https://issues.apache.org/jira/browse/IGNITE-15932
> Project: Ignite
>  Issue Type: Improvement
> Environment: Currently locks are stored in the heap and can take 
> unlimited amount of memory.
> Need to implement storage for a locks with a configurable limits. It can even 
> store locks off-heap of use disk spilling.
> Lock attempt must fail if a storage is overflowed.
>  
>Reporter: Alexey Scherbakov
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (IGNITE-15932) Implement storage for locks

2021-11-17 Thread Alexey Scherbakov (Jira)
Alexey Scherbakov created IGNITE-15932:
--

 Summary: Implement storage for locks
 Key: IGNITE-15932
 URL: https://issues.apache.org/jira/browse/IGNITE-15932
 Project: Ignite
  Issue Type: Improvement
 Environment: Currently locks are stored in the heap and can take 
unlimited amount of memory.

Need to implement storage for a locks with a configurable limits. It can even 
store locks off-heap of use disk spilling.
Reporter: Alexey Scherbakov






--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (IGNITE-15931) Implement storage for tx states

2021-11-17 Thread Alexey Scherbakov (Jira)
Alexey Scherbakov created IGNITE-15931:
--

 Summary: Implement storage for tx states
 Key: IGNITE-15931
 URL: https://issues.apache.org/jira/browse/IGNITE-15931
 Project: Ignite
  Issue Type: Improvement
 Environment: Currently tx states [1] are stored in memory and will be 
lost on node failure, but they shouldn't.

Need to store states in the Storage (similar to PartitionStorage).

[1] org.apache.ignite.internal.tx.impl.TxManagerImpl#states
Reporter: Alexey Scherbakov






--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (IGNITE-15930) Implement explicit tx argument in table API

2021-11-17 Thread Alexey Scherbakov (Jira)
Alexey Scherbakov created IGNITE-15930:
--

 Summary: Implement explicit tx argument in table API
 Key: IGNITE-15930
 URL: https://issues.apache.org/jira/browse/IGNITE-15930
 Project: Ignite
  Issue Type: Improvement
Reporter: Alexey Scherbakov


All data related public methods on table APIs must accept Transaction as an 
argument.

null value means "autocommit" mode.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (IGNITE-15929) Local node id generation might not work

2021-11-17 Thread Alexey Scherbakov (Jira)
Alexey Scherbakov created IGNITE-15929:
--

 Summary: Local node id generation might not work
 Key: IGNITE-15929
 URL: https://issues.apache.org/jira/browse/IGNITE-15929
 Project: Ignite
  Issue Type: Bug
Reporter: Alexey Scherbakov


Current implementation of 
org.apache.ignite.internal.tx.Timestamp#getLocalNodeId is error prone, because 
java.net.NetworkInterface#getByInetAddress can return null.

Need to fallback to random bytes in this case (or maybe some other strategy)



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-15087) Implement support for transactional SQL

2021-11-17 Thread Alexey Scherbakov (Jira)


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

Alexey Scherbakov updated IGNITE-15087:
---
Description: 
SQL execution engine must interact with LockManager and TxManager to achieve 
desired isolation, as described in [1] 

Indexes must be aware of tx isolation.

[1] [https://github.com/apache/ignite-3/tree/main/modules/transactions]

  was:
SQL execution engine must interact with LockManager and TxManager to achieve 
desired isolation, as described in [1]

[1] https://github.com/apache/ignite-3/tree/main/modules/transactions


> Implement support for transactional SQL
> ---
>
> Key: IGNITE-15087
> URL: https://issues.apache.org/jira/browse/IGNITE-15087
> Project: Ignite
>  Issue Type: Task
>Reporter: Alexey Scherbakov
>Priority: Major
>  Labels: iep-61, ignite-3
>
> SQL execution engine must interact with LockManager and TxManager to achieve 
> desired isolation, as described in [1] 
> Indexes must be aware of tx isolation.
> [1] [https://github.com/apache/ignite-3/tree/main/modules/transactions]



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (IGNITE-15928) Optimize transactional IT tests to reuse nodes between different scenarios

2021-11-17 Thread Alexey Scherbakov (Jira)
Alexey Scherbakov created IGNITE-15928:
--

 Summary: Optimize transactional IT tests to reuse nodes between 
different scenarios
 Key: IGNITE-15928
 URL: https://issues.apache.org/jira/browse/IGNITE-15928
 Project: Ignite
  Issue Type: Improvement
Reporter: Alexey Scherbakov


Avoid restarting nodes between tests



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (IGNITE-15927) Implement one phase commit

2021-11-17 Thread Alexey Scherbakov (Jira)
Alexey Scherbakov created IGNITE-15927:
--

 Summary: Implement one phase commit
 Key: IGNITE-15927
 URL: https://issues.apache.org/jira/browse/IGNITE-15927
 Project: Ignite
  Issue Type: Improvement
Reporter: Alexey Scherbakov


If all keys in the implicit transaction belong to a same partition in can be 
committed in one round-trip.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-15094) Support for transactions in a client

2021-11-17 Thread Alexey Scherbakov (Jira)


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

Alexey Scherbakov updated IGNITE-15094:
---
Epic Link: IGNITE-15081

> Support for transactions in a client
> 
>
> Key: IGNITE-15094
> URL: https://issues.apache.org/jira/browse/IGNITE-15094
> Project: Ignite
>  Issue Type: Task
>Reporter: Alexey Scherbakov
>Priority: Major
>  Labels: iep-61, ignite-3
>
> Implement the support for transactions (interop with tx coordinator) in a 
> thin client.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-15013) Design the transaction protocol for Ignite 3

2021-11-17 Thread Alexey Scherbakov (Jira)


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

Alexey Scherbakov updated IGNITE-15013:
---
Epic Link: IGNITE-15081

> Design the transaction protocol for Ignite 3
> 
>
> Key: IGNITE-15013
> URL: https://issues.apache.org/jira/browse/IGNITE-15013
> Project: Ignite
>  Issue Type: Task
>Affects Versions: 3.0.0-alpha2
>Reporter: Alexey Scherbakov
>Assignee: Alexey Scherbakov
>Priority: Major
>  Labels: iep-61, ignite-3
> Fix For: 3.0.0-alpha3
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> As a result of this task, the transactional protocol design must be proposed.
> It's ok to have a protocol design to be in some intermediate state, so, not 
> all desired features can be available.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-15093) MVP for transactional protocol

2021-11-17 Thread Alexey Scherbakov (Jira)


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

Alexey Scherbakov updated IGNITE-15093:
---
Epic Link: IGNITE-15081

> MVP for transactional protocol
> --
>
> Key: IGNITE-15093
> URL: https://issues.apache.org/jira/browse/IGNITE-15093
> Project: Ignite
>  Issue Type: Task
>Reporter: Alexey Scherbakov
>Assignee: Alexey Scherbakov
>Priority: Major
>  Labels: iep-61, ignite-3
>
> It is necessary to develop an MVP for transactional protocol components.
> It seems we need at least IGNITE-15083 IGNITE-15085 IGNITE-15086 and 
> IGNITE-15057 for this.
> The simplest implementation will do.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-15057) Implement LockManager with deadlock prevention based on operation ordering

2021-11-17 Thread Alexey Scherbakov (Jira)


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

Alexey Scherbakov updated IGNITE-15057:
---
Epic Link: IGNITE-15081

> Implement LockManager with deadlock prevention based on operation ordering
> --
>
> Key: IGNITE-15057
> URL: https://issues.apache.org/jira/browse/IGNITE-15057
> Project: Ignite
>  Issue Type: Task
>Affects Versions: 3.0.0-alpha2
>Reporter: Alexey Scherbakov
>Assignee: Alexey Scherbakov
>Priority: Major
>  Labels: iep-61, ignite-3
> Fix For: 3.0.0-alpha3
>
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> We assume two phase locking concurrency control in the first version of tx 
> protocol in Ignite 3.
> We need a LockManager implementing this functionality.
> If a shared/exclusive lock is acquired in incompatible mode, only "newest" 
> operations are allowed to wait for "oldest", according to ordering based on 
> globally comparable timestamp.
> More specifically, suppose a transaction Ti tries to wait for Tj => lock 
> order is [Tj, Ti]. If Ti has lower priority than Tj (i.e., Ti is younger than 
> Tj), then Ti is permitted to wait => [Tj=10, Ti=20]. Otherwise [Tj=20, Ti=10] 
> => Ti is aborted.
> Aborted transactions must be restarted preserving it's timestamp.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-15086) Design a public tx API

2021-11-17 Thread Alexey Scherbakov (Jira)


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

Alexey Scherbakov updated IGNITE-15086:
---
Epic Link: IGNITE-15081

> Design a public tx API
> --
>
> Key: IGNITE-15086
> URL: https://issues.apache.org/jira/browse/IGNITE-15086
> Project: Ignite
>  Issue Type: Task
>Reporter: Alexey Scherbakov
>Assignee: Alexey Scherbakov
>Priority: Major
>  Labels: iep-61, ignite-3
> Fix For: 3.0.0-alpha3
>
>  Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> Design a public tx API.
> The proposed design includes async and sync APIs to execute a transaction.
> The transaction facade looks like this:
> {code:java}
> /**
>  * Ignite Transactions facade.
>  */
> public interface IgniteTransactions {
> /**
>  * Begins the transaction.
>  *
>  * @return The future.
>  */
> CompletableFuture beginAsync();
> /**
>  * Synchronously executes a closure within a transaction.
>  * 
>  * If the closure is executed normally (no exceptions), the transaction 
> is automatically committed.
>  *
>  * @param clo The closure.
>  */
> void runInTransaction(Consumer clo);
> }
> {code}
> Transacton interface:
> {code:java}
> /**
>  * The transaction.
>  */
> public interface Transaction {
> /**
>  * Synchronously commits a transaction.
>  * Does nothing if it's already finished by committing or rolling back.
>  */
> void commit();
> /**
>  * Asynchronously commits a transaction.
>  * Does nothing if it's already finished by committing or rolling back.
>  *
>  * @return The future.
>  */
> CompletableFuture commitAsync();
> /**
>  * Synchronously rolls back a transaction.
>  * Does nothing if it's already finished by committing or rolling back.
>  */
> void rollback();
> /**
>  * Asynchronously rolls back a transaction.
>  * Does nothing if it's already finished by committing or rolling back.
>  *
>  * @return The future.
>  */
> CompletableFuture rollbackAsync();
> }
> {code}
> Example of synchronous transaction:
> {code:java}
> igniteTransactions.runInTransaction(tx -> {
> Table txTable = table.withTransaction(tx); // table view enlisted 
> in the transaction.
> txTable.upsertAsync(...);
> tx.commit(); 
> });
> {code}
> Example of asynchronous transaction:
> {code:java}
> igniteTransactions.beginAsync()
> .thenApply(tx -> accounts.withTransaction(tx))
> .thenCompose(txTbl -> txTbl.upsertAsync(...).thenApply(i -> 
> txTbl.transaction()))
> .thenCompose(Transaction::commitAsync);
> {code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-15092) Implement a vacuum

2021-11-17 Thread Alexey Scherbakov (Jira)


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

Alexey Scherbakov updated IGNITE-15092:
---
Epic Link: IGNITE-15081

> Implement a vacuum
> --
>
> Key: IGNITE-15092
> URL: https://issues.apache.org/jira/browse/IGNITE-15092
> Project: Ignite
>  Issue Type: Task
>Reporter: Alexey Scherbakov
>Priority: Major
>  Labels: iep-61, ignite-3
>
> During pre-writes some excessive data is written to support tx aborting.
> This data must be eventually removed.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-15091) Implement tx recovery protocol

2021-11-17 Thread Alexey Scherbakov (Jira)


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

Alexey Scherbakov updated IGNITE-15091:
---
Epic Link: IGNITE-15081

> Implement tx recovery protocol
> --
>
> Key: IGNITE-15091
> URL: https://issues.apache.org/jira/browse/IGNITE-15091
> Project: Ignite
>  Issue Type: Task
>Reporter: Alexey Scherbakov
>Priority: Major
>  Labels: iep-61, ignite-3
>
> This protocol should keep consistency on different kind of node failures.
> It will be similar to Ignite 2, see [1]
> [1] https://github.com/apache/ignite-3/tree/main/modules/transactions



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-15087) Implement support for transactional SQL

2021-11-17 Thread Alexey Scherbakov (Jira)


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

Alexey Scherbakov updated IGNITE-15087:
---
Epic Link: IGNITE-15081

> Implement support for transactional SQL
> ---
>
> Key: IGNITE-15087
> URL: https://issues.apache.org/jira/browse/IGNITE-15087
> Project: Ignite
>  Issue Type: Task
>Reporter: Alexey Scherbakov
>Priority: Major
>  Labels: iep-61, ignite-3
>
> SQL execution engine must interact with LockManager and TxManager to achieve 
> desired isolation, as described in [1]
> [1] https://github.com/apache/ignite-3/tree/main/modules/transactions



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-15081) Implement transactions support in Ignite-3

2021-11-17 Thread Alexey Scherbakov (Jira)


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

Alexey Scherbakov updated IGNITE-15081:
---
Epic Name: Ignite 3 transactions

> Implement transactions support in Ignite-3
> --
>
> Key: IGNITE-15081
> URL: https://issues.apache.org/jira/browse/IGNITE-15081
> Project: Ignite
>  Issue Type: Epic
>Reporter: Alexey Scherbakov
>Priority: Major
>  Labels: iep-61, ignite-3
> Fix For: 3.0
>
>
> Umbrella: Design and implement transactions support.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-15129) Improve timestamp generation for transactions

2021-11-17 Thread Alexey Scherbakov (Jira)


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

Alexey Scherbakov updated IGNITE-15129:
---
Epic Link: IGNITE-15081

> Improve timestamp generation for transactions
> -
>
> Key: IGNITE-15129
> URL: https://issues.apache.org/jira/browse/IGNITE-15129
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Alexey Scherbakov
>Priority: Major
>  Labels: iep-61, ignite-3
>
> Current timestamp implementation doesn't include globalId part, so is useful 
> only then all transactions ids are generated on single node.
> It should be improved by adding global unique jvm id to the timestamp.
> Additionally, current timestamp uses nanoSeconds, which is far away from real 
> time.
> Instead, NTP timestamp can be used as a localTime part.
> IgniteUuid can be used for this purpose as well - it's the simplest solution.
> Also, the performance of current implementation may not be optimal - probably 
> it should be CAS powered or/and use optimistic locking (StampedLock).



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-15085) Implement tx coordination

2021-11-17 Thread Alexey Scherbakov (Jira)


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

Alexey Scherbakov updated IGNITE-15085:
---
Epic Link: IGNITE-15081

> Implement tx coordination
> -
>
> Key: IGNITE-15085
> URL: https://issues.apache.org/jira/browse/IGNITE-15085
> Project: Ignite
>  Issue Type: Task
>Reporter: Alexey Scherbakov
>Assignee: Alexey Scherbakov
>Priority: Major
>  Labels: iep-61, ignite-3
>  Time Spent: 7h 50m
>  Remaining Estimate: 0h
>
> This ticket implies the implementation of tx coordination, as described in 
> [1].
>  This includes:
>  * TxManager - top-level manager for tx state and coordination
>  * pre-writes - each tx write is pre-written to partition store in special 
> format
>  * replicated tx state - tx state is stored in the partition's raft group
>  * integration with lock manager (see *precaution* chapter in [1])
> The example of single key tx:
> {noformat}
> Tx client   TxCoordinator 
>   Partition leaseholder.
> tx.start
> ->  
>   assign timestamp (id)
>   txstate = PENDING
> <-   
> table.put(k,v)   
> ->   
> enlist(partition(k));
>   lh = getLeaseholder(partition(k))
> send UpsertCommand(k) to lh
> 
> >
>   
>replicate txstate = PENDING
>   
>lockManager.tryAcquire(k,timestamp);
>   
>wait for completion async
>   
>prewrite(k, v) -- replicate to all replicas
> repeat for each enlisted partition...
> <-
> tx.finish - commit or rollback
> ->  
> send finish request to all remote enlisted nodes
>   
> >
>   
>replicate txstate = COMMITTED/ABORTED
> txState = COMMITTED/ABORTED   
>lockManager.tryRelease(k, timestamp)
> 
> < 
>   
>   when all leasholders are replied,
>   reply to initiator
>   <   
> {noformat}
> [1] [https://github.com/apache/ignite-3/tree/main/modules/transactions]



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-15083) Implement leaseholder selection and failover

2021-11-17 Thread Alexey Scherbakov (Jira)


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

Alexey Scherbakov updated IGNITE-15083:
---
Epic Link: IGNITE-15081

> Implement leaseholder selection and failover
> 
>
> Key: IGNITE-15083
> URL: https://issues.apache.org/jira/browse/IGNITE-15083
> Project: Ignite
>  Issue Type: Task
>Reporter: Alexey Scherbakov
>Priority: Major
>  Labels: iep-61, ignite-3
>
> The tx design [1] assumes the presence of leaseholder (stronger form of a 
> leader) for each partition raft group.
> * Leaseholder is used for reads without majority heartbeat
> * Leaseholder is used for lock requests processing.
> * Only one leaseholder should exists at a time.
> * Leaseholders map is stored in metastore (can be discovered by asking group 
> members in the first approach)
> * Tx coordinators are subscribed for leaseholder status updates.
> The lease acquisiotion implementation details are open for now [2]. 
> Jraft includes expiration based leases (similar to yugabyte's), and this 
> should be enough for the first approach.
> [1] https://github.com/apache/ignite-3/tree/main/modules/transactions
> [2] Cocroach and tikv use raft log based approach.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-15081) Implement transactions support in Ignite-3

2021-11-17 Thread Alexey Scherbakov (Jira)


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

Alexey Scherbakov updated IGNITE-15081:
---
Issue Type: Epic  (was: New Feature)

> Implement transactions support in Ignite-3
> --
>
> Key: IGNITE-15081
> URL: https://issues.apache.org/jira/browse/IGNITE-15081
> Project: Ignite
>  Issue Type: Epic
>Reporter: Alexey Scherbakov
>Priority: Major
>  Labels: iep-61, ignite-3
> Fix For: 3.0
>
>
> Umbrella: Design and implement transactions support.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-15081) Implement transactions support in Ignite-3

2021-11-17 Thread Alexey Scherbakov (Jira)


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

Alexey Scherbakov updated IGNITE-15081:
---
Issue Type: New Feature  (was: Epic)

> Implement transactions support in Ignite-3
> --
>
> Key: IGNITE-15081
> URL: https://issues.apache.org/jira/browse/IGNITE-15081
> Project: Ignite
>  Issue Type: New Feature
>Reporter: Alexey Scherbakov
>Priority: Major
>  Labels: iep-61, ignite-3
> Fix For: 3.0
>
>
> Umbrella: Design and implement transactions support.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-15081) Implement transactions support in Ignite-3

2021-11-17 Thread Alexey Scherbakov (Jira)


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

Alexey Scherbakov updated IGNITE-15081:
---
Issue Type: Epic  (was: New Feature)

> Implement transactions support in Ignite-3
> --
>
> Key: IGNITE-15081
> URL: https://issues.apache.org/jira/browse/IGNITE-15081
> Project: Ignite
>  Issue Type: Epic
>Reporter: Alexey Scherbakov
>Priority: Major
>  Labels: iep-61, ignite-3
> Fix For: 3.0
>
>
> Umbrella: Design and implement transactions support.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-15081) Implement transactions support in Ignite-3

2021-11-17 Thread Alexey Scherbakov (Jira)


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

Alexey Scherbakov updated IGNITE-15081:
---
Issue Type: New Feature  (was: Epic)

> Implement transactions support in Ignite-3
> --
>
> Key: IGNITE-15081
> URL: https://issues.apache.org/jira/browse/IGNITE-15081
> Project: Ignite
>  Issue Type: New Feature
>Reporter: Alexey Scherbakov
>Priority: Major
>  Labels: iep-61, ignite-3
> Fix For: 3.0
>
>
> Umbrella: Design and implement transactions support.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-15081) Implement transactions support in Ignite-3

2021-11-17 Thread Alexey Scherbakov (Jira)


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

Alexey Scherbakov updated IGNITE-15081:
---
Issue Type: Epic  (was: New Feature)

> Implement transactions support in Ignite-3
> --
>
> Key: IGNITE-15081
> URL: https://issues.apache.org/jira/browse/IGNITE-15081
> Project: Ignite
>  Issue Type: Epic
>Reporter: Alexey Scherbakov
>Priority: Major
>  Labels: iep-61, ignite-3
> Fix For: 3.0
>
>
> Umbrella: Design and implement transactions support.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Resolved] (IGNITE-15096) Schema events processing refactoring.

2021-11-17 Thread Yury Gerzhedovich (Jira)


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

Yury Gerzhedovich resolved IGNITE-15096.

Resolution: Invalid

not an actual

> Schema events processing refactoring.
> -
>
> Key: IGNITE-15096
> URL: https://issues.apache.org/jira/browse/IGNITE-15096
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Andrey Mashenkov
>Assignee: Andrey Mashenkov
>Priority: Minor
>  Labels: ignite-3
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> All table events with schema events are processed in TableManager listener.
> Let's 
> * -Replace ConfigurationListener with ConfigurationNamedListListener to 
> simplify the diff calculation between old/new configs.- 
> Resolved in IGNITE-15404
> * -Register a separate per-table listener for schema events on table 
> creation.-
> Resolved in IGNITE-15409
> Update:
> Now we register a per-table listener for schema changes + listener for 
> partition affinity assignment.
> A single listener for schema changes and single listener for affinity changes 
> will be enough,
> but table registration may be tricky a bit.
> Let's discuss and fix this.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


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

2021-11-17 Thread Ignite TC Bot (Jira)


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

Ignite TC Bot commented on IGNITE-13558:


{panel:title=Branch: [pull/9565/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/9565/head] Base: [master] : New Tests 
(1023)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#8b}Platform C++ CMake (Win x64 / Release){color} [[tests 
1023|https://ci.ignite.apache.org/viewLog.html?buildId=6271258]]
* {color:#013220}IgniteThinClientTest: SqlFieldsQueryTestSuite: SelectTwoValues 
- PASSED{color}
* {color:#013220}IgniteOdbcTest: SqlNumericFunctionTestSuite: 
TestNumericFunctionFloor - PASSED{color}
* {color:#013220}IgniteThinClientTest: SqlFieldsQueryTestSuite: 
SelectSingleValue - PASSED{color}
* {color:#013220}IgniteOdbcTest: SqlNumericFunctionTestSuite: 
TestNumericFunctionLog - PASSED{color}
* {color:#013220}IgniteThinClientTest: SqlFieldsQueryTestSuite: 
CreateTableInsertSelect - PASSED{color}
* {color:#013220}IgniteOdbcTest: SqlDateTimeFunctionTestSuite: TestCurrentDate 
- PASSED{color}
* {color:#013220}IgniteThinClientTest: SqlFieldsQueryTestSuite: 
SelectTwoValuesInDifferentOrder - PASSED{color}
* {color:#013220}IgniteCoreTest: ClusterTestSuite: IgniteForCacheNodes - 
PASSED{color}
* {color:#013220}IgniteCoreTest: ClusterTestSuite: IgniteForClientNodes - 
PASSED{color}
* {color:#013220}IgniteCoreTest: CacheQueryTestSuite: 
TestFieldsQueryByteArrayInsertSelect - PASSED{color}
* {color:#013220}IgniteCoreTest: ClusterTestSuite: IgniteForDaemons - 
PASSED{color}
... and 1012 new tests

{panel}
[TeamCity *-- Run :: All* 
Results|https://ci.ignite.apache.org/viewLog.html?buildId=6271351buildTypeId=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: 4h 10m
>  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.20.1#820001)


[jira] [Updated] (IGNITE-15926) Implement two methods for dropping a table for the table existing and not

2021-11-17 Thread Vladislav Pyatkov (Jira)


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

Vladislav Pyatkov updated IGNITE-15926:
---
Description: 
ANSI standard requires two methods for dropping table for the two DDL:
_DROP TABLE [ IF EXISTS ] syntax_
for the purpose, Table manager should provide two methods with similar semantic.
{code}
TableManager#dropTable(String) throws TableNotExists
TableManager#dropTableIfExists(String)
{code}

  was:
ANSI standard requires two methods for dropping table for the two DDL:
_DROP TABLE [ IF EXISTS ] syntax_
for the purpose, Table manager should provide two methods with similar semantic.


> Implement two methods for dropping a table for the table existing and not
> -
>
> Key: IGNITE-15926
> URL: https://issues.apache.org/jira/browse/IGNITE-15926
> Project: Ignite
>  Issue Type: Bug
>Reporter: Vladislav Pyatkov
>Priority: Major
>  Labels: ignite-3
>
> ANSI standard requires two methods for dropping table for the two DDL:
> _DROP TABLE [ IF EXISTS ] syntax_
> for the purpose, Table manager should provide two methods with similar 
> semantic.
> {code}
> TableManager#dropTable(String) throws TableNotExists
> TableManager#dropTableIfExists(String)
> {code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-15926) Implement two methods for dropping a table for the table existing and not

2021-11-17 Thread Vladislav Pyatkov (Jira)


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

Vladislav Pyatkov updated IGNITE-15926:
---
Description: 
ANSI standard requires two methods for dropping table for the two DDL:
_DROP TABLE [ IF EXISTS ] syntax_
for the purpose, Table manager should provide two methods with similar semantic.

  was:
ANSI standard required a two method for dropping table for the two DDL:
_DROP TABLE [ IF EXISTS ] syntax_
for the purpose, Table manager should provide two methods with similar semantic.


> Implement two methods for dropping a table for the table existing and not
> -
>
> Key: IGNITE-15926
> URL: https://issues.apache.org/jira/browse/IGNITE-15926
> Project: Ignite
>  Issue Type: Bug
>Reporter: Vladislav Pyatkov
>Priority: Major
>  Labels: ignite-3
>
> ANSI standard requires two methods for dropping table for the two DDL:
> _DROP TABLE [ IF EXISTS ] syntax_
> for the purpose, Table manager should provide two methods with similar 
> semantic.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-15926) Implement two methods for dropping a table for the table existing and not

2021-11-17 Thread Vladislav Pyatkov (Jira)


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

Vladislav Pyatkov updated IGNITE-15926:
---
Description: 
ANSI standard required a two method for dropping table for the two DDL:
_DROP TABLE [ IF EXISTS ] syntax_
for the purpose, Table manager should provide two methods with similar semantic.

  was:
ANC standard required a two method for dropping table for the two DDL:
_DROP TABLE [ IF EXISTS ] syntax_
for the purpose, Table manager should provide two methods with similar semantic.


> Implement two methods for dropping a table for the table existing and not
> -
>
> Key: IGNITE-15926
> URL: https://issues.apache.org/jira/browse/IGNITE-15926
> Project: Ignite
>  Issue Type: Bug
>Reporter: Vladislav Pyatkov
>Priority: Major
>  Labels: ignite-3
>
> ANSI standard required a two method for dropping table for the two DDL:
> _DROP TABLE [ IF EXISTS ] syntax_
> for the purpose, Table manager should provide two methods with similar 
> semantic.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-15926) Implement two methods for dropping a table for the table existing and not

2021-11-17 Thread Vladislav Pyatkov (Jira)


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

Vladislav Pyatkov updated IGNITE-15926:
---
Summary: Implement two methods for dropping a table for the table existing 
and not  (was: Implement two method for dropping a table for the table existing 
and not)

> Implement two methods for dropping a table for the table existing and not
> -
>
> Key: IGNITE-15926
> URL: https://issues.apache.org/jira/browse/IGNITE-15926
> Project: Ignite
>  Issue Type: Bug
>Reporter: Vladislav Pyatkov
>Priority: Major
>  Labels: ignite-3
>
> ANC standard required a two method for dropping table for the two DDL:
> _DROP TABLE [ IF EXISTS ] syntax_
> for the purpose, Table manager should provide two methods with similar 
> semantic.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (IGNITE-15926) Implement two method for dropping a table for the table existing and not

2021-11-17 Thread Vladislav Pyatkov (Jira)
Vladislav Pyatkov created IGNITE-15926:
--

 Summary: Implement two method for dropping a table for the table 
existing and not
 Key: IGNITE-15926
 URL: https://issues.apache.org/jira/browse/IGNITE-15926
 Project: Ignite
  Issue Type: Bug
Reporter: Vladislav Pyatkov


ANC standard required a two method for dropping table for the two DDL:
_DROP TABLE [ IF EXISTS ] syntax_
for the purpose, Table manager should provide two methods with similar semantic.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)