[jira] [Commented] (IGNITE-15926) DDL methos for tables should throw an exception when the tables exist or not

2021-12-22 Thread Alexander Lapin (Jira)


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

Alexander Lapin commented on IGNITE-15926:
--

[~v.pyatkov]  LGTM

> DDL methos for tables should throw an exception when the tables exist or not
> 
>
> Key: IGNITE-15926
> URL: https://issues.apache.org/jira/browse/IGNITE-15926
> Project: Ignite
>  Issue Type: Bug
>Reporter: Vladislav Pyatkov
>Assignee: Vladislav Pyatkov
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 6h
>  Remaining Estimate: 0h
>
> ANSI standard[1] requires two methods for either table manager functions 
> (DDL):
> _DROP TABLE [ IF EXISTS ] syntax_
> _CREATE TABLE [ IF NOT EXISTS ] syntax_
> _ALTER TABLE [ IF EXISTS ] syntax_
> for implement all these functionalities I offer to handle exceptions 
> (TableAlreadyExistsException, TableNotExistsException)
> {code:java}
> TableManager#dropTable throws TableNotExistsException
> IgniteTables#createTable throws TableAlreadyExistsException
> IgniteTables#alterTable throws TableNotExistsException
> {code}
> Also, the twins of these methods with `IfNotExists` suffix (and them 
> asynchronous analogs) would be removed.
> [1] [https://postgrespro.ru/docs/postgrespro/9.6/sql-altertable]
>  



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


[jira] [Commented] (IGNITE-16177) Snapshot restore operation may hang if cache contains "empty" partitions

2021-12-22 Thread Ignite TC Bot (Jira)


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

Ignite TC Bot commented on IGNITE-16177:


{panel:title=Branch: [pull/9679/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/9679/head] Base: [master] : New Tests 
(1)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#8b}Snapshots{color} [[tests 
1|https://ci.ignite.apache.org/viewLog.html?buildId=6336656]]
* {color:#013220}IgniteSnapshotTestSuite: 
IgniteClusterSnapshotRestoreSelfTest.testRestoreWithEmptyPartitions[Encryption 
is disabled] - PASSED{color}

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

> Snapshot restore operation may hang if cache contains "empty" partitions
> 
>
> Key: IGNITE-16177
> URL: https://issues.apache.org/jira/browse/IGNITE-16177
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.12
>Reporter: Pavel Pereslegin
>Assignee: Pavel Pereslegin
>Priority: Blocker
>  Labels: iep-43
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> The snapshot restore may hang when some of the cache group partitions have 
> not been physically created (for example, there is not enough data in the 
> cache).
> Reproducer
> {code:java}
> public class IgniteClusterSnapshotRestoreEmptyPartsTest extends 
> IgniteClusterSnapshotRestoreBaseTest {
> @Test
> public void testRestoreWithEmptyPartition() throws Exception {
> // Cache with 1024 partitions.
> CacheConfiguration cacheCfg1 = new 
> CacheConfiguration<>(CACHE1);
> // Add only 10 keys (only 10 partitions will be created on the disk).
> IgniteEx ignite = startGridsWithCache(1, 10, Integer::new, cacheCfg1);
> // Snapshot contains only 10 (out of 1024 "affinity" partitions).
> ignite.snapshot().createSnapshot(SNAPSHOT_NAME).get(TIMEOUT);
> ignite.cache(CACHE1).destroy();
> // The restore operation hangs during the "preload" phase.
> ignite.snapshot().restoreSnapshot(SNAPSHOT_NAME, null).get(TIMEOUT);
> }
> }
> {code}



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


[jira] [Commented] (IGNITE-13464) Ignite-rest-http modules includes vulnerable dependencies

2021-12-22 Thread Sergei Ryzhov (Jira)


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

Sergei Ryzhov commented on IGNITE-13464:


If we removed these libs,  stdout  will be contained
2021-12-22 22:47:43.916:INFO::main: Logging initialized @2598ms to 
org.eclipse.jetty.util.log.StdErrLog
https://issues.apache.org/jira/browse/IGNITE-1395

added libs for log4j2

Thanks [~namelchev]

> Ignite-rest-http modules includes vulnerable dependencies
> -
>
> Key: IGNITE-13464
> URL: https://issues.apache.org/jira/browse/IGNITE-13464
> Project: Ignite
>  Issue Type: Bug
>  Components: rest
>Affects Versions: 2.9, 2.8.1
>Reporter: Stephen Darlington
>Assignee: Sergei Ryzhov
>Priority: Blocker
> Fix For: 2.12
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> The ignite-rest-http module includes a [vulnerable 
> version|https://nvd.nist.gov/vuln/detail/CVE-2019-17571] of the log4j 
> library. It also appears to include slf4j. Why does the REST API include its 
> own logging libraries?
> This was spotted in 2.8.1 but still appears to be an issue in master and 2.9.
> More here:
> http://apache-ignite-users.70518.x6.nabble.com/critical-security-vulnerability-for-opt-ignite-apache-ignite-libs-optional-ignite-rest-http-log4j-1-r-td34031.html



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


[jira] [Comment Edited] (IGNITE-14913) Add cache statistics switch to control script

2021-12-22 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov edited comment on IGNITE-14913 at 12/22/21, 8:27 PM:
---

It seems, that command with the proposed syntax (with regex) can result to the 
unpredictable results for an user.
I think, that 2 main use cases are to turn on/off or show status of metrics:
#  For all caches of a cluster.
#  For a particular list of the caches.

IMHO, below syntax is more suitable:
{code}
--cache metrics --enable|--disable|--status cache1[,..,cacheN]|--all-caches
{code}


was (Author: shishkovilja):
It seems, that command with the proposed syntax (with regex) can result to the 
unpredictable results for an user.
I think, that 2 main use cases are to turn on/off or show status of metrics:
#  For all caches of a cluster.
#  For a particular list of the caches.

IMHO, below syntax is more suitable:
{code}
--cache metrics enable|disable|status cache1[,..,cacheN]|--all-caches
{code}

> Add cache statistics switch to control script
> -
>
> Key: IGNITE-14913
> URL: https://issues.apache.org/jira/browse/IGNITE-14913
> Project: Ignite
>  Issue Type: New Feature
>  Components: control.sh
>Reporter: Ilya Shishkov
>Assignee: Ilya Shishkov
>Priority: Minor
>  Labels: ise
>
> Currently, enabling or disabling cache statistics is available only via 
> IgniteVisorCmd or JMX. Because it seems that IgniteVisorCmd is no longer 
> being developed, it would be helpful to add a cache statistics switch into 
> the control script.
> Suggested syntax for a command:
> {code:java}
> --cache metrics enable|disable|status regexPattern
> {code}
> * regexPattern - regular expression for filtering caches (not cache groups) 
> by their names. Caches with names satisfying the regular expression will be 
> affected by the command. In case of an empty regex, the control script should 
> finish execution with an error. If no matching caches are found, the control 
> script should print a message about matching caches' absence.
> * enable - enables statistics for caches satisfying the 'regexPattern'.
> * disable - disables statistics for caches satisfying the 'regexPattern'.
> * status - prints current statistics status (enabled/disabled) for caches 
> satisfying the 'regexPattern'.



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


[jira] [Commented] (IGNITE-13616) IEP-54 Live schema for tables

2021-12-22 Thread Valentin Kulichenko (Jira)


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

Valentin Kulichenko commented on IGNITE-13616:
--

[~amashenkov] Is this parent ticket for IEP-54 as a whole, or specifically for 
the live schema?

> IEP-54 Live schema for tables
> -
>
> Key: IGNITE-13616
> URL: https://issues.apache.org/jira/browse/IGNITE-13616
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Alexey Goncharuk
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0
>
>
> Umbrella ticket for 
> [IEP-54|https://cwiki.apache.org/confluence/display/IGNITE/IEP-54%3A+Schema-first+Approach]



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


[jira] [Commented] (IGNITE-16151) Introduce timeout for calcite planner

2021-12-22 Thread Valentin Kulichenko (Jira)


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

Valentin Kulichenko commented on IGNITE-16151:
--

[~ivandasch] I would suggest to have a single timeout for the query execution 
as a whole.

>From the user's perspective, planning is a part of execution. There is no good 
>way for a user to decide how long the planning should take.

> Introduce timeout for calcite planner
> -
>
> Key: IGNITE-16151
> URL: https://issues.apache.org/jira/browse/IGNITE-16151
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Reporter: Ivan Daschinsky
>Priority: Major
>  Labels: calcite, calcite2-required, calcite3-required
>
> Since it is quite common case that calcite planner can produce too many plans 
> and can planning infinitely, it is of crucial
> importance to be able to cancel this process on timeout.



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


[jira] [Assigned] (IGNITE-16194) Snapshot restore operation fails if any baseline node doesn't contain metadata for the specified snapshot.

2021-12-22 Thread Pavel Pereslegin (Jira)


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

Pavel Pereslegin reassigned IGNITE-16194:
-

Assignee: Pavel Pereslegin

> Snapshot restore operation fails if any baseline node doesn't contain 
> metadata for the specified snapshot.
> --
>
> Key: IGNITE-16194
> URL: https://issues.apache.org/jira/browse/IGNITE-16194
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.11, 2.12
>Reporter: Pavel Pereslegin
>Assignee: Pavel Pereslegin
>Priority: Critical
>
> Snapshot restore operation fails if any baseline node doesn't contain 
> metadata for the specified snapshot. Current tests do not reproduce this 
> problem because they share the same working folder for the snapshots. 
> Reproducer (uses dedicated work dir):
> {code:java}
> public class IgniteSnapshotRestoreWithNewNodeTest extends 
> AbstractSnapshotSelfTest {
> private static final String DEDICATED_CLUSTER_PREFIX = "tmp-cluster-";
> @Test
> public void testRestoreOnNewTopologyWithDedicatedSnapshotLocation() 
> throws Exception {
> String workDir = U.defaultWorkDirectory();
> IgniteEx ignite = startGridsWithCache(2, CACHE_KEYS_RANGE, valBuilder,
> (id, cfg) -> Paths.get(workDir, DEDICATED_CLUSTER_PREFIX + 
> U.maskForFileName(cfg.getIgniteInstanceName())).toString(), dfltCacheCfg);
> ignite.snapshot().createSnapshot(SNAPSHOT_NAME).get(TIMEOUT);
> ignite.destroyCache(DEFAULT_CACHE_NAME);
> awaitPartitionMapExchange();
> // Start new node with an empty snapshots work directory.
> 
> startGrid(optimize(getConfiguration(getTestIgniteInstanceName(2)).setCacheConfiguration()));
> resetBaselineTopology();
> ignite.snapshot().restoreSnapshot(SNAPSHOT_NAME, null).get(TIMEOUT); 
> // fails here
> for (Ignite grid : G.allGrids())
> assertCacheKeys(grid.cache(DEFAULT_CACHE_NAME), CACHE_KEYS_RANGE);
> }
> @Parameterized.Parameters(name = "Encryption is disabled")
> public static Iterable disabledEncryption() {
> return Collections.singletonList(false);
> }
> /** {@inheritDoc} */
> @After
> @Override public void afterTestSnapshot() throws Exception {
> super.afterTestSnapshot();
> try (DirectoryStream ds = 
> Files.newDirectoryStream(Paths.get(U.defaultWorkDirectory()),
> path -> Files.isDirectory(path) && 
> path.getFileName().toString().toLowerCase().startsWith(DEDICATED_CLUSTER_PREFIX))
> ) {
> for (Path dir : ds)
> U.delete(dir);
> }
> }
> }
> {code}
> Log output
> {noformat}
> class org.apache.ignite.compute.ComputeUserUndeclaredException: Failed to 
> reduce job results due to undeclared user exception 
> [task=org.apache.ignite.internal.processors.cache.persistence.snapshot.SnapshotMetadataCollectorTask@4bb91e74,
>  err=class 
> org.apache.ignite.internal.processors.cache.persistence.snapshot.IgniteSnapshotVerifyException:
>  /home/user/ignite/source/work/snapshots/testSnapshot]
>   at 
> org.apache.ignite.internal.processors.task.GridTaskWorker.reduce(GridTaskWorker.java:1188)
>   at 
> org.apache.ignite.internal.processors.task.GridTaskWorker.onResponse(GridTaskWorker.java:976)
>   at 
> org.apache.ignite.internal.processors.task.GridTaskProcessor.processJobExecuteResponse(GridTaskProcessor.java:1155)
>   at 
> org.apache.ignite.internal.processors.task.GridTaskProcessor$JobMessageListener.onMessage(GridTaskProcessor.java:1390)
>   at 
> org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1907)
>   at 
> org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1528)
>   at 
> org.apache.ignite.internal.managers.communication.GridIoManager.access$5300(GridIoManager.java:242)
>   at 
> org.apache.ignite.internal.managers.communication.GridIoManager$9.execute(GridIoManager.java:1421)
>   at 
> org.apache.ignite.internal.managers.communication.TraceRunnable.run(TraceRunnable.java:55)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>   at java.lang.Thread.run(Thread.java:748)
> Caused by: class 
> org.apache.ignite.internal.processors.cache.persistence.snapshot.IgniteSnapshotVerifyException:
>  /home/user/ignite/source/work/snapshots/testSnapshot
>   at 
> org.apache.ignite.internal.processors.cache.persistence.snapshot.SnapshotMetadataCollectorTask.reduce(SnapshotMetadataCollectorTask.java:105)
>   at 
> 

[jira] [Updated] (IGNITE-16194) Snapshot restore operation fails if any baseline node doesn't contain metadata for the specified snapshot.

2021-12-22 Thread Pavel Pereslegin (Jira)


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

Pavel Pereslegin updated IGNITE-16194:
--
Description: 
Snapshot restore operation fails if any baseline node doesn't contain metadata 
for the specified snapshot. Current tests do not reproduce this problem because 
they share the same working folder for the snapshots. 

Reproducer (uses dedicated work dir):
{code:java}
public class IgniteSnapshotRestoreWithNewNodeTest extends 
AbstractSnapshotSelfTest {
private static final String DEDICATED_CLUSTER_PREFIX = "tmp-cluster-";

@Test
public void testRestoreOnNewTopologyWithDedicatedSnapshotLocation() throws 
Exception {
String workDir = U.defaultWorkDirectory();

IgniteEx ignite = startGridsWithCache(2, CACHE_KEYS_RANGE, valBuilder,
(id, cfg) -> Paths.get(workDir, DEDICATED_CLUSTER_PREFIX + 
U.maskForFileName(cfg.getIgniteInstanceName())).toString(), dfltCacheCfg);

ignite.snapshot().createSnapshot(SNAPSHOT_NAME).get(TIMEOUT);

ignite.destroyCache(DEFAULT_CACHE_NAME);
awaitPartitionMapExchange();

// Start new node with an empty snapshots work directory.

startGrid(optimize(getConfiguration(getTestIgniteInstanceName(2)).setCacheConfiguration()));
resetBaselineTopology();

ignite.snapshot().restoreSnapshot(SNAPSHOT_NAME, null).get(TIMEOUT); // 
fails here

for (Ignite grid : G.allGrids())
assertCacheKeys(grid.cache(DEFAULT_CACHE_NAME), CACHE_KEYS_RANGE);
}

@Parameterized.Parameters(name = "Encryption is disabled")
public static Iterable disabledEncryption() {
return Collections.singletonList(false);
}

/** {@inheritDoc} */
@After
@Override public void afterTestSnapshot() throws Exception {
super.afterTestSnapshot();

try (DirectoryStream ds = 
Files.newDirectoryStream(Paths.get(U.defaultWorkDirectory()),
path -> Files.isDirectory(path) && 
path.getFileName().toString().toLowerCase().startsWith(DEDICATED_CLUSTER_PREFIX))
) {
for (Path dir : ds)
U.delete(dir);
}
}
}
{code}

Log output
{noformat}
class org.apache.ignite.compute.ComputeUserUndeclaredException: Failed to 
reduce job results due to undeclared user exception 
[task=org.apache.ignite.internal.processors.cache.persistence.snapshot.SnapshotMetadataCollectorTask@4bb91e74,
 err=class 
org.apache.ignite.internal.processors.cache.persistence.snapshot.IgniteSnapshotVerifyException:
 /home/user/ignite/source/work/snapshots/testSnapshot]

at 
org.apache.ignite.internal.processors.task.GridTaskWorker.reduce(GridTaskWorker.java:1188)
at 
org.apache.ignite.internal.processors.task.GridTaskWorker.onResponse(GridTaskWorker.java:976)
at 
org.apache.ignite.internal.processors.task.GridTaskProcessor.processJobExecuteResponse(GridTaskProcessor.java:1155)
at 
org.apache.ignite.internal.processors.task.GridTaskProcessor$JobMessageListener.onMessage(GridTaskProcessor.java:1390)
at 
org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1907)
at 
org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1528)
at 
org.apache.ignite.internal.managers.communication.GridIoManager.access$5300(GridIoManager.java:242)
at 
org.apache.ignite.internal.managers.communication.GridIoManager$9.execute(GridIoManager.java:1421)
at 
org.apache.ignite.internal.managers.communication.TraceRunnable.run(TraceRunnable.java:55)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: class 
org.apache.ignite.internal.processors.cache.persistence.snapshot.IgniteSnapshotVerifyException:
 /home/user/ignite/source/work/snapshots/testSnapshot
at 
org.apache.ignite.internal.processors.cache.persistence.snapshot.SnapshotMetadataCollectorTask.reduce(SnapshotMetadataCollectorTask.java:105)
at 
org.apache.ignite.internal.processors.cache.persistence.snapshot.SnapshotMetadataCollectorTask.reduce(SnapshotMetadataCollectorTask.java:39)
at 
org.apache.ignite.internal.processors.task.GridTaskWorker$6.call(GridTaskWorker.java:1149)
at 
org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:7276)
at 
org.apache.ignite.internal.processors.task.GridTaskWorker.reduce(GridTaskWorker.java:1147)
... 11 more
Caused by: class org.apache.ignite.IgniteException: 
/home/user/ignite/source/work/snapshots/testSnapshot
at 

