[jira] [Created] (IGNITE-14292) Change permissions required to create/destroy caches in GridRestProcessor

2021-03-09 Thread Andrey Kuznetsov (Jira)
Andrey Kuznetsov created IGNITE-14292:
-

 Summary: Change permissions required to create/destroy caches in 
GridRestProcessor
 Key: IGNITE-14292
 URL: https://issues.apache.org/jira/browse/IGNITE-14292
 Project: Ignite
  Issue Type: Improvement
  Components: security
Affects Versions: 2.9.1
Reporter: Andrey Kuznetsov


{{GridRestProcessor}} authorizes {{ADMIN_CACHE}} permission before cache 
creation/destruction. This is inconsistent with thin client connector behavior 
and looks counterintuitive. {{ADMIN_CACHE}} should be replaced with 
{{CACHE_CREATE}} and {{CACHE_DESTROY}}.



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


[jira] [Created] (IGNITE-14207) Access to system views is not controlled by security processor

2021-02-18 Thread Andrey Kuznetsov (Jira)
Andrey Kuznetsov created IGNITE-14207:
-

 Summary: Access to system views is not controlled by security 
processor
 Key: IGNITE-14207
 URL: https://issues.apache.org/jira/browse/IGNITE-14207
 Project: Ignite
  Issue Type: Bug
Affects Versions: 2.9.1
Reporter: Andrey Kuznetsov


As of now, it is impossible to restrict access to system views (SYS scheme) 
with {{IgniteSecurityProcessor}}; this should be fixed.

Suggestions:
- add new {{SecurityPermission}};
- authorize this permission before accessing any system view.




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


[jira] [Created] (IGNITE-14160) Issue log warning when GridNioSslHandler.handshake() takes too long

2021-02-10 Thread Andrey Kuznetsov (Jira)
Andrey Kuznetsov created IGNITE-14160:
-

 Summary: Issue log warning when GridNioSslHandler.handshake() 
takes too long
 Key: IGNITE-14160
 URL: https://issues.apache.org/jira/browse/IGNITE-14160
 Project: Ignite
  Issue Type: Task
Affects Versions: 2.9.1
Reporter: Andrey Kuznetsov


This will be helpful in investigating client connectivity/performance issues.
Threshold duration can be just a reasonable constant, say, 1 second.



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


[jira] [Created] (IGNITE-13505) WalCompactionAfterRestartTest fails stabilly

2020-10-01 Thread Andrey Kuznetsov (Jira)
Andrey Kuznetsov created IGNITE-13505:
-

 Summary: WalCompactionAfterRestartTest fails stabilly
 Key: IGNITE-13505
 URL: https://issues.apache.org/jira/browse/IGNITE-13505
 Project: Ignite
  Issue Type: Bug
Affects Versions: 2.8.1
Reporter: Andrey Kuznetsov
Assignee: Andrey Kuznetsov


And also, the test is not included to any test suite.



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


[jira] [Created] (IGNITE-12832) Add user attributes support to control.sh

2020-03-23 Thread Andrey Kuznetsov (Jira)
Andrey Kuznetsov created IGNITE-12832:
-

 Summary: Add user attributes support to control.sh
 Key: IGNITE-12832
 URL: https://issues.apache.org/jira/browse/IGNITE-12832
 Project: Ignite
  Issue Type: Improvement
Affects Versions: 2.8
Reporter: Andrey Kuznetsov


Change [1] introduced user attributes for various thin clients. 
{{control.sh|bat}} script uses {{GridClient}} to connect to cluster, but it's 
impossible to set user attributes in corresponding {{GridClientConfiguration}} 
currenly. I suggest to add such an ability by adding 
{{--attr-some-attr-name=attrValue}} command line option.

To prevent command line pollution I also suggest to implement {{.properties}} 
file support, so that command line arguments (including {{--attr*}} arguments) 
could be hidden in a file specified by {{--config filename.properties}}. In 
case of duplication explicit command line arguments should take precedence over 
arguments set in {{.properties}} file.

[1] https://issues.apache.org/jira/browse/IGNITE-12049



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


[jira] [Created] (IGNITE-12744) Add user attributes to GridRestRequest creation routine

2020-03-03 Thread Andrey Kuznetsov (Jira)
Andrey Kuznetsov created IGNITE-12744:
-

 Summary: Add user attributes to GridRestRequest creation routine
 Key: IGNITE-12744
 URL: https://issues.apache.org/jira/browse/IGNITE-12744
 Project: Ignite
  Issue Type: Improvement
  Components: rest
Affects Versions: 2.8
Reporter: Andrey Kuznetsov


Improvement [1] has added user attributes support to Ignite thin clients. REST 
API connections should also support this feature: 
{{GridJettyRestHandler.createRequest}} can read user attributes from HTTP 
request parameters.

[1] https://issues.apache.org/jira/browse/IGNITE-12049



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


[jira] [Created] (IGNITE-12718) Python Thin Client: add an ability to specify keyfile password

2020-02-26 Thread Andrey Kuznetsov (Jira)
Andrey Kuznetsov created IGNITE-12718:
-

 Summary: Python Thin Client: add an ability to specify keyfile 
password
 Key: IGNITE-12718
 URL: https://issues.apache.org/jira/browse/IGNITE-12718
 Project: Ignite
  Issue Type: Improvement
  Components: thin client
Affects Versions: 2.8
Reporter: Andrey Kuznetsov


In pyignite, there is no way to specify password for keyfile being used to 
establish TLS connection to Ignite cluster. If keyfile is encrypted, then 
OpenSSL library prompts for password interactively.

In order to add configurable password, one can set up explicit {{SSLContext}} 
instead of {{ssl.wrap_socket}} call.



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


[jira] [Created] (IGNITE-12304) All DataRegionMetrics should be documented

2019-10-21 Thread Andrey Kuznetsov (Jira)
Andrey Kuznetsov created IGNITE-12304:
-

 Summary: All DataRegionMetrics should be documented
 Key: IGNITE-12304
 URL: https://issues.apache.org/jira/browse/IGNITE-12304
 Project: Ignite
  Issue Type: Task
  Components: documentation
Reporter: Andrey Kuznetsov
 Fix For: 2.8


All metrics added to {{DataRegionMetrics}} interface by [1] should be 
documented.

[1] https://issues.apache.org/jira/browse/IGNITE-8078



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


