[jira] [Created] (IGNITE-14616) eplace the string variables that store the security password with array of char.

2021-04-21 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-14616:
---

 Summary: eplace the string variables that store the security 
password with array of char.
 Key: IGNITE-14616
 URL: https://issues.apache.org/jira/browse/IGNITE-14616
 Project: Ignite
  Issue Type: Improvement
Reporter: Mikhail Petrov


It is needed to replace the string variables that store the security password 
with an array of characters.



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


[jira] [Created] (IGNITE-14615) Add support of grant/revoke commands for Ignite security plugin

2021-04-21 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-14615:
---

 Summary: Add support of grant/revoke commands for Ignite security 
plugin
 Key: IGNITE-14615
 URL: https://issues.apache.org/jira/browse/IGNITE-14615
 Project: Ignite
  Issue Type: Improvement
Reporter: Mikhail Petrov


It's needed to add support of grant/revoke commands for Ignite security plugin.



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


[jira] [Created] (IGNITE-14614) Add the ability to create security user with custom options

2021-04-21 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-14614:
---

 Summary: Add the ability to create security user with custom 
options
 Key: IGNITE-14614
 URL: https://issues.apache.org/jira/browse/IGNITE-14614
 Project: Ignite
  Issue Type: Improvement
Reporter: Mikhail Petrov


It is needed to add the ability to create security user with custom options 
that can be specific for security plugin implementation.



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


[jira] [Created] (IGNITE-14493) Documents versions of Spring integration extensions.

2021-04-06 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-14493:
---

 Summary: Documents versions of Spring integration extensions.
 Key: IGNITE-14493
 URL: https://issues.apache.org/jira/browse/IGNITE-14493
 Project: Ignite
  Issue Type: Improvement
Reporter: Mikhail Petrov
Assignee: Mikhail Petrov


It's need to Documents available versions of Spring integration extensions.



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


[jira] [Created] (IGNITE-14434) Add examples of thin client using with spring-tx-ext

2021-03-28 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-14434:
---

 Summary: Add examples of thin client using with spring-tx-ext
 Key: IGNITE-14434
 URL: https://issues.apache.org/jira/browse/IGNITE-14434
 Project: Ignite
  Issue Type: Improvement
Reporter: Mikhail Petrov


It's needed to add examples of thin client using with spring-tx-ext integration.



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


[jira] [Created] (IGNITE-14428) Formalize the names of the metrics included in the metric registry.

2021-03-26 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-14428:
---

 Summary:  Formalize the names of the metrics included in the 
metric registry.
 Key: IGNITE-14428
 URL: https://issues.apache.org/jira/browse/IGNITE-14428
 Project: Ignite
  Issue Type: Improvement
Reporter: Mikhail Petrov
Assignee: Mikhail Petrov


It's needed to refactor metric names to obey the global rule - all of them must 
start with name of the registry they are belongs to. And add corresponding 
assertion.



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


[jira] [Created] (IGNITE-14399) Document thin client support for spring-cache integration.

2021-03-25 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-14399:
---

 Summary: Document thin client support for spring-cache integration.
 Key: IGNITE-14399
 URL: https://issues.apache.org/jira/browse/IGNITE-14399
 Project: Ignite
  Issue Type: Improvement
Reporter: Mikhail Petrov
Assignee: Mikhail Petrov


It's needed to document thin client support for spring-cache integration.



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


[jira] [Created] (IGNITE-14398) Document thin client support for spring-data integration.

2021-03-25 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-14398:
---

 Summary: Document thin client support for spring-data integration.
 Key: IGNITE-14398
 URL: https://issues.apache.org/jira/browse/IGNITE-14398
 Project: Ignite
  Issue Type: Improvement
Reporter: Mikhail Petrov
Assignee: Mikhail Petrov


It's needed to document thin client support for spring-data integration.



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


[jira] [Created] (IGNITE-14397) Document spring-transactions integration.

2021-03-25 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-14397:
---

 Summary: Document spring-transactions integration.
 Key: IGNITE-14397
 URL: https://issues.apache.org/jira/browse/IGNITE-14397
 Project: Ignite
  Issue Type: Improvement
Reporter: Mikhail Petrov
Assignee: Mikhail Petrov


It's needed to document Ignite Spring-Transactions integration.



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


[jira] [Created] (IGNITE-14376) JmxMetricExporter fails to export discovery metrics

2021-03-22 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-14376:
---

 Summary: JmxMetricExporter fails to export discovery metrics
 Key: IGNITE-14376
 URL: https://issues.apache.org/jira/browse/IGNITE-14376
 Project: Ignite
  Issue Type: Bug