[jira] [Updated] (IGNITE-15240) Thin 3.0: Transactions

2021-12-22 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-15240:

Description: 
Implement Table API transactions in thin client.

Update 
[IEP-76|https://cwiki.apache.org/confluence/display/IGNITE/IEP-76+Thin+Client+Protocol+for+Ignite+3.0]
  to reflect required protocol changes.

  was:
Implement Table API transactions in thin client:
{code:java}
ClientTable#withTransaction
ClientTable#transaction
{code}


> Thin 3.0: Transactions
> --
>
> Key: IGNITE-15240
> URL: https://issues.apache.org/jira/browse/IGNITE-15240
> Project: Ignite
>  Issue Type: Improvement
>  Components: thin client
>Affects Versions: 3.0.0-alpha3
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: ignite-3
>
> Implement Table API transactions in thin client.
> Update 
> [IEP-76|https://cwiki.apache.org/confluence/display/IGNITE/IEP-76+Thin+Client+Protocol+for+Ignite+3.0]
>   to reflect required protocol changes.



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


[jira] [Updated] (IGNITE-16194) Snapshot restore operation fails if any baseline node doesn't contain metadata for the specified snapshot.

2021-12-22 Thread Pavel Pereslegin (Jira)


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

Pavel Pereslegin updated IGNITE-16194:
--
Description: 
Snapshot restore operation fails if any baseline node doesn't contain metadata 
for the specified snapshot. Current tests do not reproduce this problem because 
they share the same working folder for the snapshots. 

Reproducer (uses dedicated work dir):
{code:java}
public class IgniteSnapshotRestoreWithNewNodeTest extends 
AbstractSnapshotSelfTest {
private static final String DEDICATED_CLUSTER_PREFIX = "tmp-cluster-";

@Test
public void testRestoreOnNewTopologyWithDedicatedSnapshotLocation() throws 
Exception {
String workDir = U.defaultWorkDirectory();

IgniteEx ignite = startGridsWithCache(2, CACHE_KEYS_RANGE, valBuilder,
(id, cfg) -> Paths.get(workDir, DEDICATED_CLUSTER_PREFIX + 
U.maskForFileName(cfg.getIgniteInstanceName())).toString(), dfltCacheCfg);

ignite.snapshot().createSnapshot(SNAPSHOT_NAME).get(TIMEOUT);

ignite.destroyCache(DEFAULT_CACHE_NAME);
awaitPartitionMapExchange();

// Start new node with an empty snapshots work directory.

startGrid(optimize(getConfiguration(getTestIgniteInstanceName(2)).setCacheConfiguration()));
resetBaselineTopology();

ignite.snapshot().restoreSnapshot(SNAPSHOT_NAME, null).get(TIMEOUT);

for (Ignite grid : G.allGrids())
assertCacheKeys(grid.cache(DEFAULT_CACHE_NAME), CACHE_KEYS_RANGE);
}

@Parameterized.Parameters(name = "Encryption is disabled")
public static Iterable disabledEncryption() {
return Collections.singletonList(false);
}

/** {@inheritDoc} */
@After
@Override public void afterTestSnapshot() throws Exception {
super.afterTestSnapshot();

try (DirectoryStream ds = 
Files.newDirectoryStream(Paths.get(U.defaultWorkDirectory()),
path -> Files.isDirectory(path) && 
path.getFileName().toString().toLowerCase().startsWith(DEDICATED_CLUSTER_PREFIX))
) {
for (Path dir : ds)
U.delete(dir);
}
}
}
{code}

Log output
{noformat}
class org.apache.ignite.compute.ComputeUserUndeclaredException: Failed to 
reduce job results due to undeclared user exception 
[task=org.apache.ignite.internal.processors.cache.persistence.snapshot.SnapshotMetadataCollectorTask@4bb91e74,
 err=class 
org.apache.ignite.internal.processors.cache.persistence.snapshot.IgniteSnapshotVerifyException:
 /home/user/ignite/source/work/snapshots/testSnapshot]

at 
org.apache.ignite.internal.processors.task.GridTaskWorker.reduce(GridTaskWorker.java:1188)
at 
org.apache.ignite.internal.processors.task.GridTaskWorker.onResponse(GridTaskWorker.java:976)
at 
org.apache.ignite.internal.processors.task.GridTaskProcessor.processJobExecuteResponse(GridTaskProcessor.java:1155)
at 
org.apache.ignite.internal.processors.task.GridTaskProcessor$JobMessageListener.onMessage(GridTaskProcessor.java:1390)
at 
org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1907)
at 
org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1528)
at 
org.apache.ignite.internal.managers.communication.GridIoManager.access$5300(GridIoManager.java:242)
at 
org.apache.ignite.internal.managers.communication.GridIoManager$9.execute(GridIoManager.java:1421)
at 
org.apache.ignite.internal.managers.communication.TraceRunnable.run(TraceRunnable.java:55)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: class 
org.apache.ignite.internal.processors.cache.persistence.snapshot.IgniteSnapshotVerifyException:
 /home/user/ignite/source/work/snapshots/testSnapshot