[jira] [Created] (IGNITE-12220) Allow to use cache-related permissions both at system and per-cache levels

2019-09-23 Thread Andrey Kuznetsov (Jira)
Andrey Kuznetsov created IGNITE-12220:
-

 Summary: Allow to use cache-related permissions both at system and 
per-cache levels
 Key: IGNITE-12220
 URL: https://issues.apache.org/jira/browse/IGNITE-12220
 Project: Ignite
  Issue Type: Task
  Components: security
Affects Versions: 2.7.6
Reporter: Andrey Kuznetsov
Assignee: Andrey Kuznetsov
 Fix For: 2.8


Currently, {{CACHE_CREATE}} and {{CACHE_DESTROY}} permissions are enforced to 
be system-level permissions, see for instance 
{{SecurityPermissionSetBuilder#appendCachePermissions}}. This looks inflexible: 
Ignite Security implementations are not able to manage cache creation and 
deletion permissions on per-cache basis (unlike get/put/remove permissions). 
All such limitations should be found and removed on order to allow all 
{{CACHE_*}} permissions to be set both at system and per-cache levels.



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


[jira] [Created] (IGNITE-11286) Add console prompt for password in control.(sh|bat) script

2019-02-11 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-11286:
-

 Summary: Add console prompt for password in control.(sh|bat) script
 Key: IGNITE-11286
 URL: https://issues.apache.org/jira/browse/IGNITE-11286
 Project: Ignite
  Issue Type: Task
Affects Versions: 2.7
Reporter: Andrey Kuznetsov
Assignee: Andrey Kuznetsov


For security reasons we are to add interactive alternative to {{--password}}. 
Other password-related options already have this alternative, see [1].

[1] https://jira.apache.org/jira/browse/IGNITE-10257



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-11268) Unable to run control.bat or ignite.bat from Ignite source tree with compiled classes

2019-02-08 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-11268:
-

 Summary: Unable to run control.bat or ignite.bat from Ignite 
source tree with compiled classes
 Key: IGNITE-11268
 URL: https://issues.apache.org/jira/browse/IGNITE-11268
 Project: Ignite
  Issue Type: Bug
Reporter: Andrey Kuznetsov


Under Windows, {{control}} and {{ignite}} scripts collect Java classpath value 
from {{%IGNITE_HOME%\modules\*\target}} directories into a variable. Batch 
script variable length is limited to 8k characters, and this leads to error 
when there are many compiled/packaged modules in a source tree.

Possible (yet imperfect) solutions:
- Limit modules list to some minimal required sublist.
- Create Class-Path-header-only jar "on the fly".
- (Java 9+ only) Generate command-line arguments file, see [1].

[1] 
https://docs.oracle.com/javase/9/tools/java.htm#JSWOR-GUID-4856361B-8BFD-4964-AE84-121F5F6CF111



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-11267) Print Warn user when keystore password arguments

2019-02-08 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-11267:
-

 Summary: Print Warn user when keystore password arguments
 Key: IGNITE-11267
 URL: https://issues.apache.org/jira/browse/IGNITE-11267
 Project: Ignite
  Issue Type: Bug
Reporter: Andrey Kuznetsov






--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-10813) Run CheckpointReadLockFailureTest with JUnit4 runner

2018-12-25 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-10813:
-

 Summary: Run CheckpointReadLockFailureTest with JUnit4 runner
 Key: IGNITE-10813
 URL: https://issues.apache.org/jira/browse/IGNITE-10813
 Project: Ignite
  Issue Type: Bug
Reporter: Andrey Kuznetsov
Assignee: Andrey Kuznetsov


The test fails on TeamCity. Should be run in JUnit4 manner.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-10079) FileWriteAheadLogManager may return invalid lastCompactedSegment

2018-10-31 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-10079:
-

 Summary: FileWriteAheadLogManager may return invalid 
lastCompactedSegment
 Key: IGNITE-10079
 URL: https://issues.apache.org/jira/browse/IGNITE-10079
 Project: Ignite
  Issue Type: Bug
  Components: persistence
Reporter: Andrey Kuznetsov
Assignee: Andrey Kuznetsov
 Fix For: 2.8
 Attachments: WalCompactionAfterRestartTest.java

As of current {{master}} branch, 
{{FileWriteAheadLogManager#lastCompactedSegment}} may report -1 even after some 
segments have been actually compressed. Reproducer is attached.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-10003) Raise SYSTEM_WORKER_BLOCKED instead of CRITICAL_ERROR when checkpoint read lock timeout detected

2018-10-25 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-10003:
-

 Summary: Raise SYSTEM_WORKER_BLOCKED instead of CRITICAL_ERROR 
when checkpoint read lock timeout detected
 Key: IGNITE-10003
 URL: https://issues.apache.org/jira/browse/IGNITE-10003
 Project: Ignite
  Issue Type: Bug
Affects Versions: 2.7
Reporter: Andrey Kuznetsov
 Fix For: 2.8


{{GridCacheDatabaseSharedManager#failCheckpointReadLock}} should report 
{{SYSTEM_WORKER_BLOCKED}} to failure handler: it is closer to the truth and 
default consequenses are not so severe as opposed to {{CRITICAL_ERROR}}.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-9932) Exchanger blocking session bounds can be accessed from invalid thread

2018-10-18 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-9932:


 Summary: Exchanger blocking session bounds can be accessed from 
invalid thread
 Key: IGNITE-9932
 URL: https://issues.apache.org/jira/browse/IGNITE-9932
 Project: Ignite
  Issue Type: Bug
Reporter: Andrey Kuznetsov
Assignee: Andrey Kuznetsov


{{GridDhtPartitionExchangeFuture}} uses critical sections surrounded by 
{{exchangerBlockingSectionBegin}} and {{exchangerBlockingSectionEnd}}. 
Currently, these begin/end bounds assert they are called from 
partition-exchanger thread. It appeared that this assertion can be failed 
reasonably. So it is better to make begin/end bounds no-op unless they are 
called from partition-exchanger thread.

{{IgniteStableBaselineBinObjFieldsQuerySelfTest#testQueryReplicatedTransactional}}
 may hang due to this issue, see [1]. Exception stack trace leading to critical 
failure follows.

{noformat}
java.lang.AssertionError
at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.exchangerBlockingSectionBegin(GridCachePartitionExchangeManager.java:2351)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.waitUntilNewCachesAreRegistered(GridDhtPartitionsExchangeFuture.java:2261)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onDone(GridDhtPartitionsExchangeFuture.java:2066)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.processFullMessage(GridDhtPartitionsExchangeFuture.java:3980)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.access$2100(GridDhtPartitionsExchangeFuture.java:141)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture$7.apply(GridDhtPartitionsExchangeFuture.java:3667)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture$7.apply(GridDhtPartitionsExchangeFuture.java:3655)
at 
org.apache.ignite.internal.util.future.GridFutureAdapter.notifyListener(GridFutureAdapter.java:385)
at 
org.apache.ignite.internal.util.future.GridFutureAdapter.listen(GridFutureAdapter.java:355)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onReceiveFullMessage(GridDhtPartitionsExchangeFuture.java:3655)
at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.processFullPartitionUpdate(GridCachePartitionExchangeManager.java:1655)
at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$3.onMessage(GridCachePartitionExchangeManager.java:393)
at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$3.onMessage(GridCachePartitionExchangeManager.java:380)
at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$MessageHandler.apply(GridCachePartitionExchangeManager.java:3178)
at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$MessageHandler.apply(GridCachePartitionExchangeManager.java:3157)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1056)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:581)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:380)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:306)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:101)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:295)
at 
org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1569)
at 
org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1197)
at 
org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:127)
at 
org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1093)
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}