Reporter: Mikhail Petrov


Reproducer: 
{code:java}
/** {@inheritDoc} */
@Override protected IgniteConfiguration getConfiguration(String 
igniteInstanceName) throws Exception {
IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName);

JmxMetricExporterSpi jmxSpi = new JmxMetricExporterSpi();

cfg.setMetricExporterSpi(jmxSpi);

return cfg;
}

/** */
@Test
public void test() throws Exception {
IgniteEx srv = startGrid();
DynamicMBean mBean = metricRegistry(srv.name(), "io", "discovery");

mBean.getMBeanInfo();
}

{code}
The main reason: JMX exporter assumes that each metric must starts with the 
name of the registry  it belongs to, but discovery metrics do not obey this 
naming convection -see TcpDiscoveryStatistics/ZookeeperDiscoveryStatistics



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


[jira] [Created] (IGNITE-14335) Merge APIs of IgniteAuthenticationProcessor and IgniteSecurity

2021-03-17 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-14335:
---

 Summary: Merge APIs  of IgniteAuthenticationProcessor and 
IgniteSecurity 
 Key: IGNITE-14335
 URL: https://issues.apache.org/jira/browse/IGNITE-14335
 Project: Ignite
  Issue Type: Improvement
Reporter: Mikhail Petrov
Assignee: Mikhail Petrov


It's proposed to:
1. Make an IgniteAuthenticationProcessor implement GridSecurityProcessor 
interface.
2. Remove duplication of security checks and leave IgniteSecurity as a single 
security API.
3. Remove the AuthorizationContext completely as IgniteSecurity provides an API 
for storing and managing the security contexts.
4. Extend GridSecurityPlugin interface with methods that provide ability to 
manage security users to support existing commands available for authentication 
processor - alter/drop/create through SQL and REST.



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


[jira] [Created] (IGNITE-14301) Authentication processor can hang all user management operation after server node reconnect

2021-03-10 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-14301:
---

 Summary: Authentication processor can hang all user management 
operation after server node reconnect
 Key: IGNITE-14301
 URL: https://issues.apache.org/jira/browse/IGNITE-14301
 Project: Ignite
  Issue Type: Bug
Reporter: Mikhail Petrov