at 
org.apache.ignite.internal.processors.cache.persistence.snapshot.SnapshotMetadataCollectorTask.reduce(SnapshotMetadataCollectorTask.java:105)
at 
org.apache.ignite.internal.processors.cache.persistence.snapshot.SnapshotMetadataCollectorTask.reduce(SnapshotMetadataCollectorTask.java:39)
at 
org.apache.ignite.internal.processors.task.GridTaskWorker$6.call(GridTaskWorker.java:1149)
at 
org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:7276)
at 
org.apache.ignite.internal.processors.task.GridTaskWorker.reduce(GridTaskWorker.java:1147)
... 11 more
Caused by: class org.apache.ignite.IgniteException: 
/home/user/ignite/source/work/snapshots/testSnapshot
at 
org.apache.ignite.internal.processors.cache.persistence.snapshot.IgniteSnapshotManager.readSnapshotMetadatas(IgniteSnapshotManager.java:1253)
at 

[jira] [Assigned] (IGNITE-16075) Calcite engine. Support UUID data type

2021-12-22 Thread Vladimir Steshin (Jira)


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

Vladimir Steshin reassigned IGNITE-16075:
-

Assignee: Vladimir Steshin

> Calcite engine. Support UUID data type
> --
>
> Key: IGNITE-16075
> URL: https://issues.apache.org/jira/browse/IGNITE-16075
> Project: Ignite
>  Issue Type: New Feature
>Reporter: Aleksey Plekhanov
>Assignee: Vladimir Steshin
>Priority: Major
>  Labels: calcite2-required, calcite3-required
>
> Currently, UUID columns can be selected or even filtered if a table 
> containing such a column is created not by the Calcite-based SQL engine (for 
> example via cache API using {{@QuerySqlField}} field annotation).
> But we cannot use it in DDL:
> {noformat}
> CREATE TABLE t (id UUID)
> {noformat}
> Or cast:
> {noformat}
> SELECT CAST(id AS UUID)
> {noformat}



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


[jira] [Updated] (IGNITE-16194) Snapshot restore operation fails if any baseline node doesn't contain metadata for the specified snapshot.

2021-12-22 Thread Pavel Pereslegin (Jira)


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

Pavel Pereslegin updated IGNITE-16194:
--
Ignite Flags:   (was: Docs Required,Release Notes Required)