[1] 
https://ci.ignite.apache.org/viewLog.html?buildId=2111470=buildResultsDiv=IgniteTests24Java8_BinaryObjectsSimpleMapperQueries




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-9860) Unreliable listener invocation order in GridDhtPartitionsExchangeFuture#onDone

2018-10-11 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-9860:


 Summary: Unreliable listener invocation order in 
GridDhtPartitionsExchangeFuture#onDone
 Key: IGNITE-9860
 URL: https://issues.apache.org/jira/browse/IGNITE-9860
 Project: Ignite
  Issue Type: Bug
Reporter: Andrey Kuznetsov
 Fix For: 2.8


Listener being added right before {{super.onDone()}} call is intended to be 
invoked earlier than all other listeners. There is a small probability of 
breaking this guarantee: some other thread can call {{listen()}} before 
future-completing thread enters {{super.onDone()}}.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-9838) TxStateChangeEventTest fails sometimes on TeamCity

2018-10-10 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-9838:


 Summary: TxStateChangeEventTest fails sometimes on TeamCity
 Key: IGNITE-9838
 URL: https://issues.apache.org/jira/browse/IGNITE-9838
 Project: Ignite
  Issue Type: Test
Reporter: Andrey Kuznetsov
 Fix For: 2.8


Both test methods may fail to acquire transaction lock. Presumably, timeout 
increasing can be enough to fix.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-9776) FsyncModeFileWriteAheadLogManager can block forever in log() call

2018-10-02 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-9776:


 Summary: FsyncModeFileWriteAheadLogManager can block forever in 
log() call
 Key: IGNITE-9776
 URL: https://issues.apache.org/jira/browse/IGNITE-9776
 Project: Ignite
  Issue Type: Bug
Reporter: Andrey Kuznetsov
 Fix For: 2.7
 Attachments: FsyncWalRolloverDoesNotBlockTest.java

If WAL archiver is disabled and WALRecord being logged has {{rollOver() == 
true}}, then {{log()}} call blocks forever in {{FileArchiver}}'s (!) method:

{noformat}
nextAbsoluteSegmentIndex:1707, FsyncModeFileWriteAheadLogManager$FileArchiver 
(org.apache.ignite.internal.processors.cache.persistence.wal)
access$3200:1437, FsyncModeFileWriteAheadLogManager$FileArchiver 
(org.apache.ignite.internal.processors.cache.persistence.wal)
pollNextFile:1384, FsyncModeFileWriteAheadLogManager 
(org.apache.ignite.internal.processors.cache.persistence.wal)
initNextWriteHandle:1243, FsyncModeFileWriteAheadLogManager 
(org.apache.ignite.internal.processors.cache.persistence.wal)
rollOver:1130, FsyncModeFileWriteAheadLogManager 
(org.apache.ignite.internal.processors.cache.persistence.wal)
log:712, FsyncModeFileWriteAheadLogManager 
(org.apache.ignite.internal.processors.cache.persistence.wal)
{noformat}

Reporoducer is attached.




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-9744) Fix SYSTEM_WORKER_TERMINATION detection in general case

2018-09-30 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-9744:


 Summary: Fix SYSTEM_WORKER_TERMINATION detection in general case
 Key: IGNITE-9744
 URL: https://issues.apache.org/jira/browse/IGNITE-9744
 Project: Ignite
  Issue Type: Bug
Reporter: Andrey Kuznetsov
Assignee: Andrey Kuznetsov
 Fix For: 2.7


All existing critical workers handle unintended termination individually. This 
should be done for arbitrtary critical worker as well. There is a test to check 
this situation, {{SystemWorkersTerminationTest.testTermination}}, but now it 
passes in fact due to {{SYSTEM_WORKER_BLOCKED}} instead of 
{{SYSTEM_WORKER_TERMINATION}}, and this should be fixed.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-9731) NPE is possible during WAL flushing

2018-09-27 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-9731:


 Summary: NPE is possible during WAL flushing
 Key: IGNITE-9731
 URL: https://issues.apache.org/jira/browse/IGNITE-9731
 Project: Ignite
  Issue Type: Task
Reporter: Andrey Kuznetsov
 Fix For: 2.7
 Attachments: WalRolloverRecordLoggingTest.java

{{FileWriteAheadLogManager.flush()}} seems to be not thread-safe anymore in 
master branch. The test attached produces the following NPE:

{noformat}
java.lang.NullPointerException
at 
org.apache.ignite.internal.processors.cache.persistence.wal.FileWriteAheadLogManager$FileHandle.getSegmentId(FileWriteAheadLogManager.java:2371)
at 
org.apache.ignite.internal.processors.cache.persistence.wal.FileWriteAheadLogManager$FileWriteHandle.needFsync(FileWriteAheadLogManager.java:2642)
at 
org.apache.ignite.internal.processors.cache.persistence.wal.FileWriteAheadLogManager$FileWriteHandle.fsync(FileWriteAheadLogManager.java:2668)
at 
org.apache.ignite.internal.processors.cache.persistence.wal.FileWriteAheadLogManager$FileWriteHandle.access$1900(FileWriteAheadLogManager.java:2445)
at 
org.apache.ignite.internal.processors.cache.persistence.wal.FileWriteAheadLogManager.flush(FileWriteAheadLogManager.java:866)
at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager$Checkpointer.markCheckpointBegin(GridCacheDatabaseSharedManager.java:3633)
at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager$Checkpointer.doCheckpoint(GridCacheDatabaseSharedManager.java:3126)
at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager$Checkpointer.body(GridCacheDatabaseSharedManager.java:3025)
at 
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
at java.lang.Thread.run(Thread.java:748)
{noformat}

