[jira] [Commented] (IGNITE-15101) Ignite tasks run in a security context other than the initiator's security context

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


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

Ignite TC Bot commented on IGNITE-15101:


{panel:title=Branch: [pull/9263/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/9263/head] Base: [master] : New Tests 
(36)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#8b}Java Client{color} [[tests 
36|https://ci.ignite.apache.org/viewLog.html?buildId=6108778]]
* {color:#013220}IgniteClientTestSuite: 
ComputeTaskRemoteSecurityContextTest.testClientNode[async=false 
failWithTimeout=false mapAsync=false] - PASSED{color}
* {color:#013220}IgniteClientTestSuite: 
ComputeTaskRemoteSecurityContextTest.testGridClient[async=false 
failWithTimeout=false mapAsync=false] - PASSED{color}
* {color:#013220}IgniteClientTestSuite: 
ComputeTaskRemoteSecurityContextTest.testIgniteClient[async=true 
failWithTimeout=false mapAsync=true] - PASSED{color}
* {color:#013220}IgniteClientTestSuite: 
ComputeTaskRemoteSecurityContextTest.testServerNode[async=true 
failWithTimeout=false mapAsync=true] - PASSED{color}
* {color:#013220}IgniteClientTestSuite: 
ComputeTaskRemoteSecurityContextTest.testRestClient[async=true 
failWithTimeout=false mapAsync=true] - PASSED{color}
* {color:#013220}IgniteClientTestSuite: 
ComputeTaskRemoteSecurityContextTest.testClientNode[async=true 
failWithTimeout=false mapAsync=true] - PASSED{color}
* {color:#013220}IgniteClientTestSuite: 
ComputeTaskRemoteSecurityContextTest.testServerNode[async=true 
failWithTimeout=true mapAsync=false] - PASSED{color}
* {color:#013220}IgniteClientTestSuite: 
ComputeTaskRemoteSecurityContextTest.testRestClient[async=true 
failWithTimeout=true mapAsync=false] - PASSED{color}
* {color:#013220}IgniteClientTestSuite: 
ComputeTaskRemoteSecurityContextTest.testClientNode[async=true 
failWithTimeout=true mapAsync=false] - PASSED{color}
* {color:#013220}IgniteClientTestSuite: 
ComputeTaskRemoteSecurityContextTest.testClientNode[async=true 
failWithTimeout=false mapAsync=false] - PASSED{color}
* {color:#013220}IgniteClientTestSuite: 
ComputeTaskRemoteSecurityContextTest.testGridClient[async=true 
failWithTimeout=false mapAsync=false] - PASSED{color}
... and 25 new tests

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

>  Ignite tasks run in a security context other than the initiator's security 
> context
> ---
>
> Key: IGNITE-15101
> URL: https://issues.apache.org/jira/browse/IGNITE-15101
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mikhail Petrov
>Assignee: Mikhail Petrov
>Priority: Major
>  Time Spent: 1h
>  Remaining Estimate: 0h
>
> Ignite tasks run in a security context other than the initiator's security 
> context.
> Reproducer:
> 1. Make TestSecurityProcessor#authenticatedSubjects to return 
> TestSecurityProcessor#SECURITY_CONTEXTS values to determine client subject id 
> after authentication like:
> {code:java}
> return 
> SECURITY_CONTEXTS.values().stream().map(SecurityContext::subject).collect(Collectors.toList());
> {code}
> 2.
> {code:java}
> public class TaskSecurityContextTest extends AbstractSecurityTest {
> /** */
> private static final String TASK_NAME = 
> "org.apache.ignite.internal.processors.security.events.TaskSecurityContextTest$TestComputeTask";
> /** {@inheritDoc} */
> @Override protected IgniteConfiguration getConfiguration(String 
> igniteInstanceName) throws Exception {
> return super.getConfiguration(igniteInstanceName)
> .setClientConnectorConfiguration(
> new ClientConnectorConfiguration().setThinClientConfiguration(
> new 
> ThinClientConfiguration().setMaxActiveComputeTasksPerConnection(1)));
> }
> /** */
> @Test
> public void test() throws Exception {
> IgniteEx ignite = startGridAllowAll("srv");
> String login = "test";
> IgniteClient cli = Ignition.startClient(new ClientConfiguration()
> .setAddresses(Config.SERVER)
> .setUserName(login)
> .setUserPassword("")
> );
> UUID subjId = 
> ignite.context().security().authenticatedSubjects().stream()
> .filter(subj -> subj.login().equals(login))
> .findFirst()
> .get()
> .id();
> cli.compute().execute(TASK_NAME, subjId);
> }
> /** Test compute task. */
> public static class TestComputeTask extends ComputeTaskAdapter Void> {
> /** {@inheritDoc} */
> @Override public @NotNull Map map(
> List subgrid,
> @Nullable 

[jira] [Commented] (IGNITE-15031) Calcite engine. Parser fails on REPLACE function

2021-07-29 Thread Aleksey Plekhanov (Jira)


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

Aleksey Plekhanov commented on IGNITE-15031:


[~korlov], thanks for the review! Merged to sql-calcite branch.

> Calcite engine. Parser fails on REPLACE function
> 
>
> Key: IGNITE-15031
> URL: https://issues.apache.org/jira/browse/IGNITE-15031
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Taras Ledkov
>Assignee: Aleksey Plekhanov
>Priority: Major
>  Labels: calcite3-required
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> The {{REPLACE}} function is declared at the calcite engine 
> ({{SqlStdOperatorTable#REPLACE}})
> but parser fails on the query:
> {{SELECT REPLACE('A', 'B' 'C')}}
> with error: {{Encountered "" at line 1, column 8.}}
> Tests:
> {{function/string/test_replace.test_ignore}}



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


[jira] [Updated] (IGNITE-15031) Calcite engine. Parser fails on REPLACE function

2021-07-29 Thread Aleksey Plekhanov (Jira)


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

Aleksey Plekhanov updated IGNITE-15031:
---
Labels: calcite3-required  (was: )

> Calcite engine. Parser fails on REPLACE function
> 
>
> Key: IGNITE-15031
> URL: https://issues.apache.org/jira/browse/IGNITE-15031
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Taras Ledkov
>Assignee: Aleksey Plekhanov
>Priority: Major
>  Labels: calcite3-required
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> The {{REPLACE}} function is declared at the calcite engine 
> ({{SqlStdOperatorTable#REPLACE}})
> but parser fails on the query:
> {{SELECT REPLACE('A', 'B' 'C')}}
> with error: {{Encountered "" at line 1, column 8.}}
> Tests:
> {{function/string/test_replace.test_ignore}}



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


[jira] [Updated] (IGNITE-15052) Move thread pools creation to PoolProcessor.

2021-07-29 Thread Aleksey Plekhanov (Jira)


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

Aleksey Plekhanov updated IGNITE-15052:
---
Ignite Flags:   (was: Docs Required,Release Notes Required)

> Move thread pools creation to PoolProcessor.
> 
>
> Key: IGNITE-15052
> URL: https://issues.apache.org/jira/browse/IGNITE-15052
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mikhail Petrov
>Assignee: Mikhail Petrov
>Priority: Major
> Fix For: 2.12
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> It is proposed to 
> 1. move the creation of thread pools that are shared across multiple Ignite 
> processors to the PoolProcessor - now they are created in IgniitonEx
> 2. get thread pools instances through the PoolProcessor - now they are 
> obtained through GridKernalContext
> This helps to encapsulate the logic related to shared thread pools into a 
> dedicated processor that is in charge of thread pool management. The 
> implementation of this proposal will also allow to implement more reliable 
> way to keep correct security context  for tasks that are asynchronously 
> executed in thread pools.
> The only questionable change associated with this proposal is that thread 
> pools will be stopped earlier than before but tests shows no issues with it.



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


[jira] [Commented] (IGNITE-15052) Move thread pools creation to PoolProcessor.

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


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

Ignite TC Bot commented on IGNITE-15052:


{panel:title=Branch: [pull/9224/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/9224/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=6108390buildTypeId=IgniteTests24Java8_RunAll]

> Move thread pools creation to PoolProcessor.
> 
>
> Key: IGNITE-15052
> URL: https://issues.apache.org/jira/browse/IGNITE-15052
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mikhail Petrov
>Assignee: Mikhail Petrov
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> It is proposed to 
> 1. move the creation of thread pools that are shared across multiple Ignite 
> processors to the PoolProcessor - now they are created in IgniitonEx
> 2. get thread pools instances through the PoolProcessor - now they are 
> obtained through GridKernalContext
> This helps to encapsulate the logic related to shared thread pools into a 
> dedicated processor that is in charge of thread pool management. The 
> implementation of this proposal will also allow to implement more reliable 
> way to keep correct security context  for tasks that are asynchronously 
> executed in thread pools.
> The only questionable change associated with this proposal is that thread 
> pools will be stopped earlier than before but tests shows no issues with it.



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


[jira] [Commented] (IGNITE-14816) Calcite engine. Change TreeMap in sorted IndexSpoolNode to ArrayList

2021-07-29 Thread Konstantin Orlov (Jira)


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

Konstantin Orlov commented on IGNITE-14816:
---

[~xtern], LGTM!

> Calcite engine. Change TreeMap in sorted IndexSpoolNode to ArrayList
> 
>
> Key: IGNITE-14816
> URL: https://issues.apache.org/jira/browse/IGNITE-14816
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksey Plekhanov
>Assignee: Pavel Pereslegin
>Priority: Minor
>  Labels: calcite2-required, calcite3-required
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> {{IgniteSortedIndexSpool}} assumes that the underlying input is already 
> sorted, but the execution node creates {{TreeMap}} to find the rows (see 
> {{IndexSpoolNode#createTreeSpool}}). This {{TreeMap}} can be replaced with 
> {{ArrayList}} and binary search with the same efficiency for searching and 
> lower costs for inserting data. 
>   



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


[jira] [Commented] (IGNITE-15181) IgniteClientReconnectMassiveShutdownTest.testMassiveServersShutdown3 fails with unexpected exception

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


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

Ignite TC Bot commented on IGNITE-15181:


{panel:title=Branch: [pull/9279/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/9279/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=6105423buildTypeId=IgniteTests24Java8_RunAll]

> IgniteClientReconnectMassiveShutdownTest.testMassiveServersShutdown3 fails 
> with unexpected exception
> 
>
> Key: IGNITE-15181
> URL: https://issues.apache.org/jira/browse/IGNITE-15181
> Project: Ignite
>  Issue Type: Bug
>Reporter: Vyacheslav Koptilin
>Assignee: Vyacheslav Koptilin
>Priority: Major
> Fix For: 2.12
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> IgniteClientReconnectMassiveShutdownTest.testMassiveServersShutdown3 may fail 
> with the following unexpected exception:
> {noformat}
>   Failed to commit a transaction (all partition owners have left the grid, 
> partition data has been lost) [cacheName=default, partition=213, 
> key=KeyCacheObjectImpl [part=213, val=3456, hasValBytes=true]]
>   class org.apache.ignite.IgniteCheckedException: Failed to commit a 
> transaction (all partition owners have left the grid, partition data has been 
> lost) [cacheName=default, partition=213, key=KeyCacheObjectImpl [part=213, 
> val=3456, hasValBytes=true]]
> at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7755)
> at 
> org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:260)
> at 
> org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:172)
> at 
> org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:141)
> at 
> org.apache.ignite.testframework.GridTestUtils.lambda$runMultiThreadedAsync$96d302c5$1(GridTestUtils.java:1026)
> at 
> org.apache.ignite.internal.util.future.GridFutureAdapter.notifyListener(GridFutureAdapter.java:399)
> at 
> org.apache.ignite.internal.util.future.GridFutureAdapter.unblock(GridFutureAdapter.java:347)
> at 
> org.apache.ignite.internal.util.future.GridFutureAdapter.unblockAll(GridFutureAdapter.java:335)
> at 
> org.apache.ignite.internal.util.future.GridFutureAdapter.onDone(GridFutureAdapter.java:511)
> at 
> org.apache.ignite.internal.util.future.GridFutureAdapter.onDone(GridFutureAdapter.java:490)
> at 
> org.apache.ignite.internal.util.future.GridFutureAdapter.onDone(GridFutureAdapter.java:478)
> at 
> org.apache.ignite.testframework.GridTestUtils.lambda$runAsync$3(GridTestUtils.java:1181)
> at 
> org.apache.ignite.testframework.GridTestUtils$7.call(GridTestUtils.java:1494)
> at 
> org.apache.ignite.testframework.GridTestThread.run(GridTestThread.java:88)
>   Caused by: class org.apache.ignite.IgniteException: Failed to commit a 
> transaction (all partition owners have left the grid, partition data has been 
> lost) [cacheName=default, partition=213, key=KeyCacheObjectImpl [part=213, 
> val=3456, hasValBytes=true]]
> at 
> org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:1101)
> at 
> org.apache.ignite.internal.processors.cache.transactions.TransactionProxyImpl.commit(TransactionProxyImpl.java:324)
> at 
> org.apache.ignite.spi.discovery.tcp.IgniteClientReconnectMassiveShutdownTest$1.call(IgniteClientReconnectMassiveShutdownTest.java:184)
> ... 1 more
>   Caused by: class 
> org.apache.ignite.internal.processors.cache.CacheInvalidStateException: 
> Failed to commit a transaction (all partition owners have left the grid, 
> partition data has been lost) [cacheName=default, partition=213, 
> key=KeyCacheObjectImpl [part=213, val=3456, hasValBytes=true]]
> at 
> org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxFinishFuture$FinishMiniFuture.onNodeLeft(GridNearTxFinishFuture.java:1004)
> at 
> org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxFinishFuture.onNodeLeft(GridNearTxFinishFuture.java:172)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheMvccManager$4.onEvent(GridCacheMvccManager.java:271)
> at 
> org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager$LocalListenerWrapper.onEvent(GridEventStorageManager.java:1399)
> at 
> org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager.notifyListeners(GridEventStorageManager.java:894)
> at 
> 

[jira] [Comment Edited] (IGNITE-15025) Add Maven check scripts to VCS

2021-07-29 Thread Andrey Mashenkov (Jira)


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

Andrey Mashenkov edited comment on IGNITE-15025 at 7/29/21, 1:57 PM:
-

[~vveider]
I have tried to run {{run.sh}} and got next output with no error:
{noformat}
~/apache-ignite-3$ ./check-rules/maven-check-scripts/run.sh 
 * Executing CheckDependencyAndPluginVersionsNotInParent.sh...
 * Executing CheckModulesInRootPomAreSorted.sh...
{noformat}
It is unclear if the result is ok or not. 
Obviously, it is NOT ok because (looking at {{run.sh}} code) more scripts are 
expected being executed.
Thus, {{run.sh}} has silently failed on {{CheckModulesInRootPomAreSorted}}.

Actually, I had no {{xpath}} in the PATH and may run {{run.sh}} from an 
arbitrary directory, and got no errors.
I think it worth adding
# a preliminary check to {{run.sh}} (at least) if {{xpath}} file is 
reachable/runnable or not.
# a check if workdir is correct. E.g. {{pom.xml}} file is found.

WDYT?


was (Author: amashenkov):
[~vveider]
I have tried to run {{run.sh}} and got next output with no error:
{noformat}
~/apache-ignite-3$ ./check-rules/maven-check-scripts/run.sh 
 * Executing CheckDependencyAndPluginVersionsNotInParent.sh...
 * Executing CheckModulesInRootPomAreSorted.sh...
{noformat}
It is unclear if the result is ok or not. 
Obvoiusly, it is NOT ok because looking at {{run.sh}} code more scripts 
expected to be executed.
Thus, {{run.sh}} has silently failed on {{CheckModulesInRootPomAreSorted}}.

Actually, I had no {{xpath}} in the PATH and may run {{run.sh}} from an 
arbitrary directory, and got no errors.
I think it worth adding
# a preliminary check to {{run.sh}} (at least) if {{xpath}} file is 
reachable/runnable or not.
# a check if workdir is correct. E.g. {{pom.xml}} file is found.

WDYT?

> Add Maven check scripts to VCS
> --
>
> Key: IGNITE-15025
> URL: https://issues.apache.org/jira/browse/IGNITE-15025
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Peter Ivanov
>Assignee: Peter Ivanov
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Currently, only TC has scripts for Maven checks which leads to several 
> problems:
>  # Developers can't use them to check code locally
>  # Scripts can be lost with TC in inaccurate configuration operation.
> It is required to move scripts to Ignite's codebase and call them from TC 
> build.



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


[jira] [Commented] (IGNITE-15025) Add Maven check scripts to VCS

2021-07-29 Thread Andrey Mashenkov (Jira)


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

Andrey Mashenkov commented on IGNITE-15025:
---

[~vveider]
I have tried to run {{run.sh}} and got next output with no error:
{noformat}
~/apache-ignite-3$ ./check-rules/maven-check-scripts/run.sh 
 * Executing CheckDependencyAndPluginVersionsNotInParent.sh...
 * Executing CheckModulesInRootPomAreSorted.sh...
{noformat}
It is unclear if the result is ok or not. 
Obvoiusly, it is NOT ok because looking at {{run.sh}} code more scripts 
expected to be executed.
Thus, {{run.sh}} has silently failed on {{CheckModulesInRootPomAreSorted}}.

Actually, I had no {{xpath}} in the PATH and may run {{run.sh}} from an 
arbitrary directory, and got no errors.
I think it worth adding
# a preliminary check to {{run.sh}} (at least) if {{xpath}} file is 
reachable/runnable or not.
# a check if workdir is correct. E.g. {{pom.xml}} file is found.

WDYT?

> Add Maven check scripts to VCS
> --
>
> Key: IGNITE-15025
> URL: https://issues.apache.org/jira/browse/IGNITE-15025
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Peter Ivanov
>Assignee: Peter Ivanov
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Currently, only TC has scripts for Maven checks which leads to several 
> problems:
>  # Developers can't use them to check code locally
>  # Scripts can be lost with TC in inaccurate configuration operation.
> It is required to move scripts to Ignite's codebase and call them from TC 
> build.



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


[jira] [Assigned] (IGNITE-15209) Add additional docker images.

2021-07-29 Thread Peter Ivanov (Jira)


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

Peter Ivanov reassigned IGNITE-15209:
-

Assignee: Peter Ivanov

> Add additional docker images.
> -
>
> Key: IGNITE-15209
> URL: https://issues.apache.org/jira/browse/IGNITE-15209
> Project: Ignite
>  Issue Type: New Feature
>Reporter: Andrey Mashenkov
>Assignee: Peter Ivanov
>Priority: Minor
>  Labels: docker, newbie
>
> We have docker images for x86-64 on JDK 8 and s390x on JDK 11.
> Let's add images for x86-64 on JDK 11 and for s390x on JDK 8  for better UX.
> This will cost us almost nothing but may be useful.



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


[jira] [Commented] (IGNITE-15031) Calcite engine. Parser fails on REPLACE function

2021-07-29 Thread Konstantin Orlov (Jira)


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

Konstantin Orlov commented on IGNITE-15031:
---

[~alex_pl], LGTM

> Calcite engine. Parser fails on REPLACE function
> 
>
> Key: IGNITE-15031
> URL: https://issues.apache.org/jira/browse/IGNITE-15031
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Taras Ledkov
>Assignee: Aleksey Plekhanov
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> The {{REPLACE}} function is declared at the calcite engine 
> ({{SqlStdOperatorTable#REPLACE}})
> but parser fails on the query:
> {{SELECT REPLACE('A', 'B' 'C')}}
> with error: {{Encountered "" at line 1, column 8.}}
> Tests:
> {{function/string/test_replace.test_ignore}}



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


[jira] [Assigned] (IGNITE-15209) Add additional docker images.

2021-07-29 Thread Andrey Mashenkov (Jira)


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

Andrey Mashenkov reassigned IGNITE-15209:
-

Assignee: (was: Peter Ivanov)

> Add additional docker images.
> -
>
> Key: IGNITE-15209
> URL: https://issues.apache.org/jira/browse/IGNITE-15209
> Project: Ignite
>  Issue Type: New Feature
>Reporter: Andrey Mashenkov
>Priority: Minor
>  Labels: docker, newbie
>
> We have docker images for x86-64 on JDK 8 and s390x on JDK 11.
> Let's add images for x86-64 on JDK 11 and for s390x on JDK 8  for better UX.
> This will cost us almost nothing but may be useful.



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


[jira] [Updated] (IGNITE-14017) Willing to add s390x support to the docker image.

2021-07-29 Thread Andrey Mashenkov (Jira)


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

Andrey Mashenkov updated IGNITE-14017:
--
Labels: docker  (was: )

> Willing to add s390x support to the docker image.
> -
>
> Key: IGNITE-14017
> URL: https://issues.apache.org/jira/browse/IGNITE-14017
> Project: Ignite
>  Issue Type: New Feature
>Reporter: Prajakta Chaudhari
>Assignee: Peter Ivanov
>Priority: Major
>  Labels: docker
> Fix For: 2.12
>
> Attachments: Dockerfile
>
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> We are willing to add s390x support to the docker image. Dockerfile provided 
> on Apache Ignite GitHub repository 
> (https://github.com/apache/ignite/tree/master/docker/apache-ignite) is 
> working fine on s390x architecture. However we could not get any information 
> about how does the docker image build and release process work. Can you 
> please give some pointers to go ahead with the task?



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


[jira] [Updated] (IGNITE-15209) Add additional docker images.

2021-07-29 Thread Andrey Mashenkov (Jira)


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

Andrey Mashenkov updated IGNITE-15209:
--
Labels: docker newbie  (was: )

> Add additional docker images.
> -
>
> Key: IGNITE-15209
> URL: https://issues.apache.org/jira/browse/IGNITE-15209
> Project: Ignite
>  Issue Type: New Feature
>Reporter: Andrey Mashenkov
>Assignee: Peter Ivanov
>Priority: Minor
>  Labels: docker, newbie
> Fix For: 2.12
>
>
> We have docker images for x86-64 on JDK 8 and s390x on JDK 11.
> Let's add images for x86-64 on JDK 11 and for s390x on JDK 8  for better UX.
> This will cost us almost nothing but may be useful.



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


[jira] [Updated] (IGNITE-15209) Add additional docker images.

2021-07-29 Thread Andrey Mashenkov (Jira)


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

Andrey Mashenkov updated IGNITE-15209:
--
Fix Version/s: (was: 2.12)

> Add additional docker images.
> -
>
> Key: IGNITE-15209
> URL: https://issues.apache.org/jira/browse/IGNITE-15209
> Project: Ignite
>  Issue Type: New Feature
>Reporter: Andrey Mashenkov
>Assignee: Peter Ivanov
>Priority: Minor
>  Labels: docker, newbie
>
> We have docker images for x86-64 on JDK 8 and s390x on JDK 11.
> Let's add images for x86-64 on JDK 11 and for s390x on JDK 8  for better UX.
> This will cost us almost nothing but may be useful.



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


[jira] [Updated] (IGNITE-15209) Add additional docker images.

2021-07-29 Thread Andrey Mashenkov (Jira)


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

Andrey Mashenkov updated IGNITE-15209:
--
Priority: Minor  (was: Major)

> Add additional docker images.
> -
>
> Key: IGNITE-15209
> URL: https://issues.apache.org/jira/browse/IGNITE-15209
> Project: Ignite
>  Issue Type: New Feature
>Reporter: Andrey Mashenkov
>Assignee: Peter Ivanov
>Priority: Minor
> Fix For: 2.12
>
>
> We have docker images for x86-64 on JDK 8 and s390x on JDK 11.
> Let's add images for x86-64 on JDK 11 and for s390x on JDK 8  for better UX.
> This will cost us almost nothing but may be useful.



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


[jira] [Updated] (IGNITE-15209) Add additional docker images.

2021-07-29 Thread Andrey Mashenkov (Jira)


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

Andrey Mashenkov updated IGNITE-15209:
--
Description: 
We have docker images for x86-64 on JDK 8 and s390x on JDK 11.

Let's add images for x86-64 on JDK 11 and for s390x on JDK 8  for better UX.
This will cost us almost nothing but may be useful.

  was:We are willing to add s390x support to the docker image. Dockerfile 
provided on Apache Ignite GitHub repository 
(https://github.com/apache/ignite/tree/master/docker/apache-ignite) is working 
fine on s390x architecture. However we could not get any information about how 
does the docker image build and release process work. Can you please give some 
pointers to go ahead with the task?


> Add additional docker images.
> -
>
> Key: IGNITE-15209
> URL: https://issues.apache.org/jira/browse/IGNITE-15209
> Project: Ignite
>  Issue Type: New Feature
>Reporter: Andrey Mashenkov
>Assignee: Peter Ivanov
>Priority: Major
> Fix For: 2.12
>
>
> We have docker images for x86-64 on JDK 8 and s390x on JDK 11.
> Let's add images for x86-64 on JDK 11 and for s390x on JDK 8  for better UX.
> This will cost us almost nothing but may be useful.



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


[jira] [Created] (IGNITE-15209) Add additional docker images.

2021-07-29 Thread Andrey Mashenkov (Jira)
Andrey Mashenkov created IGNITE-15209:
-

 Summary: Add additional docker images.
 Key: IGNITE-15209
 URL: https://issues.apache.org/jira/browse/IGNITE-15209
 Project: Ignite
  Issue Type: New Feature
Reporter: Andrey Mashenkov
Assignee: Peter Ivanov
 Fix For: 2.12


We are willing to add s390x support to the docker image. Dockerfile provided on 
Apache Ignite GitHub repository 
(https://github.com/apache/ignite/tree/master/docker/apache-ignite) is working 
fine on s390x architecture. However we could not get any information about how 
does the docker image build and release process work. Can you please give some 
pointers to go ahead with the task?



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


[jira] [Updated] (IGNITE-15148) Implement top level node stop logic

2021-07-29 Thread Vyacheslav Koptilin (Jira)


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

Vyacheslav Koptilin updated IGNITE-15148:
-
Description: 
It's possible to stop node both when node was already started or during the 
startup process, in that case
node stop will prevent any new components startup and stop already started ones.

Following method was added to Ignition interface:
{color:#808080}
{color}
{code:java}
/**
 * Stops the node with given {@code name}.
 * It's possible to stop both already started node or node that is 
currently starting.
 * Has no effect if a node with the specified name doesn't exist.
 *
 * @param name Node name to stop.
 * @throws IllegalArgumentException if null is specified instead of the 
node name.
 */
public void stop(@NotNull String name);
{code}
It's also possible to stop a node by calling close() on an already started 
Ignite instance.
 * As a starting point stop process checks node status:If it's STOPPING - 
nothing happens, cause previous intention to stop node was already detected.
 * If it's STARTING (means that node is somewhere in the middle of the startup 
process) - node status will be updated to
STOPPING and later on startup process will detect status change on attempt of 
starting next component, prevent further
startup process and stop already started managers and corresponding inner 
components.
 * if it's STARTED - explicit stop will take an action. All components will be 
stopped.

In all cases the node stop process consists of two phases:
 * At phase one ``onNodeStop()`` will be called on all started components in 
reverse order, meaning that the last
started component will run ``onNodeStop()`` first. For most components 
``onNodeStop()`` will be No-op. Core idea here
is to stop network communication on ``onNodeStop()`` in order to terminate 
distributed operations gracefully:
no network communication is allowed but node local logic still remains 
consistent.
 * At phase two within a write busy lock, ``stop()`` will be called on all 
started components also in reverse order,
here thread stopping logic, inner structures cleanup and other related logic 
takes it time. Please pay attention that
at this point network communication isn't possible.

Besides local node stopping logic two more actions took place on a cluster as a 
result of node left event:
 * Both range and watch cursors will be removed on server side. Given process 
is linearized with meta storage
operations by using a meta storage raft.
 * Baseline update and corresponding baseline recalculation with ongoing 
partition raft groups redeployment.

 

 

  was:
It's possible to stop node both when node was already started or during the 
startup process, in that case
node stop will prevent any new components startup and stop already started ones.

Following method was added to Ignition interface:
{color:#808080}
{color}
{code:java}
/**
 * Stops node with given node. It's possible to stop both already started node 
or node that is currently starting.
 *
 * @param name Node name to stop.
 */
 public void stop(@NotNull String name{code}
It's also possible to stop a node by calling close() on an already started 
Ignite instance.
 * As a starting point stop process checks node status:If it's STOPPING - 
nothing happens, cause previous intention to stop node was already detected.
 * If it's STARTING (means that node is somewhere in the middle of the startup 
process) - node status will be updated to
STOPPING and later on startup process will detect status change on attempt of 
starting next component, prevent further
startup process and stop already started managers and corresponding inner 
components.
 * if it's STARTED - explicit stop will take an action. All components will be 
stopped.

In all cases the node stop process consists of two phases:
 * At phase one ``onNodeStop()`` will be called on all started components in 
reverse order, meaning that the last
started component will run ``onNodeStop()`` first. For most components 
``onNodeStop()`` will be No-op. Core idea here
is to stop network communication on ``onNodeStop()`` in order to terminate 
distributed operations gracefully:
no network communication is allowed but node local logic still remains 
consistent.
 * At phase two within a write busy lock, ``stop()`` will be called on all 
started components also in reverse order,
here thread stopping logic, inner structures cleanup and other related logic 
takes it time. Please pay attention that
at this point network communication isn't possible.

Besides local node stopping logic two more actions took place on a cluster as a 
result of node left event:
 * Both range and watch cursors will be removed on server side. Given process 
is linearized with meta storage
operations by using a meta storage raft.
 * Baseline update and corresponding baseline recalculation with ongoing 

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

2021-07-29 Thread Vyacheslav Koptilin (Jira)


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

Vyacheslav Koptilin updated IGNITE-15125:
-
Ignite Flags:   (was: Docs Required,Release Notes Required)

> Implement naive baseline
> 
>
> Key: IGNITE-15125
> URL: https://issues.apache.org/jira/browse/IGNITE-15125
> Project: Ignite
>  Issue Type: Bug
>Reporter: Alexander Lapin
>Assignee: Alexander Lapin
>Priority: Major
>  Labels: ignite-3
>   Original Estimate: 96h
>  Remaining Estimate: 96h
>
> In order to satisfy the needs on assignments recalculation on topology 
> changes it's required to implement baseline concept. It might be a naive one 
> that will contain all topology nodes and will change on every node add/left 
> event.



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


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

2021-07-29 Thread Vyacheslav Koptilin (Jira)


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

Vyacheslav Koptilin updated IGNITE-15125:
-
Issue Type: Improvement  (was: Bug)

> Implement naive baseline
> 
>
> Key: IGNITE-15125
> URL: https://issues.apache.org/jira/browse/IGNITE-15125
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Alexander Lapin
>Assignee: Alexander Lapin
>Priority: Major
>  Labels: ignite-3
>   Original Estimate: 96h
>  Remaining Estimate: 96h
>
> In order to satisfy the needs on assignments recalculation on topology 
> changes it's required to implement baseline concept. It might be a naive one 
> that will contain all topology nodes and will change on every node add/left 
> event.



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


[jira] [Commented] (IGNITE-14815) Metrics for thin clients

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


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

Ignite TC Bot commented on IGNITE-14815:


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

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

> Metrics for thin clients
> 
>
> Key: IGNITE-14815
> URL: https://issues.apache.org/jira/browse/IGNITE-14815
> Project: Ignite
>  Issue Type: New Feature
>  Components: thin client
>Reporter: Igor Sapego
>Assignee: Igor Sapego
>Priority: Major
> Fix For: 2.11
>
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> At least following metrics are required:
> 1. Add "thin clients currently connected" metric. Client comes, +1. Client 
> leaves, -1.
> 2. Add  "total thin clients connected" aggregated metric. Just a counter of 
> thin client connected events, similar to CachePuts in cache metrics.
> This is as per 
> org.apache.ignite.internal.processors.odbc.ClientListenerNioListener#onConnected
>  / 
> org.apache.ignite.internal.processors.odbc.ClientListenerNioListener#onDisconnected



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


[jira] [Assigned] (IGNITE-15185) JDBC driver for 3.0: Implements Driver & Connection

2021-07-29 Thread Vladimir Ermakov (Jira)


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

Vladimir Ermakov reassigned IGNITE-15185:
-

Assignee: Vladimir Ermakov

> JDBC driver for 3.0: Implements Driver & Connection
> ---
>
> Key: IGNITE-15185
> URL: https://issues.apache.org/jira/browse/IGNITE-15185
> Project: Ignite
>  Issue Type: Improvement
>  Components: jdbc
>Reporter: Taras Ledkov
>Assignee: Vladimir Ermakov
>Priority: Major
>
> Implements JDBC driver & Connection according with 
> [IEP-76|https://cwiki.apache.org/confluence/display/IGNITE/IEP-76+Thin+Client+Protocol+for+Ignite+3.0].
> See more at Ignite 2.x: 
> - driver implementation: {{IgniteJdbcThinDriver}}
> - connection properties: {{ConnectionPropertiesImpl}}
> Create ticket to documentation JDBC connection string & connection properties 
> (for now it will only be network properties).



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


[jira] [Commented] (IGNITE-15138) NullPointerException on attempt to create a Java ThinClient with BinaryConfiguration

2021-07-29 Thread Aleksey Plekhanov (Jira)


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

Aleksey Plekhanov commented on IGNITE-15138:


[~ivandasch], thanks for the review! Merged to master.

> NullPointerException on attempt to create a Java ThinClient with 
> BinaryConfiguration
> 
>
> Key: IGNITE-15138
> URL: https://issues.apache.org/jira/browse/IGNITE-15138
> Project: Ignite
>  Issue Type: Bug
>  Components: thin client
>Affects Versions: 2.10
>Reporter: Ivan Fedorenkov
>Assignee: Aleksey Plekhanov
>Priority: Major
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> {code:java}
> Exception in thread "main" java.lang.NullPointerException
>                 at 
> org.apache.ignite.internal.client.thin.TcpIgniteClient$ClientBinaryMetadataHandler.addMeta(TcpIgniteClient.java:311)
>                 at 
> org.apache.ignite.internal.binary.BinaryContext.registerUserType(BinaryContext.java:1100)
>                 at 
> org.apache.ignite.internal.binary.BinaryContext.configure(BinaryContext.java:414)
>                 at 
> org.apache.ignite.internal.binary.BinaryContext.configure(BinaryContext.java:348)
>                 at 
> org.apache.ignite.internal.client.thin.ClientBinaryMarshaller.createImpl(ClientBinaryMarshaller.java:117)
>                 at 
> org.apache.ignite.internal.client.thin.ClientBinaryMarshaller.setBinaryConfiguration(ClientBinaryMarshaller.java:89)
>                 at 
> org.apache.ignite.internal.client.thin.TcpIgniteClient.(TcpIgniteClient.java:110)
>                 at 
> org.apache.ignite.internal.client.thin.TcpIgniteClient.(TcpIgniteClient.java:96)
>                 at 
> org.apache.ignite.internal.client.thin.TcpIgniteClient.start(TcpIgniteClient.java:258)
>                 at org.apache.ignite.Ignition.startClient(Ignition.java:612) 
> {code}



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