> Snapshot restore operation fails if any baseline node doesn't contain 
> metadata for the specified snapshot.
> --
>
> Key: IGNITE-16194
> URL: https://issues.apache.org/jira/browse/IGNITE-16194
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.11, 2.12
>Reporter: Pavel Pereslegin
>Priority: Critical
>
> Snapshot restore operation fails if any baseline node doesn't contain 
> metadata for the specified snapshot. Current tests do not reproduce this 
> problem because they share the same working folder for the snapshots. 
> Reproducer (uses dedicated work dir):
> {code:java}
> public class IgniteSnapshotRestoreWithNewNodeTest extends 
> AbstractSnapshotSelfTest {
> private static final String DEDICATED_CLUSTER_PREFIX = "tmp-cluster-";
> @Test
> public void testRestoreOnNewTopologyWithDedicatedSnapshotLocation() 
> throws Exception {
> String workDir = U.defaultWorkDirectory();
> IgniteEx ignite = startGridsWithCache(2, CACHE_KEYS_RANGE, valBuilder,
> (id, cfg) -> Paths.get(workDir, DEDICATED_CLUSTER_PREFIX + 
> U.maskForFileName(cfg.getIgniteInstanceName())).toString(), dfltCacheCfg);
> ignite.snapshot().createSnapshot(SNAPSHOT_NAME).get(TIMEOUT);
> ignite.destroyCache(DEFAULT_CACHE_NAME);
> awaitPartitionMapExchange();
> // Start new node with an empty snapshots work directory.
> 
> startGrid(optimize(getConfiguration(getTestIgniteInstanceName(2)).setCacheConfiguration()));
> resetBaselineTopology();
> ignite.snapshot().restoreSnapshot(SNAPSHOT_NAME, null).get(TIMEOUT);
> for (Ignite grid : G.allGrids())
> assertCacheKeys(grid.cache(DEFAULT_CACHE_NAME), CACHE_KEYS_RANGE);
> }
> @Parameterized.Parameters(name = "Encryption is disabled")
> public static Iterable disabledEncryption() {
> return Collections.singletonList(false);
> }
> /** {@inheritDoc} */
> @After
> @Override public void afterTestSnapshot() throws Exception {
> super.afterTestSnapshot();
> try (DirectoryStream ds = 
> Files.newDirectoryStream(Paths.get(U.defaultWorkDirectory()),
> path -> Files.isDirectory(path) && 
> path.getFileName().toString().toLowerCase().startsWith(DEDICATED_CLUSTER_PREFIX))
> ) {
> for (Path dir : ds)
> U.delete(dir);
> }
> }
> }
> {code}
> Log output
> {noformat}
> class org.apache.ignite.compute.ComputeUserUndeclaredException: Failed to 
> reduce job results due to undeclared user exception 
> [task=org.apache.ignite.internal.processors.cache.persistence.snapshot.SnapshotMetadataCollectorTask@4bb91e74,
>  err=class 
> org.apache.ignite.internal.processors.cache.persistence.snapshot.IgniteSnapshotVerifyException:
>  /home/xtern/src/java/ignite/source/work/snapshots/testSnapshot]
>   at 
> org.apache.ignite.internal.processors.task.GridTaskWorker.reduce(GridTaskWorker.java:1188)
>   at 
> org.apache.ignite.internal.processors.task.GridTaskWorker.onResponse(GridTaskWorker.java:976)
>   at 
> org.apache.ignite.internal.processors.task.GridTaskProcessor.processJobExecuteResponse(GridTaskProcessor.java:1155)
>   at 
> org.apache.ignite.internal.processors.task.GridTaskProcessor$JobMessageListener.onMessage(GridTaskProcessor.java:1390)
>   at 
> org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1907)
>   at 
> org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1528)
>   at 
> org.apache.ignite.internal.managers.communication.GridIoManager.access$5300(GridIoManager.java:242)
>   at 
> org.apache.ignite.internal.managers.communication.GridIoManager$9.execute(GridIoManager.java:1421)
>   at 
> org.apache.ignite.internal.managers.communication.TraceRunnable.run(TraceRunnable.java:55)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>   at java.lang.Thread.run(Thread.java:748)
> Caused by: class 
> org.apache.ignite.internal.processors.cache.persistence.snapshot.IgniteSnapshotVerifyException:
>  /home/xtern/src/java/ignite/source/work/snapshots/testSnapshot
>   at 
> org.apache.ignite.internal.processors.cache.persistence.snapshot.SnapshotMetadataCollectorTask.reduce(SnapshotMetadataCollectorTask.java:105)
>   at 
> 

[jira] [Updated] (IGNITE-16194) Snapshot restore operation fails if any baseline node doesn't contain metadata for the specified snapshot.

2021-12-22 Thread Pavel Pereslegin (Jira)


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

Pavel Pereslegin updated IGNITE-16194:
--
Affects Version/s: 2.11
   2.12

> Snapshot restore operation fails if any baseline node doesn't contain 
> metadata for the specified snapshot.
> --
>
> Key: IGNITE-16194
> URL: https://issues.apache.org/jira/browse/IGNITE-16194
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.11, 2.12
>Reporter: Pavel Pereslegin
>Priority: Critical
>
> Snapshot restore operation fails if any baseline node doesn't contain 
> metadata for the specified snapshot. Current tests do not reproduce this 
> problem because they share the same working folder for the snapshots. 
> Reproducer (uses dedicated work dir):
> {code:java}
> public class IgniteSnapshotRestoreWithNewNodeTest extends 
> AbstractSnapshotSelfTest {
> private static final String DEDICATED_CLUSTER_PREFIX = "tmp-cluster-";
> @Test
> public void testRestoreOnNewTopologyWithDedicatedSnapshotLocation() 
> throws Exception {
> String workDir = U.defaultWorkDirectory();
> IgniteEx ignite = startGridsWithCache(2, CACHE_KEYS_RANGE, valBuilder,
> (id, cfg) -> Paths.get(workDir, DEDICATED_CLUSTER_PREFIX + 
> U.maskForFileName(cfg.getIgniteInstanceName())).toString(), dfltCacheCfg);
> ignite.snapshot().createSnapshot(SNAPSHOT_NAME).get(TIMEOUT);
> ignite.destroyCache(DEFAULT_CACHE_NAME);
> awaitPartitionMapExchange();
> // Start new node with an empty snapshots work directory.
> 
> startGrid(optimize(getConfiguration(getTestIgniteInstanceName(2)).setCacheConfiguration()));
> resetBaselineTopology();
> ignite.snapshot().restoreSnapshot(SNAPSHOT_NAME, null).get(TIMEOUT);
> for (Ignite grid : G.allGrids())
> assertCacheKeys(grid.cache(DEFAULT_CACHE_NAME), CACHE_KEYS_RANGE);
> }
> @Parameterized.Parameters(name = "Encryption is disabled")
> public static Iterable disabledEncryption() {
> return Collections.singletonList(false);
> }
> /** {@inheritDoc} */
> @After
> @Override public void afterTestSnapshot() throws Exception {
> super.afterTestSnapshot();
> try (DirectoryStream ds = 
> Files.newDirectoryStream(Paths.get(U.defaultWorkDirectory()),
> path -> Files.isDirectory(path) && 
> path.getFileName().toString().toLowerCase().startsWith(DEDICATED_CLUSTER_PREFIX))
> ) {
> for (Path dir : ds)
> U.delete(dir);
> }
> }
> }
> {code}
> Log output
> {noformat}
> class org.apache.ignite.compute.ComputeUserUndeclaredException: Failed to 
> reduce job results due to undeclared user exception 
> [task=org.apache.ignite.internal.processors.cache.persistence.snapshot.SnapshotMetadataCollectorTask@4bb91e74,
>  err=class 
> org.apache.ignite.internal.processors.cache.persistence.snapshot.IgniteSnapshotVerifyException:
>  /home/xtern/src/java/ignite/source/work/snapshots/testSnapshot]
>   at 
> org.apache.ignite.internal.processors.task.GridTaskWorker.reduce(GridTaskWorker.java:1188)
>   at 
> org.apache.ignite.internal.processors.task.GridTaskWorker.onResponse(GridTaskWorker.java:976)
>   at 
> org.apache.ignite.internal.processors.task.GridTaskProcessor.processJobExecuteResponse(GridTaskProcessor.java:1155)
>   at 
> org.apache.ignite.internal.processors.task.GridTaskProcessor$JobMessageListener.onMessage(GridTaskProcessor.java:1390)
>   at 
> org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1907)
>   at 
> org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1528)
>   at 
> org.apache.ignite.internal.managers.communication.GridIoManager.access$5300(GridIoManager.java:242)
>   at 
> org.apache.ignite.internal.managers.communication.GridIoManager$9.execute(GridIoManager.java:1421)
>   at 
> org.apache.ignite.internal.managers.communication.TraceRunnable.run(TraceRunnable.java:55)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>   at java.lang.Thread.run(Thread.java:748)
> Caused by: class 
> org.apache.ignite.internal.processors.cache.persistence.snapshot.IgniteSnapshotVerifyException:
>  /home/xtern/src/java/ignite/source/work/snapshots/testSnapshot
>   at 
> org.apache.ignite.internal.processors.cache.persistence.snapshot.SnapshotMetadataCollectorTask.reduce(SnapshotMetadataCollectorTask.java:105)
>   at 
> 

[jira] [Created] (IGNITE-16194) Snapshot restore operation fails if any baseline node doesn't contain metadata for the specified snapshot.

2021-12-22 Thread Pavel Pereslegin (Jira)
Pavel Pereslegin created IGNITE-16194:
-

 Summary: Snapshot restore operation fails if any baseline node 
doesn't contain metadata for the specified snapshot.
 Key: IGNITE-16194
 URL: https://issues.apache.org/jira/browse/IGNITE-16194
 Project: Ignite
  Issue Type: Bug
Reporter: Pavel Pereslegin


Snapshot restore operation fails if any baseline node doesn't contain metadata 
for the specified snapshot. Current tests do not reproduce this problem because 
they share the same working folder for the snapshots. 

Reproducer (uses dedicated work dir):
{code:java}
public class IgniteSnapshotRestoreWithNewNodeTest extends 
AbstractSnapshotSelfTest {
private static final String DEDICATED_CLUSTER_PREFIX = "tmp-cluster-";

@Test
public void testRestoreOnNewTopologyWithDedicatedSnapshotLocation() throws 
Exception {
String workDir = U.defaultWorkDirectory();

IgniteEx ignite = startGridsWithCache(2, CACHE_KEYS_RANGE, valBuilder,
(id, cfg) -> Paths.get(workDir, DEDICATED_CLUSTER_PREFIX + 
U.maskForFileName(cfg.getIgniteInstanceName())).toString(), dfltCacheCfg);

ignite.snapshot().createSnapshot(SNAPSHOT_NAME).get(TIMEOUT);

ignite.destroyCache(DEFAULT_CACHE_NAME);
awaitPartitionMapExchange();

// Start new node with an empty snapshots work directory.

startGrid(optimize(getConfiguration(getTestIgniteInstanceName(2)).setCacheConfiguration()));
resetBaselineTopology();

ignite.snapshot().restoreSnapshot(SNAPSHOT_NAME, null).get(TIMEOUT);

for (Ignite grid : G.allGrids())
assertCacheKeys(grid.cache(DEFAULT_CACHE_NAME), CACHE_KEYS_RANGE);
}

@Parameterized.Parameters(name = "Encryption is disabled")
public static Iterable disabledEncryption() {
return Collections.singletonList(false);
}

/** {@inheritDoc} */
@After
@Override public void afterTestSnapshot() throws Exception {
super.afterTestSnapshot();

try (DirectoryStream ds = 
Files.newDirectoryStream(Paths.get(U.defaultWorkDirectory()),
path -> Files.isDirectory(path) && 
path.getFileName().toString().toLowerCase().startsWith(DEDICATED_CLUSTER_PREFIX))
) {
for (Path dir : ds)
U.delete(dir);
}
}
}
{code}