This could be possibly brought by commit [1].

[1] 
https://github.com/apache/ignite/commit/2f72fe758d4256c4eb4610e5922ad3d174b43dc5




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-9695) Add a way to prevent per-cache WAL disabling in WalStateManager

2018-09-25 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-9695:


 Summary: Add a way to prevent per-cache WAL disabling in 
WalStateManager
 Key: IGNITE-9695
 URL: https://issues.apache.org/jira/browse/IGNITE-9695
 Project: Ignite
  Issue Type: Task
Affects Versions: 2.6
Reporter: Andrey Kuznetsov
Assignee: Andrey Kuznetsov
 Fix For: 2.8


When this prevention is on, {{WalStateManager.init()}} should return an 
error-holding future immediately.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-9679) Document critical workers liveness checking implementation

2018-09-24 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-9679:


 Summary: Document critical workers liveness checking implementation
 Key: IGNITE-9679
 URL: https://issues.apache.org/jira/browse/IGNITE-9679
 Project: Ignite
  Issue Type: Task
  Components: documentation
Reporter: Andrey Kuznetsov
Assignee: Denis Magda
 Fix For: 2.7


Newly implemented critical worker thread liveness checks should be mentioned in 
Ignite Documentation. Brief description of the functionality follows.

Ignite node has a number of critical worker threads that should be alive and 
responsive, otherwise node's health is not guaranteed. These threads monitor 
each other periodically and track two aspects for a thread being checked:
- whether it's alive;
- whether it updates its internal heartbeat timestamp.
Both checks use {{IgniteConfiguration.failureDetectionTimeout}} property as a 
threshold value.
Whenever at least one of the above conditions is violated, checker thread logs 
the error and calls currently configured {{FailureHandler}}.

Liveness checks are enabled by default, but can be disabled through 
{{WorkersControlMXBean.healthMonitoringEnabled}} property.




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-9666) TxPessimisticDeadlockDetectionCrossCacheTest.testDeadlockAnotherNear is flaky on master

2018-09-23 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-9666:


 Summary: 
TxPessimisticDeadlockDetectionCrossCacheTest.testDeadlockAnotherNear is flaky 
on master
 Key: IGNITE-9666
 URL: https://issues.apache.org/jira/browse/IGNITE-9666
 Project: Ignite
  Issue Type: Bug
Affects Versions: 2.6
Reporter: Andrey Kuznetsov
 Fix For: 2.8


Sometimes the test cannot pass {{assertTrue(deadlock.get())}}. 

Presumably, it's due to ignoring possible long JVM pauses. For example, one can 
see near the first 'put' pair (note timestamps) :