First for all look at the test - 
AuthenticationProcessorNodeRestartTest#testConcurrentAddUpdateRemoveNodeRestartServer
 - [TC 
history|https://ci.ignite.apache.org/project.html?projectId=IgniteTests24Java8=-8873434544416175780=testDetails]

The first problem with this test is that user management 
operations(add/update/remove) create too many discovery messages. So discovery 
custom message history size is not enough to properly skip duplicated custom 
messages that can be sent across the ring during server node reconnect. It 
leads to test failures due to duplication of user management operations (see 
GridDiscoveryManager#discoCacheHist, IGNITE_DISCOVERY_HISTORY_SIZE system 
property, and ServerImpl.RingMessageWorker#sendMessageAcrossRing).

If the discovery history size will be increased significantly, the test stops 
failing and starts hanging. The steps that lead to this:
 1. Client node sent UserProposedMessage across the ring while one node is 
offline due to reconnect. 
 2. Alive server nodes update their local user lists and finish the operation. 
 3. Reconnected node joins the ring and receives an updated user list from the 
coordinator.
 4. Reconnected node receives duplicated UserProposedMessage that has been 
already handled by all nodes, handles it, and sents 
UserManagementOperationFinishedMessage to the coordinator and start to wait for 
the UserAcceptedMessage from it. But the coordinator has already finished this 
operation. So the thread that responsible for user management operation on the 
reconnected node becomes blocked (see 
IgniteAuthenticationProcessor.UserOperationWorker#body).
 5. Client node starts the next operation that needs all alive nodes to respond 
with UserManagementOperationFinishedMessage. But reconnected node 
authentication thread is blocked. So this operation can't be completed at all.



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


[jira] [Created] (IGNITE-14264) Ignite extensions: Ignite client cache manager may create cache with incorrect name

2021-03-02 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-14264:
---

 Summary: Ignite extensions: Ignite client cache manager may create 
cache with incorrect name  
 Key: IGNITE-14264
 URL: https://issues.apache.org/jira/browse/IGNITE-14264
 Project: Ignite
  Issue Type: Bug
Reporter: Mikhail Petrov
Assignee: Mikhail Petrov
 Attachments: image-2021-03-02-13-43-04-186.png

During concurrent  cache creation and calling getDynamicCacheConfiguration by 
IgniteClientCacheManager it is possible that the cache name will not be set 
correctly. To solve this problem, it is suggested to copy the dynamic cache 
configuration every time.



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


[jira] [Created] (IGNITE-14257) Add copy constructor to ClientCacheConfiguration

2021-02-28 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-14257:
---

 Summary: Add copy constructor to ClientCacheConfiguration 
 Key: IGNITE-14257
 URL: https://issues.apache.org/jira/browse/IGNITE-14257
 Project: Ignite
  Issue Type: Improvement
Reporter: Mikhail Petrov


It's proposed to add copy constructor to ClientCacheConfiguration  class. This 
will make it possible to conveniently create a configuration based on the 
provided template.



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


[jira] [Created] (IGNITE-14251) Ignite extension: refactor usage of proxy classes and their names

2021-02-26 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-14251:
---

 Summary: Ignite extension: refactor usage of proxy classes and 
their names
 Key: IGNITE-14251
 URL: https://issues.apache.org/jira/browse/IGNITE-14251
 Project: Ignite
  Issue Type: Improvement
Reporter: Mikhail Petrov
Assignee: Mikhail Petrov


It's proposed to change names of the following proxy classes to make them more 
consistent:

IgniteProxyImpl -> IgniteNodeProxy 
ClosableIgniteProxyImpl -> ClosableIgniteNodeProxy

IgniteCacheClientProxy -> IgniteClientCacheProxu

 

It's also proposed to reuse ignite-spring-data-commons module in 
ignite-spring-tx-ext tests as ClientCacheProxy and IgniteCacheProxy duplicate 
existing IgniteCacheProxy functionality.

 



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


[jira] [Created] (IGNITE-14249) Ignite extensions: Flaky IgniteSourceConnectorTest.testEventsInjectedIntoKafkaWithoutFilter test

2021-02-26 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-14249:
---

 Summary: Ignite extensions: Flaky 
IgniteSourceConnectorTest.testEventsInjectedIntoKafkaWithoutFilter test
 Key: IGNITE-14249
 URL: https://issues.apache.org/jira/browse/IGNITE-14249
 Project: Ignite
  Issue Type: Test
Reporter: Mikhail Petrov


IgniteSourceConnectorTest.testEventsInjectedIntoKafkaWithoutFilter is flaky. 
See [TC 
build|https://ci.ignite.apache.org/viewLog.html?buildId=5892624=buildResultsDiv=IgniteExtensions_Tests_Kafka#testNameId788555262623894619]



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


[jira] [Created] (IGNITE-14213) Ignite extensions: javadoc ignitelink tag is unsupported

2021-02-19 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-14213:
---

 Summary: Ignite extensions: javadoc ignitelink tag is unsupported 
 Key: IGNITE-14213
 URL: https://issues.apache.org/jira/browse/IGNITE-14213
 Project: Ignite
  Issue Type: Bug
Reporter: Mikhail Petrov


"ignitelink" tag is not processed in Ignite extensions (only processed in 
Ignite), we should think about how to replace it.



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


[jira] [Created] (IGNITE-14150) Update version of surefire plugin in ignite-extensions

2021-02-09 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-14150:
---

 Summary: Update version of surefire plugin in ignite-extensions
 Key: IGNITE-14150
 URL: https://issues.apache.org/jira/browse/IGNITE-14150
 Project: Ignite
  Issue Type: Bug
Reporter: Mikhail Petrov
Assignee: Mikhail Petrov


It's needed to update version of surefire plugin in ignite-extensions to 
3.0.0-M4. 

Mismatch of surefire plugin version between ignite-tools and ignite-extensions 
causes the following error during tests execution:
{code:java}
java.lang.NoSuchMethodError: 
org.apache.maven.surefire.report.SimpleReportEntry.withException(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/apache/maven/surefire/report/StackTraceWriter;)Lorg/apache/maven/surefire/report/SimpleReportEntry;
at 
org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)
at 
org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:273)
at 
org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)
at 
org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)
{code}
 



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


[jira] [Created] (IGNITE-14146) Migrate Spring Cache integration to igntie-extensions

2021-02-09 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-14146:
---

 Summary: Migrate Spring Cache integration to igntie-extensions
 Key: IGNITE-14146
 URL: https://issues.apache.org/jira/browse/IGNITE-14146
 Project: Ignite
  Issue Type: Improvement
Reporter: Mikhail Petrov
Assignee: Mikhail Petrov


It's needed to migrate Spring Cache integration to ignite-extensions repository.
 



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


[jira] [Created] (IGNITE-14030) Java thin client: Add containsKeys, clearKey, clearKeys and getAndPutIfAbsent operations to API

2021-01-21 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-14030:
---

 Summary: Java thin client: Add containsKeys, clearKey, clearKeys 