Log output
{noformat}
class org.apache.ignite.compute.ComputeUserUndeclaredException: Failed to 
reduce job results due to undeclared user exception 
[task=org.apache.ignite.internal.processors.cache.persistence.snapshot.SnapshotMetadataCollectorTask@4bb91e74,
 err=class 
org.apache.ignite.internal.processors.cache.persistence.snapshot.IgniteSnapshotVerifyException:
 /home/xtern/src/java/ignite/source/work/snapshots/testSnapshot]

at 
org.apache.ignite.internal.processors.task.GridTaskWorker.reduce(GridTaskWorker.java:1188)
at 
org.apache.ignite.internal.processors.task.GridTaskWorker.onResponse(GridTaskWorker.java:976)
at 
org.apache.ignite.internal.processors.task.GridTaskProcessor.processJobExecuteResponse(GridTaskProcessor.java:1155)
at 
org.apache.ignite.internal.processors.task.GridTaskProcessor$JobMessageListener.onMessage(GridTaskProcessor.java:1390)
at 
org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1907)
at 
org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1528)
at 
org.apache.ignite.internal.managers.communication.GridIoManager.access$5300(GridIoManager.java:242)
at 
org.apache.ignite.internal.managers.communication.GridIoManager$9.execute(GridIoManager.java:1421)
at 
org.apache.ignite.internal.managers.communication.TraceRunnable.run(TraceRunnable.java:55)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: class 
org.apache.ignite.internal.processors.cache.persistence.snapshot.IgniteSnapshotVerifyException:
 /home/xtern/src/java/ignite/source/work/snapshots/testSnapshot
at 
org.apache.ignite.internal.processors.cache.persistence.snapshot.SnapshotMetadataCollectorTask.reduce(SnapshotMetadataCollectorTask.java:105)
at 
org.apache.ignite.internal.processors.cache.persistence.snapshot.SnapshotMetadataCollectorTask.reduce(SnapshotMetadataCollectorTask.java:39)
at 
org.apache.ignite.internal.processors.task.GridTaskWorker$6.call(GridTaskWorker.java:1149)
at 
org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:7276)
at 
org.apache.ignite.internal.processors.task.GridTaskWorker.reduce(GridTaskWorker.java:1147)
... 11 more
Caused by: class org.apache.ignite.IgniteException: 

[jira] [Commented] (IGNITE-16145) Release the Apache Ignite 2.11.1

2021-12-22 Thread Maxim Muzafarov (Jira)


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

Maxim Muzafarov commented on IGNITE-16145:
--

Merged to the master branch.

> Release the Apache Ignite 2.11.1
> 
>
> Key: IGNITE-16145
> URL: https://issues.apache.org/jira/browse/IGNITE-16145
> Project: Ignite
>  Issue Type: Task
>Reporter: Maxim Muzafarov
>Assignee: Maxim Muzafarov
>Priority: Major
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> It is necessary to prepare the Apache Ignite 2.11.1 with required security 
> fixes.



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


[jira] [Updated] (IGNITE-16190) Remove classes that was left after legacy service grid removal

2021-12-22 Thread Maxim Muzafarov (Jira)


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

Maxim Muzafarov updated IGNITE-16190:
-
Labels: IEP-80  (was: )

> Remove classes that was left after legacy service grid removal
> --
>
> Key: IGNITE-16190
> URL: https://issues.apache.org/jira/browse/IGNITE-16190
> Project: Ignite
>  Issue Type: Bug
>Reporter: Maxim Muzafarov
>Assignee: Maxim Muzafarov
>Priority: Major
>  Labels: IEP-80
> Fix For: 2.13
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> ServiceDescriptorImpl is required to be removed due to legacy service grid 
> was removed



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


[jira] [Updated] (IGNITE-15271) ITNodeTest.testFollowerStartStopFollowing is still flaky

2021-12-22 Thread Vyacheslav Koptilin (Jira)


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

Vyacheslav Koptilin updated IGNITE-15271:
-
Fix Version/s: 3.0.0-alpha4

> ITNodeTest.testFollowerStartStopFollowing is still flaky
> 
>
> Key: IGNITE-15271
> URL: https://issues.apache.org/jira/browse/IGNITE-15271
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 3.0.0-alpha2
>Reporter: Alexey Scherbakov
>Assignee: Alexey Scherbakov
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-alpha4
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> {noformat}
> org.opentest4j.AssertionFailedError
> org.opentest4j.AssertionFailedError: expected:  but was: 
>   at 
> org.apache.ignite.raft.jraft.core.ITNodeTest.testFollowerStartStopFollowing(ITNodeTest.java:2678)
> {noformat}
> The issue is caused by (unexpected) excessive number of state changes during 
> leader election on term=2:
> {noformat}
> INFO: onStartFollowing: LeaderChangeContext [leaderId=172.17.0.6:5004, 
> term=2, status=Status[ENEWLEADER<10011>: Follower receives message from new 
> leader with the same term.]].
> Aug 09, 2021 9:32:37 AM org.apache.ignite.lang.IgniteLogger logInternal
> INFO: onStartFollowing: LeaderChangeContext [leaderId=172.17.0.6:5004, 
> term=2, status=Status[ENEWLEADER<10011>: Follower receives message from new 
> leader with the same term.]].
> Aug 09, 2021 9:32:37 AM org.apache.ignite.lang.IgniteLogger logInternal
> Aug 09, 2021 9:32:37 AM org.apache.ignite.lang.IgniteLogger logInternal
> INFO: onStartFollowing: LeaderChangeContext [leaderId=172.17.0.6:5004, 
> term=2, status=Status[ENEWLEADER<10011>: Follower receives message from new 
> leader with the same term.]].
> Aug 09, 2021 9:32:37 AM org.apache.ignite.lang.IgniteLogger logInternal
> INFO: onStopFollowing: LeaderChangeContext [leaderId=172.17.0.6:5004, term=2, 
> status=Status[EVOTEFORCANDIDATE<10010>: Raft node votes for some candidate, 
> step down to restart election_timer.]].
> Aug 09, 2021 9:32:37 AM org.apache.ignite.lang.IgniteLogger logInternal
> Aug 09, 2021 9:32:37 AM org.apache.ignite.lang.IgniteLogger logInternal
> WARNING: Node  received invalid RequestVoteResponse 
> from 172.17.0.6:5006, state not in STATE_CANDIDATE but STATE_LEADER.
> Aug 09, 2021 9:32:37 AM org.apache.ignite.lang.IgniteLogger logInternal
> INFO: onStartFollowing: LeaderChangeContext [leaderId=172.17.0.6:5004, 
> term=2, status=Status[ENEWLEADER<10011>: Follower receives message from new 
> leader with the same term.]].
> {noformat}



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


[jira] [Updated] (IGNITE-16179) SystemProperties for pluggins

2021-12-22 Thread Vyacheslav Koptilin (Jira)


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

Vyacheslav Koptilin updated IGNITE-16179:
-
Issue Type: Improvement  (was: Task)

> SystemProperties for pluggins
> -
>
> Key: IGNITE-16179
> URL: https://issues.apache.org/jira/browse/IGNITE-16179
> Project: Ignite
>  Issue Type: Improvement
>  Components: general
>Reporter: Alexander Belyak
>Priority: Major
>
> Need to allow plugins to pass its system properties to ignite.sh to print 
> like other IgniteSystemProperties (ignite.sh -systemProps). Maybe with some 
> additional filter/flag to show the property's plugin name.



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


[jira] [Updated] (IGNITE-16190) Remove classes that was left after legacy service grid removal

2021-12-22 Thread Maxim Muzafarov (Jira)


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

Maxim Muzafarov updated IGNITE-16190:
-
Summary: Remove classes that was left after legacy service grid removal  
(was: ServiceDescriptorImpl is required to be removed due to legacy service 
grid was removed)

> Remove classes that was left after legacy service grid removal
> --
>
> Key: IGNITE-16190
> URL: https://issues.apache.org/jira/browse/IGNITE-16190
> Project: Ignite
>  Issue Type: Bug
>Reporter: Maxim Muzafarov
>Assignee: Maxim Muzafarov
>Priority: Major
> Fix For: 2.13
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> ServiceDescriptorImpl is required to be removed due to legacy service grid 
> was removed



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


[jira] [Updated] (IGNITE-16192) Calcite. Support hidden columns

2021-12-22 Thread Yury Gerzhedovich (Jira)


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

Yury Gerzhedovich updated IGNITE-16192:
---
Priority: Critical  (was: Major)