{noformat}
[2018-09-23 11:16:55,975][INFO ][tx-thread-1][root] >>> Performs put 
[node=TcpDiscoveryNode [id=dd46ab0e-ed28-4c67-b3c4-98900bb0, 
addrs=ArrayList [127.0.0.1], sockAddrs=HashSet [/127.0.0.1:47500], 
discPort=47500, order=1, intOrder=1, lastExchangeTime=1537690615852, loc=true, 
ver=2.7.0#19700101-sha1:, isClient=false], tx=TransactionProxyImpl 
[tx=IgniteTxAdapter [xidVer=GridCacheVersion [topVer=149170604, 
order=1537690611182, nodeOrder=1], writeVer=null, implicit=false, loc=true, 
threadId=129, startTime=1537690615791, 
nodeId=dd46ab0e-ed28-4c67-b3c4-98900bb0, startVer=GridCacheVersion 
[topVer=149170604, order=1537690611182, nodeOrder=1], endVer=null, 
isolation=REPEATABLE_READ, concurrency=PESSIMISTIC, timeout=500, 
sysInvalidate=false, sys=false, plc=2, commitVer=null, finalizing=NONE, 
invalidParts=null, state=ACTIVE, timedOut=false, topVer=AffinityTopologyVersion 
[topVer=-1, minorTopVer=0], 
txCounters=org.apache.ignite.internal.processors.cache.transactions.TxCounters@31c7393f,
 duration=155ms, onePhaseCommit=false]IgniteTxLocalAdapter [completedBase=null, 
sndTransformedVals=false, depEnabled=false, txState=IgniteTxStateImpl 
[activeCacheIds=[], recovery=null, mvccEnabled=null, txMap=EmptySet []], 
mvccWaitTxs=null, qryEnlisted=false, super=, size=0]GridDhtTxLocalAdapter 
[nearOnOriginatingNode=false, nearNodes=KeySetView [], dhtNodes=KeySetView [], 
explicitLock=false, super=]GridNearTxLocal [mappings=IgniteTxMappingsImpl [], 
nearLocallyMapped=false, colocatedLocallyMapped=false, needCheckBackup=null, 
hasRemoteLocks=false, trackTimeout=true, lb=null, mvccTracker=null, sql=null, 
thread=tx-thread-1, mappings=IgniteTxMappingsImpl [], super=], async=false, 
asyncRes=null], key=2, cache=cache0]
[2018-09-23 11:16:55,975][INFO ][tx-thread-2][root] >>> Performs put 
[node=TcpDiscoveryNode [id=dd46ab0e-ed28-4c67-b3c4-98900bb0, 
addrs=ArrayList [127.0.0.1], sockAddrs=HashSet [/127.0.0.1:47500], 
discPort=47500, order=1, intOrder=1, lastExchangeTime=1537690615852, loc=true, 
ver=2.7.0#19700101-sha1:, isClient=false], tx=TransactionProxyImpl 
[tx=IgniteTxAdapter [xidVer=GridCacheVersion [topVer=149170604, 
order=1537690611181, nodeOrder=1], writeVer=null, implicit=false, loc=true, 
threadId=130, startTime=1537690615791, 
nodeId=dd46ab0e-ed28-4c67-b3c4-98900bb0, startVer=GridCacheVersion 
[topVer=149170604, order=1537690611182, nodeOrder=1], endVer=null, 
isolation=REPEATABLE_READ, concurrency=PESSIMISTIC, timeout=500, 
sysInvalidate=false, sys=false, plc=2, commitVer=null, finalizing=NONE, 
invalidParts=null, state=ACTIVE, timedOut=false, topVer=AffinityTopologyVersion 
[topVer=-1, minorTopVer=0], 
txCounters=org.apache.ignite.internal.processors.cache.transactions.TxCounters@14d54c9c,
 duration=155ms, onePhaseCommit=false]IgniteTxLocalAdapter [completedBase=null, 
sndTransformedVals=false, depEnabled=false, txState=IgniteTxStateImpl 
[activeCacheIds=[], recovery=null, mvccEnabled=null, txMap=EmptySet []], 
mvccWaitTxs=null, qryEnlisted=false, super=, size=0]GridDhtTxLocalAdapter 
[nearOnOriginatingNode=false, nearNodes=KeySetView [], dhtNodes=KeySetView [], 
explicitLock=false, super=]GridNearTxLocal [mappings=IgniteTxMappingsImpl [], 
nearLocallyMapped=false, colocatedLocallyMapped=false, needCheckBackup=null, 
hasRemoteLocks=false, trackTimeout=true, lb=null, mvccTracker=null, sql=null, 
thread=tx-thread-2, mappings=IgniteTxMappingsImpl [], super=], async=false, 
asyncRes=null], key=2, cache=cache1]
[2018-09-23 11:16:56,378][INFO 
][exchange-worker-#38%transactions.TxPessimisticDeadlockDetectionCrossCacheTest0%][time]
 Started exchange init [topVer=AffinityTopologyVersion [topVer=2, 
minorTopVer=3], mvccCrd=MvccCoordinator 
[nodeId=dd46ab0e-ed28-4c67-b3c4-98900bb0, crdVer=1537690602134, 
topVer=AffinityTopologyVersion [topVer=1, minorTopVer=0]], mvccCrdChange=false, 
crd=true, evt=DISCOVERY_CUSTOM_EVT, 
evtNode=dd46ab0e-ed28-4c67-b3c4-98900bb0, 
customEvt=CacheAffinityChangeMessage 
[id=d7540850661-799b6d10-6e53-4f8b-9595-98f8c060efa1, 
topVer=AffinityTopologyVersion [topVer=2, minorTopVer=0], exchId=null, 
partsMsg=null, exchangeNeeded=true], allowMerge=false]
{noformat}

And then, transactions have to roll back due to 500 ms timeout, leaving no 
possibility to produce deadlock.




--
This message was sent by 

[jira] [Created] (IGNITE-9660) Switch default test FailureHandler to StopNodeFailureHandler

2018-09-20 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-9660:


 Summary: Switch default test FailureHandler to 
StopNodeFailureHandler
 Key: IGNITE-9660
 URL: https://issues.apache.org/jira/browse/IGNITE-9660
 Project: Ignite
  Issue Type: Test
Affects Versions: 2.6
Reporter: Andrey Kuznetsov
 Fix For: 2.8


{{GridAbstractTest.getFailureHandler()}} returns {{NoOpFailureHandler}} 
instance. This often leads to hiding bugs occurring in tests. 
{{getFailureFailureHandler()}} should return {{StopNodeFailureHandler}} instead.

The change assumes re-checking failed tests and set handler to 
{{NoOpFailureHandler}} in subclasses where it's really a must.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-9653) StopNodeOrHaltFailureHandlerTest.testJvmHalted has flaky failures on master branch

2018-09-20 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-9653:


 Summary: StopNodeOrHaltFailureHandlerTest.testJvmHalted has flaky 
failures on master branch
 Key: IGNITE-9653
 URL: https://issues.apache.org/jira/browse/IGNITE-9653
 Project: Ignite
  Issue Type: Bug
Reporter: Andrey Kuznetsov
 Fix For: 2.8


```
junit.framework.AssertionFailedError
at 
org.apache.ignite.failure.StopNodeOrHaltFailureHandlerTest.testJvmHalted(StopNodeOrHaltFailureHandlerTest.java:93)
```



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-9640) [TC Bot] Determine repetitive failure types by analyzing build log

2018-09-18 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-9640:


 Summary: [TC Bot] Determine repetitive failure types by analyzing 
build log
 Key: IGNITE-9640
 URL: https://issues.apache.org/jira/browse/IGNITE-9640
 Project: Ignite
  Issue Type: Task
Reporter: Andrey Kuznetsov


When someone is analyzing flaky test failure, it's important to distinguish 
between newly created failure and pre-existing one. In the latter case, the bot 
should not attract contributor's attention to the test.

In more detail, TC build log fragments starts with identical substrings for 
identical failures very often, e.g.

{noformat}
junit.framework.AssertionFailedError
at 
org.apache.ignite.internal.GridVersionSelfTest.testVersions(GridVersionSelfTest.java:54)
{noformat}




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-9601) Write rollover WAL record as the last

2018-09-14 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-9601:


 Summary: Write rollover WAL record as the last 
 Key: IGNITE-9601
 URL: https://issues.apache.org/jira/browse/IGNITE-9601
 Project: Ignite
  Issue Type: Task
Affects Versions: 2.6
Reporter: Andrey Kuznetsov
Assignee: Andrey Kuznetsov
 Fix For: 2.8


Currently, rollover WAL record gets to the next segment when being logged. 
Moreover, the implementation does allows data races, and rollover record is not 
necessarily the first record in the next segment. We are to add an option to 
logging facility to allow writing rollover record to the end of the current 
segment; subsequent records should get to the next segment then.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-9280) Decrease WAL archive compaction latency

2018-08-15 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-9280:


 Summary: Decrease WAL archive compaction latency
 Key: IGNITE-9280
 URL: https://issues.apache.org/jira/browse/IGNITE-9280
 Project: Ignite
  Issue Type: Improvement
Affects Versions: 2.6
Reporter: Andrey Kuznetsov
 Fix For: 2.7