and getAndPutIfAbsent operations to API
 Key: IGNITE-14030
 URL: https://issues.apache.org/jira/browse/IGNITE-14030
 Project: Ignite
  Issue Type: Improvement
Reporter: Mikhail Petrov
Assignee: Mikhail Petrov


It's needed to add containsKeys, clearKey, clearKeys and getAndPutIfAbsent 
operations to  java thin client API.



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


[jira] [Created] (IGNITE-14015) Tracing SQL: tracing of SELECT queries causes incorrect span inheritance

2021-01-18 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-14015:
---

 Summary: Tracing SQL: tracing of SELECT queries causes incorrect 
span inheritance
 Key: IGNITE-14015
 URL: https://issues.apache.org/jira/browse/IGNITE-14015
 Project: Ignite
  Issue Type: Bug
Reporter: Mikhail Petrov
Assignee: Mikhail Petrov


Execution of SELECT queries with tracing enabled leaves span related to this 
query in MTC#span variable for user thread. So the trace of next operation from 
the user thread will be inherited from span related to previous query 
execution. We must clear MTC#span thread local variable after query execution 
ends.



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


[jira] [Created] (IGNITE-14013) Add documentation for node validation failed event

2021-01-18 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-14013:
---

 Summary: Add documentation for node validation failed event
 Key: IGNITE-14013
 URL: https://issues.apache.org/jira/browse/IGNITE-14013
 Project: Ignite
  Issue Type: Improvement
Reporter: Mikhail Petrov
Assignee: Mikhail Petrov


It's needed to add documentation for  the node validation failed event.



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


[jira] [Created] (IGNITE-14010) Ignite-extensions: KafkaIgniteSteamerSelfTest is flaky

2021-01-18 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-14010:
---

 Summary: Ignite-extensions: KafkaIgniteSteamerSelfTest is flaky
 Key: IGNITE-14010
 URL: https://issues.apache.org/jira/browse/IGNITE-14010
 Project: Ignite
  Issue Type: Bug
Reporter: Mikhail Petrov
Assignee: Mikhail Petrov