> Calcite. Support hidden columns
> ---
>
> Key: IGNITE-16192
> URL: https://issues.apache.org/jira/browse/IGNITE-16192
> Project: Ignite
>  Issue Type: New Feature
>  Components: sql
>Reporter: Yury Gerzhedovich
>Priority: Critical
>  Labels: calcite2-required, calcite3-required, ignite-3
>
> We should have ability to hide some columns. At first glance it's *_key* 
> column. It really important for autogenerated PK.
> Such columns couldn't be accessed for 'select * ' query, but available for 
> explicit use in select statement. 
> Another example of hidden column is Oracle *rownum*.
> Also another databases (Oracle, SQLSERVER, MySQL) have support hidden 
> (invisible) columns which could be created user explicitly and amend the 
> visibility through ALTER statement.  Maybe we should consider possible 
> extension it for future to support one.



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


[jira] [Updated] (IGNITE-16192) Calcite. Support hidden columns

2021-12-22 Thread Yury Gerzhedovich (Jira)


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

Yury Gerzhedovich updated IGNITE-16192:
---
Description: 
We should have ability to hide some columns. At first glance it's *_key* 
column. It really important for autogenerated PK.
Such columns couldn't be accessed for 'select * ' query, but available for 
explicit use in select statement. 
Another example of hidden column is Oracle *rownum*.
Also another databases (Oracle, SQLSERVER, MySQL) have support hidden 
(invisible) columns which could be created user explicitly and amend the 
visibility through ALTER statement.  Maybe we should consider possible 
extension it for future to support one.

  was:
We should have ability to hide some columns. At first glance it's *_key* 
column. It really important for autogenerated PK.
Such columns couldn't be accessed for 'select * ' query, but available for 
explicit use in select statement. 
Another example of hidden column is Oracle *rownum*.
Also another databases have support hidden (invisible) columns which could be 
created user explicitly and amend the visibility through ALTER statement.  
Maybe we should consider possible extension it for future to support one.


> Calcite. Support hidden columns
> ---
>
> Key: IGNITE-16192
> URL: https://issues.apache.org/jira/browse/IGNITE-16192
> Project: Ignite
>  Issue Type: New Feature
>  Components: sql
>Reporter: Yury Gerzhedovich
>Priority: Major
>  Labels: calcite2-required, calcite3-required, ignite-3
>
> We should have ability to hide some columns. At first glance it's *_key* 
> column. It really important for autogenerated PK.
> Such columns couldn't be accessed for 'select * ' query, but available for 
> explicit use in select statement. 
> Another example of hidden column is Oracle *rownum*.
> Also another databases (Oracle, SQLSERVER, MySQL) have support hidden 
> (invisible) columns which could be created user explicitly and amend the 
> visibility through ALTER statement.  Maybe we should consider possible 
> extension it for future to support one.



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


[jira] [Created] (IGNITE-16193) Thin 3.0: Implement transaction timeouts

2021-12-22 Thread Pavel Tupitsyn (Jira)
Pavel Tupitsyn created IGNITE-16193:
---

 Summary: Thin 3.0: Implement transaction timeouts
 Key: IGNITE-16193
 URL: https://issues.apache.org/jira/browse/IGNITE-16193
 Project: Ignite
  Issue Type: Improvement
  Components: thin client
Affects Versions: 3.0.0-alpha3
Reporter: Pavel Tupitsyn
Assignee: Pavel Tupitsyn


Implement *ClientTransactions#withTimeout*.



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


[jira] [Updated] (IGNITE-15936) Implement transaction timeouts

2021-12-22 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-15936:

Summary: Implement transaction timeouts  (was: Implement timeouts)

> Implement transaction timeouts
> --
>
> Key: IGNITE-15936
> URL: https://issues.apache.org/jira/browse/IGNITE-15936
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Alexey Scherbakov
>Priority: Major
>  Labels: ignite-3
>
> 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-16192) Calcite. Support hidden columns

2021-12-22 Thread Yury Gerzhedovich (Jira)
Yury Gerzhedovich created IGNITE-16192:
--

 Summary: Calcite. Support hidden columns
 Key: IGNITE-16192
 URL: https://issues.apache.org/jira/browse/IGNITE-16192
 Project: Ignite
  Issue Type: New Feature
  Components: sql
Reporter: Yury Gerzhedovich


We should have ability to hide some columns. At first glance it's *_key* 
column. It really important for autogenerated PK.
Such columns couldn't be accessed for 'select * ' query, but available for 
explicit use in select statement. 
Another example of hidden column is Oracle *rownum*.
Also another databases have support hidden (invisible) columns which could be 
created user explicitly and amend the visibility through ALTER statement.  
Maybe we should consider possible extension it for future to support one.



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


[jira] [Created] (IGNITE-16191) Calcite engine. Unexpected result of COUNT with multiple parameters

2021-12-22 Thread Aleksey Plekhanov (Jira)
Aleksey Plekhanov created IGNITE-16191:
--

 Summary: Calcite engine. Unexpected result of COUNT with multiple 
parameters
 Key: IGNITE-16191
 URL: https://issues.apache.org/jira/browse/IGNITE-16191
 Project: Ignite
  Issue Type: Bug
Reporter: Aleksey Plekhanov


The calcite engine supports the {{COUNT}} aggregate function with multiple 
parameters. Such a function should return the number of input rows for which 
parameters are wholly not null.

But currently queries like: 
{noformat}
SELECT COUNT(null, 1)
SELECT COUNT(1, null)
{noformat}
Return 0 (expected 1).
Query:
{noformat}
SELECT COUNT(null, null)
{noformat}
Throw an exception:
{noformat}
Caused by: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
at java.util.ArrayList.rangeCheck(ArrayList.java:657)
at java.util.ArrayList.get(ArrayList.java:433)
at 
org.apache.ignite.internal.processors.query.calcite.exec.exp.agg.AccumulatorsFactory$WrapperPrototype$1.apply(AccumulatorsFactory.java:226)
at 
org.apache.ignite.internal.processors.query.calcite.exec.exp.agg.AccumulatorsFactory$WrapperPrototype$1.apply(AccumulatorsFactory.java:223)
at 
org.apache.ignite.internal.processors.query.calcite.exec.exp.agg.AccumulatorsFactory$AccumulatorWrapperImpl.add(AccumulatorsFactory.java:305)
at 
org.apache.ignite.internal.processors.query.calcite.exec.rel.HashAggregateNode$Grouping.addOnMapper(HashAggregateNode.java:294)
at 
org.apache.ignite.internal.processors.query.calcite.exec.rel.HashAggregateNode$Grouping.add(HashAggregateNode.java:265)
at 
org.apache.ignite.internal.processors.query.calcite.exec.rel.HashAggregateNode$Grouping.access$100(HashAggregateNode.java:222)
at 
org.apache.ignite.internal.processors.query.calcite.exec.rel.HashAggregateNode.push(HashAggregateNode.java:127)
at 
org.apache.ignite.internal.processors.query.calcite.exec.rel.ScanNode.push(ScanNode.java:107)
{noformat}



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


[jira] [Assigned] (IGNITE-16188) Eliminate creation of singleton list for DataRecord

2021-12-22 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov reassigned IGNITE-16188:


Assignee: Nikolay Izhikov

> Eliminate creation of singleton list for DataRecord
> ---
>
> Key: IGNITE-16188
> URL: https://issues.apache.org/jira/browse/IGNITE-16188
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>
> For most DataRecord intermidiate {{Collections.singletonList}} created.
> It possible to eliminate this object with {{SingleDataRecord}}, 
> {{MultiDataRecord}}.



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


[jira] [Updated] (IGNITE-16189) Improve getting started section for Ignite C++

2021-12-22 Thread Ivan Daschinsky (Jira)


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

Ivan Daschinsky updated IGNITE-16189:
-
Fix Version/s: 2.12

> Improve getting started section for Ignite C++
> --
>
> Key: IGNITE-16189
> URL: https://issues.apache.org/jira/browse/IGNITE-16189
> Project: Ignite
>  Issue Type: Improvement
>  Components: documentation
>Reporter: Ivan Daschinsky
>Assignee: Nikita A. Safonov
>Priority: Major
> Fix For: 2.12
>
>
> 1. Lets separate building steps and examples for Ignite.C++ (thick client) 
> and thin client
> 2. Lets remove ODBC (UnixODBC) and OpenSSL dependency for Ignite.C++.
> 3. Lets remove JDK dependency for thin client.



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


[jira] [Created] (IGNITE-16190) ServiceDescriptorImpl is required to be removed due to legacy service grid was removed

2021-12-22 Thread Maxim Muzafarov (Jira)
Maxim Muzafarov created IGNITE-16190:


 Summary: ServiceDescriptorImpl is required to be removed due to 
legacy service grid was removed
 Key: IGNITE-16190
 URL: https://issues.apache.org/jira/browse/IGNITE-16190
 Project: Ignite
  Issue Type: Bug
Reporter: Maxim Muzafarov
Assignee: Maxim Muzafarov
 Fix For: 2.13


ServiceDescriptorImpl is required to be removed due to legacy service grid was 
removed



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


[jira] [Updated] (IGNITE-16190) ServiceDescriptorImpl is required to be removed due to legacy service grid was removed

2021-12-22 Thread Maxim Muzafarov (Jira)


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