If {{n}} is the index of WAL segment containing latest checkpoint mark, then 
the segment {{n-1}} is prevented from compaction currently. This limitation can 
be removed safely (while the requirement of preserving raw segment {{n-1}} 
should remain untouched).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-8887) IgfsLocalSecondaryFileSystemDualAsyncSelfTest.testAccessAndModificationTimeUpwardsPropagation fails flakily on master

2018-06-27 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-8887:


 Summary: 
IgfsLocalSecondaryFileSystemDualAsyncSelfTest.testAccessAndModificationTimeUpwardsPropagation
 fails flakily on master
 Key: IGNITE-8887
 URL: https://issues.apache.org/jira/browse/IGNITE-8887
 Project: Ignite
  Issue Type: Bug
  Components: igfs
Affects Versions: 2.5
Reporter: Andrey Kuznetsov
 Fix For: 2.7


{noformat}
junit.framework.AssertionFailedError: expected: but was:
at junit.framework.Assert.fail(Assert.java:57)
at junit.framework.Assert.failNotEquals(Assert.java:329)
at junit.framework.Assert.assertEquals(Assert.java:78)
at junit.framework.Assert.assertEquals(Assert.java:86)
at junit.framework.TestCase.assertEquals(TestCase.java:253)
at 
org.apache.ignite.internal.processors.igfs.IgfsDualAbstractSelfTest.testAccessAndModificationTimeUpwardsPropagation(IgfsDualAbstractSelfTest.java:1544)
{noformat}




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-8862) IgniteChangeGlobalStateTest hangs on TeamCity

2018-06-22 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-8862:


 Summary: IgniteChangeGlobalStateTest hangs on TeamCity
 Key: IGNITE-8862
 URL: https://issues.apache.org/jira/browse/IGNITE-8862
 Project: Ignite
  Issue Type: Bug
Affects Versions: 2.5
Reporter: Andrey Kuznetsov
Assignee: Andrey Kuznetsov






--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-8570) Create lighter version of GridStringLogger

2018-05-23 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-8570:


 Summary: Create lighter version of GridStringLogger
 Key: IGNITE-8570
 URL: https://issues.apache.org/jira/browse/IGNITE-8570
 Project: Ignite
  Issue Type: Improvement
Affects Versions: 2.4
Reporter: Andrey Kuznetsov
 Fix For: 2.6


Most usages of {{GridStringLogger}} in test assumes the following scenario. 
First, it is set as a logger for some Ignite node. Then, after some activity on 
that node, log content is searched for some predefined strings. 
{{GridStringLogger}} uses {{StringBuilder}} of bounded size internally to store 
log contents, older contents gets dropped on exaustion. Thus, changes that add 
more logging may damage some independent tests that use {{GridStringLogger}}.

The suggestion is to implement and use another test logger conforming to these 
requirements:
* It does not accumulate any logs.
* It allows to set the listener that fires when log message matches certain 
regular expression, {{Matcher}} can be passed to the listener.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-8562) Turn system-critical Ignite threads into GridWorkers

2018-05-22 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-8562:


 Summary: Turn system-critical Ignite threads into GridWorkers
 Key: IGNITE-8562
 URL: https://issues.apache.org/jira/browse/IGNITE-8562
 Project: Ignite
  Issue Type: Improvement
Reporter: Andrey Kuznetsov
Assignee: Andrey Kuznetsov
 Fix For: 2.6


The goal of the change is to make system-critical threads (in terms of IEP-14, 
[1]) available to {{WorkersControlMXBean}}.

[1] 
https://cwiki.apache.org/confluence/display/IGNITE/IEP-14+Ignite+failures+handling



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-8406) Update IgniteDataStreamer.flush() javadoc

2018-04-26 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-8406:


 Summary: Update IgniteDataStreamer.flush() javadoc
 Key: IGNITE-8406
 URL: https://issues.apache.org/jira/browse/IGNITE-8406
 Project: Ignite
  Issue Type: Task
  Components: streaming
Affects Versions: 2.4
Reporter: Andrey Kuznetsov
 Fix For: 2.6


Current {{flush()}} implementation can throw {{CacheException}} if one or more 
futures previously returned by {{addData()}} have been completed exceptionally. 
This behavior should be described in {{IgniteDataStreamer}} javadoc.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-8329) Clarify TransactionRollbackException-related paragraph in documentation

2018-04-19 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-8329:


 Summary: Clarify TransactionRollbackException-related paragraph in 
documentation
 Key: IGNITE-8329
 URL: https://issues.apache.org/jira/browse/IGNITE-8329
 Project: Ignite
  Issue Type: Task
Reporter: Andrey Kuznetsov


As documentation states currently [1], TransactionRollbackException is thrown 
"if the transaction was rolled back automatically". This should be extended to 
manual rollback as well, if it took place before commit for some reason.

[1] 
https://apacheignite.readme.io/docs/transactions#section-handling-failed-transactions



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-8312) .NET: CacheAbstractTransactionalTest.TestTxRollbackOnly failure

2018-04-18 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-8312:


 Summary: .NET: CacheAbstractTransactionalTest.TestTxRollbackOnly 
failure
 Key: IGNITE-8312
 URL: https://issues.apache.org/jira/browse/IGNITE-8312
 Project: Ignite
  Issue Type: Bug
Affects Versions: 2.4
Reporter: Andrey Kuznetsov
Assignee: Andrey Kuznetsov
 Fix For: 2.5