KafkaIgniteSteamerSelfTest test is flaky - [TC 
build|https://ci.ignite.apache.org/test/4285346063968224069?currentProjectId=IgniteExtensions_Tests=IgniteExtensions_Tests_Build=].
 It fails with the following error: 
{code:java}
java.lang.AssertionError: Failed to wait latch completion, still wait 100 
events  at 
org.apache.ignite.stream.kafka.KafkaIgniteStreamerSelfTest.consumerStream(KafkaIgniteStreamerSelfTest.java:242)
  at 
org.apache.ignite.stream.kafka.KafkaIgniteStreamerSelfTest.testKafkaStreamer(KafkaIgniteStreamerSelfTest.java:113)
{code}
This needs to be fixed.



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


[jira] [Created] (IGNITE-14009) Ignite-extensions: PubSubStreamerSelfTest is flaky

2021-01-17 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-14009:
---

 Summary: Ignite-extensions: PubSubStreamerSelfTest is flaky
 Key: IGNITE-14009
 URL: https://issues.apache.org/jira/browse/IGNITE-14009
 Project: Ignite
  Issue Type: Bug
Reporter: Mikhail Petrov


PubSubStreamerSelfTest is flaky -  [TC 
build|https://ci.ignite.apache.org/test/-1227012852016489408?currentProjectId=IgniteExtensions_Tests=IgniteExtensions_Tests_Build=pull%2F34%2F].
 This needs to be fixed. 



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


[jira] [Created] (IGNITE-14007) Ignite-extensions: ignite-kafka integration test suite fails TC build

2021-01-17 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-14007:
---

 Summary: Ignite-extensions: ignite-kafka integration test suite 
fails TC build
 Key: IGNITE-14007
 URL: https://issues.apache.org/jira/browse/IGNITE-14007
 Project: Ignite
  Issue Type: Bug
Reporter: Mikhail Petrov
Assignee: Mikhail Petrov


JVM exits with code 130 during ignite-kafka-ext:IgniteSourceConnectorTest 
execution that causes TC build failure - [TC 
build|https://ci.ignite.apache.org/buildConfiguration/IgniteExtensions_Tests_Build/5831371?showLog=5831371_14949_1587.14949=debug]

It happens because 
 1. Started in FlinkIgniteSunkSelfTest ignite instance remains unclosed. And 
since it s started in separate test suite it is not closed automatically by 
Ignite test framework since maven surefire plugin uses different classloaders 
to load classes from different test suites.
 2. Extra node causes error in marshalling of remote event filter because of  
[IGNITE-14006]|https://issues.apache.org/jira/browse/IGNITE-14006]



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


[jira] [Created] (IGNITE-14006) Node fails with assertion error during event listener registration

2021-01-17 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-14006:
---

 Summary: Node fails with assertion error during event listener 
registration
 Key: IGNITE-14006
 URL: https://issues.apache.org/jira/browse/IGNITE-14006
 Project: Ignite
  Issue Type: Bug
Reporter: Mikhail Petrov


Node fails with assertion error during event listener registration from client 
node in case the remote filter class is missing on one or more server nodes:
{code:java}
[2021-01-17 
15:49:00,313][ERROR][disco-notifier-worker-#83%continuous.CacheContinuousQueryExternalNodeFilterTest1%][IgniteTestResources]
 Critical system error detected. Will be handled accordingly to configured 
handler [hnd=StopNodeOrHaltFailureHandler [tryStop=false, timeout=0, 
super=AbstractFailureHandler [ignoredFailureTypes=UnmodifiableSet 
[SYSTEM_WORKER_BLOCKED, SYSTEM_CRITICAL_OPERATION_TIMEOUT]]], 
failureCtx=FailureContext [type=SYSTEM_WORKER_TERMINATION, 
err=java.lang.AssertionError]]
java.lang.AssertionError
at 
org.apache.ignite.internal.processors.continuous.GridContinuousProcessor$LocalRoutineInfo.(GridContinuousProcessor.java:2117)
at 
org.apache.ignite.internal.processors.continuous.GridContinuousProcessor.processStartRequest(GridContinuousProcessor.java:1447)
at 
org.apache.ignite.internal.processors.continuous.GridContinuousProcessor.access$400(GridContinuousProcessor.java:117)
at 
org.apache.ignite.internal.processors.continuous.GridContinuousProcessor$2.onCustomEvent(GridContinuousProcessor.java:220)
at 
org.apache.ignite.internal.processors.continuous.GridContinuousProcessor$2.onCustomEvent(GridContinuousProcessor.java:211)
at 
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$4.onDiscovery0(GridDiscoveryManager.java:670)
at 
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$4.lambda$onDiscovery$0(GridDiscoveryManager.java:533)
at 
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryMessageNotifierWorker.body0(GridDiscoveryManager.java:2635)
at 
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryMessageNotifierWorker.body(GridDiscoveryManager.java:2673)
at 
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
at java.lang.Thread.run(Thread.java:748)
{code}
Reproducer:
{code:java}
/** */
public class CacheContinuousQueryExternalNodeFilterTest extends 
GridCommonAbstractTest {
/** */
private static final String EXT_EVT_FILTER_CLS = 
"org.apache.ignite.tests.p2p.TestPredicate";

/** */
private static final URL[] URLS;

static {
try {
URLS = new URL[] {new URL(getProperty("p2p.uri.cls.second"))};
}
catch (MalformedURLException e) {
throw new RuntimeException(e);
}
}

/** */
private final ClassLoader extLdr = getExternalClassLoader();

/** */
private final ClassLoader secondExtLdr = new URLClassLoader(URLS, 
U.gridClassLoader());

/** {@inheritDoc} */
@Override protected IgniteConfiguration getConfiguration(String 
igniteInstanceName) throws Exception {
IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName);

cfg.setPeerClassLoadingEnabled(false);

cfg.setFailureHandler(new StopNodeOrHaltFailureHandler());

if (getTestIgniteInstanceName(0).equals(igniteInstanceName))
cfg.setClassLoader(secondExtLdr);
else
cfg.setClassLoader(extLdr);

return cfg;
}

/** */
@Test
public void test() throws Exception {
startGrids(2);

IgniteEx cli = startClientGrid(2);

extLdr.loadClass(EXT_EVT_FILTER_CLS);

Class> rmtFilter = 
(Class>)extLdr
.loadClass(EXT_EVT_FILTER_CLS);

try {
cli.events().remoteListen(null, rmtFilter.newInstance(), 
EVT_CACHE_OBJECT_PUT);
}
catch (Throwable ignored) {
// No-op.
}

// waits for all node to handle an error occurred during processing of 
StartRoutineDiscoveryMessage
U.sleep(3000);
}
}
{code}
To run the mentioned above reproducer place the following class to 
modules/extdata/p2p/src/main/java/org/apache/ignite/tests/p2p/
{code:java}
/** */
public class CacheEventPredicate implements IgnitePredicate {
/** {@inheritDoc} */
@Override public boolean apply(CacheEvent evt) {
return false;
}
}
{code}
and rebuild modules/extdata/p2p module.

 



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


[jira] [Created] (IGNITE-13993) Ignite-extensions: Change version of Ignite dependency to 2.11.0

2021-01-14 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-13993:
---

 Summary: Ignite-extensions: Change version of Ignite dependency to 
2.11.0
 Key: IGNITE-13993
 URL: https://issues.apache.org/jira/browse/IGNITE-13993
 Project: Ignite
  Issue Type: Bug
Reporter: Mikhail Petrov
Assignee: Mikhail Petrov


It's needed to change version of Ignite dependency to 2.11.0-SNAPSHOT. Now it 
causes TC ignite-extensions build failure.



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


[jira] [Created] (IGNITE-13992) Migrate spring-transactions integration to ignite-extensions

2021-01-14 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-13992:
---

 Summary: Migrate spring-transactions integration to 
ignite-extensions
 Key: IGNITE-13992
 URL: https://issues.apache.org/jira/browse/IGNITE-13992
 Project: Ignite
  Issue Type: Improvement
Reporter: Mikhail Petrov
Assignee: Mikhail Petrov


It's needed to migrate spring-transactions integration to ignite-extensions 
repository.



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


[jira] [Created] (IGNITE-13981) Documentation: SQL tracing.

2021-01-12 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-13981:
---

 Summary: Documentation: SQL tracing.
 Key: IGNITE-13981
 URL: https://issues.apache.org/jira/browse/IGNITE-13981
 Project: Ignite
  Issue Type: Improvement
Reporter: Mikhail Petrov
Assignee: Mikhail Petrov






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


[jira] [Created] (IGNITE-13902) Add IgniteClient Spring Bean wrapper

2020-12-24 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-13902:
---

 Summary: Add IgniteClient Spring Bean wrapper
 Key: IGNITE-13902
 URL: https://issues.apache.org/jira/browse/IGNITE-13902
 Project: Ignite
  Issue Type: Improvement
Reporter: Mikhail Petrov


It's  needed to add IgniteClient wrapper to provide convenient way to start 
thin client as Spring Bean. The same functionality is already present for the 
Ignite node - IgniteSpringBean.



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


[jira] [Created] (IGNITE-13769) Add examples of using the Ignite Spring Data thin client integration.

2020-11-27 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-13769:
---

 Summary:  Add examples of using the Ignite Spring Data thin client 
integration.
 Key: IGNITE-13769
 URL: https://issues.apache.org/jira/browse/IGNITE-13769
 Project: Ignite
  Issue Type: Improvement
Reporter: Mikhail Petrov
Assignee: Mikhail Petrov


It's needed to add examples of using the Ignite Spring Data thin client 
integration.



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


[jira] [Created] (IGNITE-13768) Provide documentation on using the Spring Data integration with thin client.

2020-11-27 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-13768:
---

 Summary:  Provide documentation on using the Spring Data 
integration with thin client.
 Key: IGNITE-13768
 URL: https://issues.apache.org/jira/browse/IGNITE-13768
 Project: Ignite
  Issue Type: Improvement
Reporter: Mikhail Petrov
Assignee: Mikhail Petrov


It's needed to provide documentation on using the Spring Data integration with 
thin client.



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


[jira] [Created] (IGNITE-13722) Ignite Spring Data: Ignite resources are not closed properly when closing Spring context.

2020-11-18 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-13722:
---

 Summary: Ignite Spring Data: Ignite resources are not closed 
properly when closing Spring context.
 Key: IGNITE-13722
 URL: https://issues.apache.org/jira/browse/IGNITE-13722
 Project: Ignite
  Issue Type: Improvement
Reporter: Mikhail Petrov
Assignee: Mikhail Petrov


It's needed to properly close Ignite thin/thick client that is used for 
accessing the ignite cluster by Spring Data when closing Spring context.



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


[jira] [Created] (IGNITE-13708) Add thin client support for Spring Transactions.

2020-11-16 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-13708:
---

 Summary: Add thin client support for Spring Transactions.
 Key: IGNITE-13708
 URL: https://issues.apache.org/jira/browse/IGNITE-13708
 Project: Ignite
  Issue Type: Improvement
Reporter: Mikhail Petrov


It's needed to add thin client support for Spring Transactions. 



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


[jira] [Created] (IGNITE-13647) Spring Data: Avoid creation of cache object through reflection when _VAL field is present in query.

2020-11-01 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-13647:
---

 Summary: Spring Data: Avoid creation of cache object through 
reflection when _VAL field is present in query.
 Key: IGNITE-13647
 URL: https://issues.apache.org/jira/browse/IGNITE-13647
 Project: Ignite
  Issue Type: Improvement
Reporter: Mikhail Petrov


It's needed to avoid creation of cache object through reflection in case VAL 
field is present in query and corresponding repository method returns objects 
of cache value type.

 



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


[jira] [Created] (IGNITE-13624) Extend tracing of communication socket write with number of sent bytes.

2020-10-26 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-13624:
---

 Summary: Extend tracing of communication socket write with number 
of sent bytes.
 Key: IGNITE-13624
 URL: https://issues.apache.org/jira/browse/IGNITE-13624
 Project: Ignite
  Issue Type: Improvement
Reporter: Mikhail Petrov
Assignee: Mikhail Petrov
 Fix For: 2.10


It's needed to extend tracing of communication socket write with number of sent 
bytes.



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


[jira] [Created] (IGNITE-13621) Remove dependency of spring-data modules on Ignite version

2020-10-23 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-13621:
---

 Summary: Remove dependency of spring-data modules on Ignite version
 Key: IGNITE-13621
 URL: https://issues.apache.org/jira/browse/IGNITE-13621
 Project: Ignite
  Issue Type: Sub-task
Reporter: Mikhail Petrov


It's needed to remove dependency of spring-data modules on Ignite version.



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


[jira] [Created] (IGNITE-13559) Migrate spring-data modules to ignite-extensions.

2020-10-08 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-13559:
---

 Summary: Migrate spring-data modules to ignite-extensions.
 Key: IGNITE-13559
 URL: https://issues.apache.org/jira/browse/IGNITE-13559
 Project: Ignite
  Issue Type: Improvement
Reporter: Mikhail Petrov


It's needed to migrate spring data modules to ignite-extensions repository.



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


[jira] [Created] (IGNITE-13519) Add thin client support for Spring Data.

2020-10-05 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-13519:
---

 Summary: Add thin client support for Spring Data.
 Key: IGNITE-13519
 URL: https://issues.apache.org/jira/browse/IGNITE-13519
 Project: Ignite
  Issue Type: Improvement
Reporter: Mikhail Petrov
Assignee: Mikhail Petrov


It's needed to add thin client support for Spring Data.



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


[jira] [Created] (IGNITE-13488) Add command to control.(sh|bin) to get an arbitrary Metric

2020-09-27 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-13488:
---

 Summary: Add command to control.(sh|bin) to get an arbitrary Metric
 Key: IGNITE-13488
 URL: https://issues.apache.org/jira/browse/IGNITE-13488
 Project: Ignite
  Issue Type: Improvement
Reporter: Mikhail Petrov


It's needed to add the ability to get an arbitrary Metric via control.(sh|bin) 
script.

Proposed command structure:

control.(sh|bin) --metric [–node-id node_id] metric_name

Parameters:
metric_name  - Name of the metric which value is requested.

node_id- ID of the node to get the metric value 
from.
  If not set, random node will be 
chosen.



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


[jira] [Created] (IGNITE-13477) Fix NPE in SQL tracing implementation.

2020-09-23 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-13477:
---

 Summary: Fix NPE in SQL tracing implementation.
 Key: IGNITE-13477
 URL: https://issues.apache.org/jira/browse/IGNITE-13477
 Project: Ignite
  Issue Type: Improvement
Reporter: Mikhail Petrov


MTC.support() can return null. So it's needed to check result of this method 
while in not try/catch block for null. 



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


[jira] [Created] (IGNITE-13456) Expand info collected during tracing of SQL queries.

2020-09-17 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-13456:
---

 Summary: Expand info collected during tracing of SQL queries.
 Key: IGNITE-13456
 URL: https://issues.apache.org/jira/browse/IGNITE-13456
 Project: Ignite
  Issue Type: Improvement
Reporter: Mikhail Petrov
Assignee: Mikhail Petrov
 Fix For: 2.10


It's needed to expand info that collected during tracing of SQL queries. 
The following info must be collected:
* partition reservation (set of reserved partitions);
* page / message size in bytes;
* query parse info: cached query parse result or real parse.



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


[jira] [Created] (IGNITE-13426) Add command to control.(sh|bin) to get an arbitrary SystemView

2020-09-10 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-13426:
---

 Summary: Add command to control.(sh|bin) to get an arbitrary 
SystemView
 Key: IGNITE-13426
 URL: https://issues.apache.org/jira/browse/IGNITE-13426
 Project: Ignite
  Issue Type: Improvement
Reporter: Mikhail Petrov
Assignee: Mikhail Petrov
 Fix For: 2.10


It's needed to add the ability to get an arbitrary SystemView via 
control.(sh|bin) script.

Proposed command structure:

control.(sh|bin) --systemView [nodeId] system_view_name

Parameters:
 system_view_name  - Name of the system view which value is requested. 
                                          Both "SQL" and "common" styles of 
system view name are supported
                                          (e.g. SQL_TABLES and sql.tables will 
be handled similarly).

nodeId                          - ID of the node to get the system view from. 
                                          Optional parameter. If not set, 
random node will be chosen.



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


[jira] [Created] (IGNITE-13361) SQL Select query hangs during cursor iteration.

2020-08-14 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-13361:
---

 Summary: SQL Select query hangs during cursor iteration.
 Key: IGNITE-13361
 URL: https://issues.apache.org/jira/browse/IGNITE-13361
 Project: Ignite
  Issue Type: Bug
Reporter: Mikhail Petrov


The following test hangs intermittently (once for 4-5 runs) on my laptop 
(Ubuntu 20.04, i7-8565u, 16gb RAM). The cursor iteration randomly hangs on the 
stage of waiting for the next page from the remote node.
{code:java}
/** */
public static final int NODES_CNT = 2;

/** */
public static final int TABLE_POPULATION = 2000;

/** */
public static final int SELECT_RANGE = 1000;

/** */
public static final int QRY_PAGE_SIZE = 5;

/** */
@Test
public void test() throws Exception {
for (int i = 0; i < NODES_CNT; i++)
startGrid(i, false);

IgniteEx cli = startGrid(NODES_CNT, true);

GridQueryProcessor qryProc = cli.context().query();

qryProc.querySqlFields(
new SqlFieldsQuery("CREATE TABLE test_table (id LONG PRIMARY KEY, 
val LONG)"), false);

qryProc.querySqlFields(new SqlFieldsQuery("CREATE INDEX val_idx ON 
test_table (val)"), false);

for (long l = 0; l < TABLE_POPULATION; ++l) {
qryProc.querySqlFields(
new SqlFieldsQuery("INSERT INTO test_table (id, val) VALUES (?, 
?)").setArgs(l, l),
true
);
}

for (int i = 0; i < 1 ; i++) {
long lowId = ThreadLocalRandom.current().nextLong(TABLE_POPULATION 
- SELECT_RANGE);

long highId = lowId + SELECT_RANGE;

try (
FieldsQueryCursor> cursor = cli
.context().query().querySqlFields(
new SqlFieldsQuery("SELECT id, val FROM test_table 
WHERE id BETWEEN ? and ?")
.setArgs(lowId, highId)
.setPageSize(QRY_PAGE_SIZE),
false
)
) {
cursor.iterator().forEachRemaining(val -> {});
}
}
}

/** */
private IgniteEx startGrid(int idx, boolean clientMode) throws Exception {
return (IgniteEx) Ignition.start(new IgniteConfiguration()
.setIgniteInstanceName("node-" + idx)
.setGridLogger(new 
Log4JLogger("modules/core/src/test/config/log4j-test.xml"))
.setClientMode(clientMode));
}
{code}



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


[jira] [Created] (IGNITE-13310) Add SQL tracing.

2020-07-30 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-13310:
---

 Summary: Add SQL tracing.
 Key: IGNITE-13310
 URL: https://issues.apache.org/jira/browse/IGNITE-13310
 Project: Ignite
  Issue Type: Improvement
Reporter: Mikhail Petrov
 Fix For: 2.10


It's needed to add SQL tracing  based on the tracing framework that was added 
as part of the [IGNITE-13060|https://issues.apache.org/jira/browse/IGNITE-13060]



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


[jira] [Created] (IGNITE-12925) Flaky test SystemViewSelfTest.testContinuousQuery.

2020-04-21 Thread Mikhail Petrov (Jira)
Mikhail Petrov created IGNITE-12925:
---

 Summary: Flaky test SystemViewSelfTest.testContinuousQuery.
 Key: IGNITE-12925
 URL: https://issues.apache.org/jira/browse/IGNITE-12925
 Project: Ignite
  Issue Type: Test
Reporter: Mikhail Petrov


It is needed to fix SystemViewSelfTest.testContinuousQuery test, which is flaky 
– [TC 
history|https://ci.ignite.apache.org/project.html?projectId=IgniteTests24Java8=2075278944640125900=testDetails_IgniteTests24Java8=pull%2F7696%2Fhead].

It seems that QueryCursor#close method 
 gives no guarantees that CQ routine will be cleared from all nodes before its 
returning. This behavior is due to StopRoutineDiscoveryMessage is immutable and 
so StopRoutineAckDiscoveryMessage can be received (QueryCoursor#close method 
returns) before GridContinuousProcessor#processStopRequest completion on all 
nodes.



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