Maxim Muzafarov updated IGNITE-16190:
-
Ignite Flags:   (was: Docs Required,Release Notes Required)

> ServiceDescriptorImpl is required to be removed due to legacy service grid 
> was removed
> --
>
> Key: IGNITE-16190
> URL: https://issues.apache.org/jira/browse/IGNITE-16190
> Project: Ignite
>  Issue Type: Bug
>Reporter: Maxim Muzafarov
>Assignee: Maxim Muzafarov
>Priority: Major
> Fix For: 2.13
>
>
> ServiceDescriptorImpl is required to be removed due to legacy service grid 
> was removed



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


[jira] [Created] (IGNITE-16189) Improve getting started section for Ignite C++

2021-12-22 Thread Ivan Daschinsky (Jira)
Ivan Daschinsky created IGNITE-16189:


 Summary: Improve getting started section for Ignite C++
 Key: IGNITE-16189
 URL: https://issues.apache.org/jira/browse/IGNITE-16189
 Project: Ignite
  Issue Type: Improvement
  Components: documentation
Reporter: Ivan Daschinsky
Assignee: Nikita A. Safonov


1. Lets separate building steps and examples for Ignite.C++ (thick client) and 
thin client
2. Lets remove ODBC (UnixODBC) and OpenSSL dependency for Ignite.C++.
3. Lets remove JDK dependency for thin client.



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


[jira] [Created] (IGNITE-16188) Eliminate creation of singleton list for DataRecord

2021-12-22 Thread Nikolay Izhikov (Jira)
Nikolay Izhikov created IGNITE-16188:


 Summary: Eliminate creation of singleton list for DataRecord
 Key: IGNITE-16188
 URL: https://issues.apache.org/jira/browse/IGNITE-16188
 Project: Ignite
  Issue Type: Improvement
Reporter: Nikolay Izhikov


For most DataRecord intermidiate {{Collections.singletonList}} created.
It possible to eliminate this object with {{SingleDataRecord}}, 
{{MultiDataRecord}}.



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


[jira] [Commented] (IGNITE-15694) Document building ODBC driver using cmake, remove Visual Studio building sections

2021-12-22 Thread Igor Sapego (Jira)


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

Igor Sapego commented on IGNITE-15694:
--

[~ivandasch] looks good to me.

> Document building ODBC driver using cmake, remove Visual Studio building 
> sections
> -
>
> Key: IGNITE-15694
> URL: https://issues.apache.org/jira/browse/IGNITE-15694
> Project: Ignite
>  Issue Type: Task
>  Components: documentation
>Reporter: Ivan Daschinsky
>Assignee: Ivan Daschinsky
>Priority: Major
> Fix For: 2.12
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>




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


[jira] [Created] (IGNITE-16187) [ducktests] should use the jackson libs from the distribution.

2021-12-22 Thread Sergei Ryzhov (Jira)
Sergei Ryzhov created IGNITE-16187:
--

 Summary: [ducktests] should use the jackson libs from the 
distribution.
 Key: IGNITE-16187
 URL: https://issues.apache.org/jira/browse/IGNITE-16187
 Project: Ignite
  Issue Type: Test
Reporter: Sergei Ryzhov
Assignee: Sergei Ryzhov


Should use the jackson libs from the distribution.
They are now used from the DEV version.



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


[jira] [Updated] (IGNITE-16161) Memory leak in BaseQueryContext

2021-12-22 Thread Vyacheslav Koptilin (Jira)


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

Vyacheslav Koptilin updated IGNITE-16161:
-
Priority: Blocker  (was: Critical)

> Memory leak in BaseQueryContext
> ---
>
> Key: IGNITE-16161
> URL: https://issues.apache.org/jira/browse/IGNITE-16161
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 3.0.0-alpha3
>Reporter: Vyacheslav Koptilin
>Priority: Blocker
>  Labels: ignite-3
> Attachments: image-2021-12-20-14-37-02-163.png
>
>
> BaseQueryContext contains a number of static fields that are used in order to 
> store references to internal classes. For example, BaseQueryContext.CLUSTER 
> which indirectly refers to ignite tables (TableImpl instances). 
> Unfortunately, these references are not cleared even though the corresponding 
> ignite node is stopped.
> The following trace based on a heap dump illustrates the issue:
>  !image-2021-12-20-14-37-02-163.png! 
> This issue can be partially mitigated by clearing ring buffers in 
> StripedDisruptor, but the right way to fix the issue is a proper approach to 
> handle static collections in BaseQueryContext.



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


[jira] [Updated] (IGNITE-16184) testTransferLeader is flaky

2021-12-22 Thread Vyacheslav Koptilin (Jira)


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

Vyacheslav Koptilin updated IGNITE-16184:
-
Priority: Blocker  (was: Critical)

> testTransferLeader is flaky
> ---
>
> Key: IGNITE-16184
> URL: https://issues.apache.org/jira/browse/IGNITE-16184
> Project: Ignite
>  Issue Type: Bug
>Reporter: Vyacheslav Koptilin
>Priority: Blocker
>  Labels: ignite-3
> Attachments: testTransferLeader.log
>
>
> ItCliServiceTest.testTransferLeader is flaky. Need to find out the root cause.
> See attached log.



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


[jira] [Assigned] (IGNITE-16186) Possibility of declaring affinity key fields for binary object cache key

2021-12-22 Thread Andrey Belyaev (Jira)


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

Andrey Belyaev reassigned IGNITE-16186:
---

Assignee: Andrey Belyaev

> Possibility of declaring affinity key fields for binary object cache key
> 
>
> Key: IGNITE-16186
> URL: https://issues.apache.org/jira/browse/IGNITE-16186
> Project: Ignite
>  Issue Type: Bug
>Reporter: Andrey Belyaev
>Assignee: Andrey Belyaev
>Priority: Major
>
> Problem: when binary object key placed in cache, ignite cant declare affinity 
> key.
> TODO: At first cache put of binary object key needed to call of 
> org.apache.ignite.internal.processors.cache.GridCacheContex#prepareAffinityField



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


[jira] [Created] (IGNITE-16186) Possibility of declaring affinity key fields for binary object cache key

2021-12-22 Thread Andrey Belyaev (Jira)
Andrey Belyaev created IGNITE-16186:
---

 Summary: Possibility of declaring affinity key fields for binary 
object cache key
 Key: IGNITE-16186
 URL: https://issues.apache.org/jira/browse/IGNITE-16186
 Project: Ignite
  Issue Type: Bug
Reporter: Andrey Belyaev


Problem: when binary object key placed in cache, ignite cant declare affinity 
key.

TODO: At first cache put of binary object key needed to call of 
org.apache.ignite.internal.processors.cache.GridCacheContex#prepareAffinityField



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


[jira] [Commented] (IGNITE-16154) Implement (un)marshalling of Externalizable

2021-12-22 Thread Roman Puchkovskiy (Jira)


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

Roman Puchkovskiy commented on IGNITE-16154:


Thanks!

> Implement (un)marshalling of Externalizable
> ---
>
> Key: IGNITE-16154
> URL: https://issues.apache.org/jira/browse/IGNITE-16154
> Project: Ignite
>  Issue Type: Sub-task
>Reporter: Roman Puchkovskiy
>Assignee: Roman Puchkovskiy
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-alpha4
>
>  Time Spent: 2h 20m
>  Remaining Estimate: 0h
>




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


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

2021-12-22 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:
---
Description: 
During pre-writes some excessive data is written to support tx aborting.

This data must be eventually removed.

Additionally, tx state map also must be pruned.

  was:
During pre-writes some excessive data is written to support tx aborting.

This data must be eventually removed.


> 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.
> Additionally, tx state map also must be pruned.



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


[jira] [Commented] (IGNITE-15721) Effective way of retrieving ​​tables by id.

2021-12-22 Thread Semyon Danilov (Jira)


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

Semyon Danilov commented on IGNITE-15721:
-

[~ktkale...@gridgain.com] [~ibessonov]  thank you fellas for your contribution, 
merged to the main branch!