{noformat}
Test(s) failed.   Expected: 

  But was:   (Invalid transaction 
state for prepare [state=MARKED_ROLLBACK, tx=GridNearPessimisticTxPrepareFuture 
[innerFuts=[], super=GridCompoundFuture 
[rdc=org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxPrepareFutureAdapter$1@62e703a4,
 initFlag=0, lsnrCalls=0, done=false, cancelled=false, err=null, futs=[)
{noformat}

Caused by changes made in [1]

[1] https://issues.apache.org/jira/browse/IGNITE-7770




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-8311) IgniteClientRejoinTest.testClientsReconnectDisabled causes exchange-worker to terminate via NPE

2018-04-18 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-8311:


 Summary: IgniteClientRejoinTest.testClientsReconnectDisabled 
causes exchange-worker to terminate via NPE
 Key: IGNITE-8311
 URL: https://issues.apache.org/jira/browse/IGNITE-8311
 Project: Ignite
  Issue Type: Bug
Affects Versions: 2.4
Reporter: Andrey Kuznetsov
 Fix For: 2.6


Currently, tests use {{NoOpFailureHandler}} by default, hence this 
exchange-worker termination is masked. We are to fix it: test code should not 
be able to terminate system-critical thread.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-8297) TxRollbackOnTimeoutNearCacheTest.testRandomMixedTxConfigurations fails flakily

2018-04-17 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-8297:


 Summary: 
TxRollbackOnTimeoutNearCacheTest.testRandomMixedTxConfigurations fails flakily 
 Key: IGNITE-8297
 URL: https://issues.apache.org/jira/browse/IGNITE-8297
 Project: Ignite
  Issue Type: Bug
Affects Versions: 2.4
Reporter: Andrey Kuznetsov
Assignee: Andrey Kuznetsov
 Fix For: 2.6


Transactions sometimes don't stop on timeout. Speaking more detailed, 
{{GridNearOptimisticTxPrepareFuture}} and 
{{GridNearOptimisticSerializableTxPrepareFuture}} has {{keyLockFut}} field that 
can remain uncompleted after timeout occured.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-8223) GridNearTxLocal.clearPrepareFuture does effectively nothing

2018-04-11 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-8223:


 Summary: GridNearTxLocal.clearPrepareFuture does effectively 
nothing
 Key: IGNITE-8223
 URL: https://issues.apache.org/jira/browse/IGNITE-8223
 Project: Ignite
  Issue Type: Improvement
Affects Versions: 2.4
Reporter: Andrey Kuznetsov
 Fix For: 2.6


It's unclear whether {{GridNearTxLocal.clearPrepareFuture}} is called at all, 
but the method does nothing, since its argument type is never used as target 
field value. Proposed change is to make the method no-op explicitly.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-8061) GridCachePartitionedDataStructuresFailoverSelfTest.testCountDownLatchConstantMultipleTopologyChange may hang on TeamCity

2018-03-28 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-8061:


 Summary: 
GridCachePartitionedDataStructuresFailoverSelfTest.testCountDownLatchConstantMultipleTopologyChange
 may hang on TeamCity
 Key: IGNITE-8061
 URL: https://issues.apache.org/jira/browse/IGNITE-8061
 Project: Ignite
  Issue Type: Bug
  Components: data structures
Affects Versions: 2.4
Reporter: Andrey Kuznetsov
 Fix For: 2.5
 Attachments: log.txt

The log attached contains 'Test has been timed out and will be interrupted' 
message, but does not contain subsequent 'Test has been timed out [test=...'.

Known facts:
* There is pending GridDhtColocatedLockFuture in the log.
* On timeout, InterruptedException comes to doTestCountDownLatch, but 
finally-block contains the code leading to distributed locking.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-8025) Result of GridTestUtils.runMultiThreadedAsync has a bug in cancel() implementation

2018-03-22 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-8025:


 Summary: Result of GridTestUtils.runMultiThreadedAsync has a bug 
in cancel() implementation
 Key: IGNITE-8025
 URL: https://issues.apache.org/jira/browse/IGNITE-8025
 Project: Ignite
  Issue Type: Bug
Affects Versions: 2.4
Reporter: Andrey Kuznetsov
 Fix For: 2.5
 Attachments: BugRunMTAsyncTest.java

GridTestUtils.runMultiThreadedAsync returns a future with cancel() support, but 
cancellation implementation never interrupts threads that execute user-provided 
tasks. That is, those threads can continue their execution even after test 
method finishes.

The reproducer attached demonstrates activity from threads created by test0 
after test0 finished and test1 is being run.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-7983) NPE in TxRollbackOnTimeoutNearCacheTest.testRandomMixedTxConfigurations

2018-03-19 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-7983:


 Summary: NPE in 
TxRollbackOnTimeoutNearCacheTest.testRandomMixedTxConfigurations
 Key: IGNITE-7983
 URL: https://issues.apache.org/jira/browse/IGNITE-7983
 Project: Ignite
  Issue Type: Task
Affects Versions: 2.4
Reporter: Andrey Kuznetsov
Assignee: Andrey Kuznetsov
 Fix For: 2.5


{{get}} inside transaction sometimes returns {{null}}. This should be 
impossible.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-7823) Enrich IgniteCache with asSet method

2018-02-27 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-7823:


 Summary: Enrich IgniteCache with asSet method
 Key: IGNITE-7823
 URL: https://issues.apache.org/jira/browse/IGNITE-7823
 Project: Ignite
  Issue Type: New Feature
  Components: data structures
Reporter: Andrey Kuznetsov
 Fix For: 2.5


Existing {{IgniteSet}} datastructure is good enough for small sets. For big 
sets it's too expensive to maintain redundant onheap data copies. Thus we'd 
better to add new {{IgniteCache::asSet}} method returning set adapter to 
existing cache. The difference between these two kinds of sets should be 
properly documented afterwards. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-7518) Get rid of org.jsr166.LongAdder8, org.jsr166.ThreadLocalRandom

2018-01-24 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-7518:


 Summary: Get rid of org.jsr166.LongAdder8, 
org.jsr166.ThreadLocalRandom
 Key: IGNITE-7518
 URL: https://issues.apache.org/jira/browse/IGNITE-7518
 Project: Ignite
  Issue Type: Sub-task
Reporter: Andrey Kuznetsov
Assignee: Andrey Kuznetsov
 Fix For: 2.5






--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-7517) Get rid of org.jsr166.ConcurrentLinkedDeque8

2018-01-24 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-7517:


 Summary: Get rid of org.jsr166.ConcurrentLinkedDeque8
 Key: IGNITE-7517
 URL: https://issues.apache.org/jira/browse/IGNITE-7517
 Project: Ignite
  Issue Type: Sub-task
Reporter: Andrey Kuznetsov
Assignee: Andrey Kuznetsov
 Fix For: 2.5






--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-7516) Get rid of org.jsr166.ConcurrentLinkedHashMap

2018-01-24 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-7516:


 Summary: Get rid of org.jsr166.ConcurrentLinkedHashMap
 Key: IGNITE-7516
 URL: https://issues.apache.org/jira/browse/IGNITE-7516
 Project: Ignite
  Issue Type: Sub-task
Reporter: Andrey Kuznetsov
Assignee: Andrey Kuznetsov
 Fix For: 2.5






--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-7513) Get rid of org.jsr166.ConcurrentHashMap8

2018-01-24 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-7513:


 Summary: Get rid of org.jsr166.ConcurrentHashMap8
 Key: IGNITE-7513
 URL: https://issues.apache.org/jira/browse/IGNITE-7513
 Project: Ignite
  Issue Type: Task
Reporter: Andrey Kuznetsov
Assignee: Andrey Kuznetsov
 Fix For: 2.5


This class was made of ConcurrentHashMapV8, an intermadiate implementation of 
Java8's ConcurrentHashMap. Now we should switch to standard CHM. Possibly, 
we'll have to check for performance implications.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-7491) Documentation: add new data region metrics description

2018-01-22 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-7491:


 Summary: Documentation: add new data region metrics description
 Key: IGNITE-7491
 URL: https://issues.apache.org/jira/browse/IGNITE-7491
 Project: Ignite
  Issue Type: Task
  Components: documentation
Reporter: Andrey Kuznetsov
Assignee: Denis Magda
 Fix For: 2.4


Newly created data region metrics should be documented.

* `getTotalAllocatedSize` -- same as `getTotalAllocatedPages` but in bytes.
* `getPhysicalMemorySize` -- same as `getPhysicalMemoryPages` but in bytes.
* `getCheckpointBufferPages` -- gets checkpoint buffer size in pages.
* `getCheckpointBufferSize` -- gets checkpoint buffer size in bytes.
* `getPageSize` -- gets memory page size.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (IGNITE-7312) Make use of plain java.util.Base64 instead of reflective alternatives

2017-12-26 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-7312:


 Summary: Make use of plain java.util.Base64 instead of reflective 
alternatives
 Key: IGNITE-7312
 URL: https://issues.apache.org/jira/browse/IGNITE-7312
 Project: Ignite
  Issue Type: Task
  Components: general
Reporter: Andrey Kuznetsov


Reflective Base64 encoding should be changed to {{java.util.Base64$Encoder}} as 
soon as language level becomes equal to 8.




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (IGNITE-7171) .NET: Support additional Data Region metrics

2017-12-12 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-7171:


 Summary: .NET: Support additional Data Region metrics
 Key: IGNITE-7171
 URL: https://issues.apache.org/jira/browse/IGNITE-7171
 Project: Ignite
  Issue Type: New Feature
Reporter: Andrey Kuznetsov
 Fix For: 2.4


Issue [1] adds two new Data Region metrics. Both should be added to .NET as 
well.

[1] https://issues.apache.org/jira/browse/IGNITE-6902



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (IGNITE-6963) TotalAllocatedPages metric does not match PhysicalMemoryPages when persistence is disabled

2017-11-20 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-6963:


 Summary: TotalAllocatedPages metric does not match 
PhysicalMemoryPages when persistence is disabled
 Key: IGNITE-6963
 URL: https://issues.apache.org/jira/browse/IGNITE-6963
 Project: Ignite
  Issue Type: Bug
  Components: general
Affects Versions: 2.3
Reporter: Andrey Kuznetsov


As javadoc states for DataRegionMetrics#getPhysicalMemoryPages()

{noformat}
When persistence is disabled, this metric is equal to getTotalAllocatedPages()
{noformat}

and this seems to be sane requirement.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (IGNITE-6940) Provide metric to monitor Thread Starvation

2017-11-16 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-6940:


 Summary: Provide metric to monitor Thread Starvation
 Key: IGNITE-6940
 URL: https://issues.apache.org/jira/browse/IGNITE-6940
 Project: Ignite
  Issue Type: Improvement
  Security Level: Public (Viewable by anyone)
Reporter: Andrey Kuznetsov


There is an existing code in {{IgniteKernal.start()}} that logs warnings when 
detects starvation. It should be improved to support more thread pools and 
update some metrics.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (IGNITE-6520) IgniteCacheGetRestartTest.testGetRestartReplicated fails sometimes (timeout)

2017-09-28 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-6520:


 Summary: IgniteCacheGetRestartTest.testGetRestartReplicated fails 
sometimes (timeout)
 Key: IGNITE-6520
 URL: https://issues.apache.org/jira/browse/IGNITE-6520
 Project: Ignite
  Issue Type: Bug
Affects Versions: 2.2
Reporter: Andrey Kuznetsov
Assignee: Andrey Kuznetsov






--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (IGNITE-6186) Remove redundant parameter of GridFutureAdapter::unregisterWaiter()

2017-08-25 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-6186:


 Summary: Remove redundant parameter of 
GridFutureAdapter::unregisterWaiter()
 Key: IGNITE-6186
 URL: https://issues.apache.org/jira/browse/IGNITE-6186
 Project: Ignite
  Issue Type: Improvement
Affects Versions: 2.1
Reporter: Andrey Kuznetsov
Priority: Minor
 Fix For: 2.2


The method is not thread-safe unless actual parameter is currentThread.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (IGNITE-6137) Inaccurate CAS handling in GridNearTxLocal async commit

2017-08-22 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-6137:


 Summary: Inaccurate CAS handling in GridNearTxLocal async commit
 Key: IGNITE-6137
 URL: https://issues.apache.org/jira/browse/IGNITE-6137
 Project: Ignite
  Issue Type: Bug
  Components: cache
Affects Versions: 2.1
Reporter: Andrey Kuznetsov
Assignee: Andrey Kuznetsov
 Fix For: 2.2


CAS for commitFuture is handled inaccurate in commitNearTxLocalAsync method. 
Can fail on muliple calls, either concurrent or sequential.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (IGNITE-6043) Fix GridCacheSemaphoreImpl methods semantics

2017-08-11 Thread Andrey Kuznetsov (JIRA)
Andrey Kuznetsov created IGNITE-6043:


 Summary: Fix GridCacheSemaphoreImpl methods semantics
 Key: IGNITE-6043
 URL: https://issues.apache.org/jira/browse/IGNITE-6043
 Project: Ignite
  Issue Type: Bug
  Components: data structures
Affects Versions: 2.1
Reporter: Andrey Kuznetsov
Priority: Critical


Current semaphore implementation, {{GridCacheSemaphoreImpl}}, has inverted 
method semantics: {{acquire()}} releases the permit and {{release()}} acquires 
it. Also, debug-level method {{availablePermits()}} returns permits acquired so 
far. This confusing behaviour should be fixed.

Also, it's worth noting in IgniteSemaphore's javadoc it's unbounded nature, as 
opposed to {{java.util.concurrent.Semaphore}}.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)