> Effective way of retrieving ​​tables by id.
> ---
>
> Key: IGNITE-15721
> URL: https://issues.apache.org/jira/browse/IGNITE-15721
> Project: Ignite
>  Issue Type: Improvement
>Affects Versions: 3.0.0-alpha3
>Reporter: Alexander Lapin
>Assignee: Kirill Tkalenko
>Priority: Major
>  Labels: Configuration, iep-55, ignite-3
> Fix For: 3.0.0-alpha4
>
>  Time Spent: 2h 20m
>  Remaining Estimate: 0h
>
> h3. Problem
> There are use cases that suppose retrieving configuration entities by id. For 
> example retrieving table by id. The only option now is to get all tables with 
> further iteration that will check whether a table id matches expected one. 
> Things get worse if it's required to get table by id from remote node, e.g.
> {code:java}
> private boolean isTableConfigured(IgniteUuid id) {
> NamedListView directTablesCfg = 
> ((DirectConfigurationProperty>)tablesCfg.tables()).directValue();
> // TODO: IGNITE-15721 Need to review this approach after the ticket 
> would be fixed.
> // Probably, it won't be required getting configuration of all tables 
> from Metastor.
> for (String name : directTablesCfg.namedListKeys()) {
> ExtendedTableView tView = 
> (ExtendedTableView)directTablesCfg.get(name);
> if (tView != null && id.equals(IgniteUuid.fromString(tView.id(
> return true;
> }
> return false;
> }
> {code}
> It worth to mention that sometimes, for example in use case mentioned above, 
> exact data aren't needed, cause only fact of data absence is important. In 
> other words It'll be great not only to have ability to retrieve tables, 
> columns, indexes and other named list items by id (in addition to retrieving 
> by name) but also check whether required entity exists or not. Both local and 
> direct use cases are important.



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


[jira] [Commented] (IGNITE-16182) Move ZookeeperIpFinder to the ignite-extensions

2021-12-22 Thread Ignite TC Bot (Jira)


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

Ignite TC Bot commented on IGNITE-16182:


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

> Move ZookeeperIpFinder to the ignite-extensions
> ---
>
> Key: IGNITE-16182
> URL: https://issues.apache.org/jira/browse/IGNITE-16182
> Project: Ignite
>  Issue Type: Task
>  Components: extensions
>Reporter: Sergei Ryzhov
>Assignee: Sergei Ryzhov
>Priority: Major
>  Labels: ise
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> Move TcpDiscoveryZookeeperIpFinder to the ignite-extensions
> The motivation is the exclude dependency log4j(needed for curator), which 
> contains
> vulnerabilities CVE-2021-4104 CVE-2019-17571



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


[jira] [Updated] (IGNITE-16118) GridCacheEntryRemovedException appears in server log when performing cache read with expiry policy.

2021-12-22 Thread Pavel Pereslegin (Jira)


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

Pavel Pereslegin updated IGNITE-16118:
--
Labels: ise  (was: )

> GridCacheEntryRemovedException appears in server log when performing cache 
> read with expiry policy.
> ---
>
> Key: IGNITE-16118
> URL: https://issues.apache.org/jira/browse/IGNITE-16118
> Project: Ignite
>  Issue Type: Bug
>Reporter: Pavel Pereslegin
>Assignee: Pavel Pereslegin
>Priority: Minor
>  Labels: ise
>
> In a rare case, you might observe a confusing 
> {{GridCacheEntryRemovedException "Failed to send TTL update request"}} in 
> logs while *reading a non-expired* cache value.
> {noformat}
> [ERROR][sys-#258%expiry.EntryRemovedOnReadTest2%][root]  Failed to 
> send TTL update request.
> org.apache.ignite.internal.processors.cache.GridCacheEntryRemovedException
>   at 
> org.apache.ignite.internal.processors.cache.GridCacheMapEntry.checkObsolete(GridCacheMapEntry.java:3052)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtCacheEntry.checkReadersLocked(GridDhtCacheEntry.java:732)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtCacheEntry.checkReaders(GridDhtCacheEntry.java:708)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtCacheEntry.readers(GridDhtCacheEntry.java:416)
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtCacheAdapter$8.run(GridDhtCacheAdapter.java:1122)
>   at 
> org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:7329)
>   at 
> org.apache.ignite.internal.processors.closure.GridClosureProcessor$1.body(GridClosureProcessor.java:827)
>   at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:125)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>   at java.lang.Thread.run(Thread.java:748)
> {noformat}
> It looks like there is a race between {{sendTtlUpdateRequest(UUID, 
> GridCacheTtlUpdateRequest)}} and heap entry eviction. In this case, the 
> keys-loop is interrupted by the NPE ( which is currently not outputting 
> anywhere). 
> Since ttl updates are not ordered (see IGNITE-305), it is difficult to 
> reproduce the real-world problem that this issue could cause, but we 
> shouldn't log a weird exception anyway and continue the loop without NPE.
> Reproducer:
> {code:java}
> public class EntryRemovedOnReadTest extends GridCommonAbstractTest {
> private final ListeningTestLogger log = new 
> ListeningTestLogger(GridAbstractTest.log);
> @Override protected IgniteConfiguration getConfiguration(String 
> igniteInstanceName) throws Exception {
> return super.getConfiguration(igniteInstanceName)
> .setGridLogger(log)
> .setCacheConfiguration(new CacheConfiguration Integer>(DEFAULT_CACHE_NAME)
> .setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL)
> .setCacheMode(REPLICATED)
> );
> }
> @Test
> public void test() throws Exception {
> LogListener lsnr = LogListener.matches("Failed to send TTL update 
> request").build();
> log.registerListener(lsnr);
> startGridsMultiThreaded(4);
> Map vals = new TreeMap<>();
> for (int i = 1; i < 10; i++)
> vals.put(i, i);
> jcache(0).putAll(vals);
> assertFalse(lsnr.check());
> long timeout = 20_000L;
> long stopTime = System.currentTimeMillis() + timeout;
> int iter = 0;
> IgniteCache cache = jcache(1).withExpiryPolicy(new 
> ExpiryPolicy() {
> @Override public Duration getExpiryForAccess() {
> return new Duration(TimeUnit.MILLISECONDS, timeout);
> }
> @Override public Duration getExpiryForCreation() {  return null; }
> @Override public Duration getExpiryForUpdate() { return null; }
> });
> while (System.currentTimeMillis() < stopTime) {
> cache.getAll(vals.keySet());
> assertFalse("iter=" + ++iter, lsnr.check());
> }
> }
> }
> {code}



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


[jira] [Commented] (IGNITE-16177) Snapshot restore operation may hang if cache contains "empty" partitions

2021-12-22 Thread Ignite TC Bot (Jira)


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

Ignite TC Bot commented on IGNITE-16177:


{panel:title=Branch: [pull/9679/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/9679/head] Base: [master] : New Tests 
(1)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#8b}Snapshots{color} [[tests 
1|https://ci.ignite.apache.org/viewLog.html?buildId=6335238]]
* {color:#013220}IgniteSnapshotTestSuite: 
IgniteClusterSnapshotRestoreSelfTest.testRestoreWithEmptyPartitions[Encryption 
is disabled] - PASSED{color}

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

> Snapshot restore operation may hang if cache contains "empty" partitions
> 
>
> Key: IGNITE-16177
> URL: https://issues.apache.org/jira/browse/IGNITE-16177
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.12
>Reporter: Pavel Pereslegin
>Assignee: Pavel Pereslegin
>Priority: Blocker
>  Labels: iep-43
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> The snapshot restore may hang when some of the cache group partitions have 
> not been physically created (for example, there is not enough data in the 
> cache).
> Reproducer
> {code:java}
> public class IgniteClusterSnapshotRestoreEmptyPartsTest extends 
> IgniteClusterSnapshotRestoreBaseTest {
> @Test
> public void testRestoreWithEmptyPartition() throws Exception {
> // Cache with 1024 partitions.
> CacheConfiguration cacheCfg1 = new 
> CacheConfiguration<>(CACHE1);
> // Add only 10 keys (only 10 partitions will be created on the disk).
> IgniteEx ignite = startGridsWithCache(1, 10, Integer::new, cacheCfg1);
> // Snapshot contains only 10 (out of 1024 "affinity" partitions).
> ignite.snapshot().createSnapshot(SNAPSHOT_NAME).get(TIMEOUT);
> ignite.cache(CACHE1).destroy();
> // The restore operation hangs during the "preload" phase.
> ignite.snapshot().restoreSnapshot(SNAPSHOT_NAME, null).get(TIMEOUT);
> }
> }
> {code}



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


[jira] [Updated] (IGNITE-16154) Implement (un)marshalling of Externalizable

2021-12-22 Thread Semyon Danilov (Jira)


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

Semyon Danilov updated IGNITE-16154:

Summary: Implement (un)marshalling of Externalizable  (was: Implement 
(un)marhalling of Externalizable)

> Implement (un)marshalling of Externalizable
> ---
>
> Key: IGNITE-16154
> URL: https://issues.apache.org/jira/browse/IGNITE-16154
> Project: Ignite
>  Issue Type: Sub-task
>Reporter: Roman Puchkovskiy
>Assignee: Roman Puchkovskiy
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-alpha4
>
>  Time Spent: 1h 50m
>  Remaining Estimate: 0h
>




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


[jira] [Updated] (IGNITE-16182) Move ZookeeperIpFinder to the ignite-extensions

2021-12-22 Thread Sergei Ryzhov (Jira)


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

Sergei Ryzhov updated IGNITE-16182:
---
Description: 
Move TcpDiscoveryZookeeperIpFinder to the ignite-extensions
The motivation is the exclude dependency log4j(needed for curator), which 
contains
vulnerabilities CVE-2021-4104 CVE-2019-17571


  was:Move TcpDiscoveryZookeeperIpFinder to the ignite-extensions


> Move ZookeeperIpFinder to the ignite-extensions
> ---
>
> Key: IGNITE-16182
> URL: https://issues.apache.org/jira/browse/IGNITE-16182
> Project: Ignite
>  Issue Type: Task
>  Components: extensions
>Reporter: Sergei Ryzhov
>Assignee: Sergei Ryzhov
>Priority: Major
>  Labels: ise
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> Move TcpDiscoveryZookeeperIpFinder to the ignite-extensions
> The motivation is the exclude dependency log4j(needed for curator), which 
> contains
> vulnerabilities CVE-2021-4104 CVE-2019-17571



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