[jira] [Commented] (IGNITE-13631) Improve names and descriptions of data storage metrics

2021-10-10 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov commented on IGNITE-13631:
---

[~nizhikov], thanks for the review! I fixed your comments.

Could you help with a merge?

> Improve names and descriptions of data storage metrics
> --
>
> Key: IGNITE-13631
> URL: https://issues.apache.org/jira/browse/IGNITE-13631
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Denis Mekhanikov
>Assignee: Denis Mekhanikov
>Priority: Major
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> Data storage metrics have unclear descriptions. They need to be improved.
> ||Metric||Description||Comment||
> |*WalLoggingRate*|Average number of WAL records per second written during the 
> last time interval.|The "time interval" part is unclear. Which time interval?|
> |*WalFsyncTimeDuration*|Total duration of fsync|Why not just 
> *WalFsyncDuration*?
> The description could be more verbose.|
> |*WalFsyncTimeNum*|Total count of fsync|Why not just *WalFsyncNum*? The 
> description could be more verbose|
> |*WalBuffPollSpinsRate*|WAL buffer poll spins number over the last time 
> interval. |Over which time interval?|
> |*LastCheckpointMarkDuration*|Duration of the checkpoint lock wait in 
> milliseconds |The description doesn't match the name.|
> |*CheckpointTotalTime*|Total duration of checkpoint|Is it the duration of the 
> last checkpoint or all checkpoints from the beginning?|
> |*StorageSize*|Storage space allocated, in bytes.|It's unclear which storage 
> this is about. Is disk included, or is it just about memory?|
> |*WalTotalSize*|Total size in bytes for storage wal files.|WAL should be 
> capital. The grammar|



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


[jira] [Updated] (IGNITE-13631) Improve names and descriptions of data storage metrics

2021-10-10 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov updated IGNITE-13631:
--
Ignite Flags: Release Notes Required  (was: Docs Required,Release Notes 
Required)
Release Note: Changed data storage metric names: WalFsyncTimeDuration -> 
WalFsyncDuration, WalFsyncTimeNum -> WalFsyncNum.

> Improve names and descriptions of data storage metrics
> --
>
> Key: IGNITE-13631
> URL: https://issues.apache.org/jira/browse/IGNITE-13631
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Denis Mekhanikov
>Assignee: Denis Mekhanikov
>Priority: Major
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> Data storage metrics have unclear descriptions. They need to be improved.
> ||Metric||Description||Comment||
> |*WalLoggingRate*|Average number of WAL records per second written during the 
> last time interval.|The "time interval" part is unclear. Which time interval?|
> |*WalFsyncTimeDuration*|Total duration of fsync|Why not just 
> *WalFsyncDuration*?
> The description could be more verbose.|
> |*WalFsyncTimeNum*|Total count of fsync|Why not just *WalFsyncNum*? The 
> description could be more verbose|
> |*WalBuffPollSpinsRate*|WAL buffer poll spins number over the last time 
> interval. |Over which time interval?|
> |*LastCheckpointMarkDuration*|Duration of the checkpoint lock wait in 
> milliseconds |The description doesn't match the name.|
> |*CheckpointTotalTime*|Total duration of checkpoint|Is it the duration of the 
> last checkpoint or all checkpoints from the beginning?|
> |*StorageSize*|Storage space allocated, in bytes.|It's unclear which storage 
> this is about. Is disk included, or is it just about memory?|
> |*WalTotalSize*|Total size in bytes for storage wal files.|WAL should be 
> capital. The grammar|



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


[jira] [Commented] (IGNITE-13631) Improve names and descriptions of data storage metrics

2021-09-23 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov commented on IGNITE-13631:
---

[~nizhikov], maybe you can take a look? 

> Improve names and descriptions of data storage metrics
> --
>
> Key: IGNITE-13631
> URL: https://issues.apache.org/jira/browse/IGNITE-13631
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Denis Mekhanikov
>Assignee: Denis Mekhanikov
>Priority: Major
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Data storage metrics have unclear descriptions. They need to be improved.
> ||Metric||Description||Comment||
> |*WalLoggingRate*|Average number of WAL records per second written during the 
> last time interval.|The "time interval" part is unclear. Which time interval?|
> |*WalFsyncTimeDuration*|Total duration of fsync|Why not just 
> *WalFsyncDuration*?
> The description could be more verbose.|
> |*WalFsyncTimeNum*|Total count of fsync|Why not just *WalFsyncNum*? The 
> description could be more verbose|
> |*WalBuffPollSpinsRate*|WAL buffer poll spins number over the last time 
> interval. |Over which time interval?|
> |*LastCheckpointMarkDuration*|Duration of the checkpoint lock wait in 
> milliseconds |The description doesn't match the name.|
> |*CheckpointTotalTime*|Total duration of checkpoint|Is it the duration of the 
> last checkpoint or all checkpoints from the beginning?|
> |*StorageSize*|Storage space allocated, in bytes.|It's unclear which storage 
> this is about. Is disk included, or is it just about memory?|
> |*WalTotalSize*|Total size in bytes for storage wal files.|WAL should be 
> capital. The grammar|



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


[jira] [Commented] (IGNITE-13631) Improve names and descriptions of data storage metrics

2021-09-21 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov commented on IGNITE-13631:
---

I resolved the conflicts in the PR. Should be good to merge. The failing tests 
clearly can't be a result of changed comments.

[~agura], could you help with a review/merge? Here's the PR: 
https://github.com/apache/ignite/pull/9432

> Improve names and descriptions of data storage metrics
> --
>
> Key: IGNITE-13631
> URL: https://issues.apache.org/jira/browse/IGNITE-13631
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Denis Mekhanikov
>Assignee: Denis Mekhanikov
>Priority: Major
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Data storage metrics have unclear descriptions. They need to be improved.
> ||Metric||Description||Comment||
> |*WalLoggingRate*|Average number of WAL records per second written during the 
> last time interval.|The "time interval" part is unclear. Which time interval?|
> |*WalFsyncTimeDuration*|Total duration of fsync|Why not just 
> *WalFsyncDuration*?
> The description could be more verbose.|
> |*WalFsyncTimeNum*|Total count of fsync|Why not just *WalFsyncNum*? The 
> description could be more verbose|
> |*WalBuffPollSpinsRate*|WAL buffer poll spins number over the last time 
> interval. |Over which time interval?|
> |*LastCheckpointMarkDuration*|Duration of the checkpoint lock wait in 
> milliseconds |The description doesn't match the name.|
> |*CheckpointTotalTime*|Total duration of checkpoint|Is it the duration of the 
> last checkpoint or all checkpoints from the beginning?|
> |*StorageSize*|Storage space allocated, in bytes.|It's unclear which storage 
> this is about. Is disk included, or is it just about memory?|
> |*WalTotalSize*|Total size in bytes for storage wal files.|WAL should be 
> capital. The grammar|



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


[jira] [Updated] (IGNITE-14505) Print information about striped pool in metrics for local node

2021-04-19 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov updated IGNITE-14505:
--
Release Note: Extend the metrics log message with information about the 
striped pool.

> Print information about striped pool in metrics for local node
> --
>
> Key: IGNITE-14505
> URL: https://issues.apache.org/jira/browse/IGNITE-14505
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Denis Mekhanikov
>Assignee: Denis Mekhanikov
>Priority: Major
> Fix For: 2.11
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Currently only information about public and system thread pools are printed 
> in metrics for a local node. It would be good to have the same information 
> about striped pool as well.



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


[jira] [Commented] (IGNITE-14505) Print information about striped pool in metrics for local node

2021-04-09 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov commented on IGNITE-14505:
---

[~ilyak] could you take a look at the fix?

> Print information about striped pool in metrics for local node
> --
>
> Key: IGNITE-14505
> URL: https://issues.apache.org/jira/browse/IGNITE-14505
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Denis Mekhanikov
>Assignee: Denis Mekhanikov
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Currently only information about public and system thread pools are printed 
> in metrics for a local node. It would be good to have the same information 
> about striped pool as well.



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


[jira] [Created] (IGNITE-14505) Print information about striped pool in metrics for local node

2021-04-08 Thread Denis Mekhanikov (Jira)
Denis Mekhanikov created IGNITE-14505:
-

 Summary: Print information about striped pool in metrics for local 
node
 Key: IGNITE-14505
 URL: https://issues.apache.org/jira/browse/IGNITE-14505
 Project: Ignite
  Issue Type: Improvement
Reporter: Denis Mekhanikov
Assignee: Denis Mekhanikov


Currently only information about public and system thread pools are printed in 
metrics for a local node. It would be good to have the same information about 
striped pool as well.



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


[jira] [Issue Comment Deleted] (IGNITE-13399) CpuLoad metric reports -1 under Java 11 in embedded mode

2021-04-01 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov updated IGNITE-13399:
--
Comment: was deleted

(was: [~maliev] could you take a look?)

> CpuLoad metric reports -1 under Java 11 in embedded mode
> 
>
> Key: IGNITE-13399
> URL: https://issues.apache.org/jira/browse/IGNITE-13399
> Project: Ignite
>  Issue Type: Bug
>Reporter: Denis Mekhanikov
>Assignee: Denis Mekhanikov
>Priority: Major
> Fix For: 2.11
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> When running a node in embedded mode under Java 11, the CpuLoad metric 
> reports -1. The process needs to be started with the following option: 
> {{--add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED}}
> We need to get rid of this requirement to run Java with additional flags to 
> get proper values for the CpuLoad metric.
> Some investigation was done under the following issue: 
> https://issues.apache.org/jira/browse/IGNITE-13306



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


[jira] [Commented] (IGNITE-13399) CpuLoad metric reports -1 under Java 11 in embedded mode

2021-03-23 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov commented on IGNITE-13399:
---

[~maliev] could you take a look?

> CpuLoad metric reports -1 under Java 11 in embedded mode
> 
>
> Key: IGNITE-13399
> URL: https://issues.apache.org/jira/browse/IGNITE-13399
> Project: Ignite
>  Issue Type: Bug
>Reporter: Denis Mekhanikov
>Assignee: Denis Mekhanikov
>Priority: Major
> Fix For: 2.11
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> When running a node in embedded mode under Java 11, the CpuLoad metric 
> reports -1. The process needs to be started with the following option: 
> {{--add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED}}
> We need to get rid of this requirement to run Java with additional flags to 
> get proper values for the CpuLoad metric.
> Some investigation was done under the following issue: 
> https://issues.apache.org/jira/browse/IGNITE-13306



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


[jira] [Created] (IGNITE-14349) Add query attributes to QueryHistoryTracker#qryHist and QueryHistory

2021-03-19 Thread Denis Mekhanikov (Jira)
Denis Mekhanikov created IGNITE-14349:
-

 Summary: Add query attributes to QueryHistoryTracker#qryHist and 
QueryHistory
 Key: IGNITE-14349
 URL: https://issues.apache.org/jira/browse/IGNITE-14349
 Project: Ignite
  Issue Type: Improvement
  Components: sql
Reporter: Denis Mekhanikov


We want to see two additional metrics into an query history: enforceJoinOrder 
and lazy. Someone should add them to QueryHistoryTracker#qryHist and map to 
QueryHistory.



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


[jira] [Assigned] (IGNITE-13399) CpuLoad metric reports -1 under Java 11 in embedded mode

2021-03-18 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov reassigned IGNITE-13399:
-

Assignee: Denis Mekhanikov

> CpuLoad metric reports -1 under Java 11 in embedded mode
> 
>
> Key: IGNITE-13399
> URL: https://issues.apache.org/jira/browse/IGNITE-13399
> Project: Ignite
>  Issue Type: Bug
>Reporter: Denis Mekhanikov
>Assignee: Denis Mekhanikov
>Priority: Major
>
> When running a node in embedded mode under Java 11, the CpuLoad metric 
> reports -1. The process needs to be started with the following option: 
> {{--add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED}}
> We need to get rid of this requirement to run Java with additional flags to 
> get proper values for the CpuLoad metric.
> Some investigation was done under the following issue: 
> https://issues.apache.org/jira/browse/IGNITE-13306



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


[jira] [Commented] (IGNITE-13886) Change units of cache-related histograms to milliseconds

2020-12-23 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov commented on IGNITE-13886:
---

This change can break existing dashboards, you are right. On the other hand, 
the change will make the metrics more usable.

Work on the new metrics framework is still in progress, so I don't think we 
should preserve compatibility here.

[~nizhikov], [~agura] what do you think?

> Change units of cache-related histograms to milliseconds
> 
>
> Key: IGNITE-13886
> URL: https://issues.apache.org/jira/browse/IGNITE-13886
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Denis Mekhanikov
>Priority: Major
>
> Ignite has different metrics that have the "histogram" type:
>  * tx.nodeSystemTimeHistogram
>  * tx.nodeUserTimeHistogram
>  * pme.DurationHistogram
>  * pme.CacheOperationsBlockedDurationHistogram
>  * cache..GetTime
>  * cache..PutTime
>  * cache..RemoveTime
>  * cache..CommitTime
>  * cache..RollbackTime
> First four have buckets corresponding to the amount of time the operation 
> took in milliseconds.
> Cache-related histograms are measured in nanoseconds, while it would be 
> enough to use milliseconds there as well.
> It's hard to distinguish between 1 and 10 nanoseconds 
> visually.
> The following set of buckets should be used:
>  * 1
>  * 10
>  * 100
>  * 250
>  * 1000
> The values are provided in milliseconds.



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


[jira] [Created] (IGNITE-13886) Change units of cache-related histograms to milliseconds

2020-12-22 Thread Denis Mekhanikov (Jira)
Denis Mekhanikov created IGNITE-13886:
-

 Summary: Change units of cache-related histograms to milliseconds
 Key: IGNITE-13886
 URL: https://issues.apache.org/jira/browse/IGNITE-13886
 Project: Ignite
  Issue Type: Improvement
Reporter: Denis Mekhanikov


Ignite has different metrics that have the "histogram" type:
 * tx.nodeSystemTimeHistogram
 * tx.nodeUserTimeHistogram
 * pme.DurationHistogram
 * pme.CacheOperationsBlockedDurationHistogram
 * cache..GetTime
 * cache..PutTime
 * cache..RemoveTime
 * cache..CommitTime
 * cache..RollbackTime

First four have buckets corresponding to the amount of time the operation took 
in milliseconds.

Cache-related histograms are measured in nanoseconds, while it would be enough 
to use milliseconds there as well.

It's hard to distinguish between 1 and 10 nanoseconds visually.

The following set of buckets should be used:
 * 1
 * 10
 * 100
 * 250
 * 1000

The values are provided in milliseconds.



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


[jira] [Commented] (IGNITE-13886) Change units of cache-related histograms to milliseconds

2020-12-22 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov commented on IGNITE-13886:
---

[~NSAmelchev] it seems that you've added these metrics. Do you think we can 
convert buckets from nanoseconds to milliseconds?

> Change units of cache-related histograms to milliseconds
> 
>
> Key: IGNITE-13886
> URL: https://issues.apache.org/jira/browse/IGNITE-13886
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Denis Mekhanikov
>Priority: Major
>
> Ignite has different metrics that have the "histogram" type:
>  * tx.nodeSystemTimeHistogram
>  * tx.nodeUserTimeHistogram
>  * pme.DurationHistogram
>  * pme.CacheOperationsBlockedDurationHistogram
>  * cache..GetTime
>  * cache..PutTime
>  * cache..RemoveTime
>  * cache..CommitTime
>  * cache..RollbackTime
> First four have buckets corresponding to the amount of time the operation 
> took in milliseconds.
> Cache-related histograms are measured in nanoseconds, while it would be 
> enough to use milliseconds there as well.
> It's hard to distinguish between 1 and 10 nanoseconds 
> visually.
> The following set of buckets should be used:
>  * 1
>  * 10
>  * 100
>  * 250
>  * 1000
> The values are provided in milliseconds.



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


[jira] [Commented] (IGNITE-13631) Improve names and descriptions of data storage metrics

2020-11-30 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov commented on IGNITE-13631:
---

[~agura] could you take a look?

> Improve names and descriptions of data storage metrics
> --
>
> Key: IGNITE-13631
> URL: https://issues.apache.org/jira/browse/IGNITE-13631
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Denis Mekhanikov
>Assignee: Denis Mekhanikov
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Data storage metrics have unclear descriptions. They need to be improved.
> ||Metric||Description||Comment||
> |*WalLoggingRate*|Average number of WAL records per second written during the 
> last time interval.|The "time interval" part is unclear. Which time interval?|
> |*WalFsyncTimeDuration*|Total duration of fsync|Why not just 
> *WalFsyncDuration*?
> The description could be more verbose.|
> |*WalFsyncTimeNum*|Total count of fsync|Why not just *WalFsyncNum*? The 
> description could be more verbose|
> |*WalBuffPollSpinsRate*|WAL buffer poll spins number over the last time 
> interval. |Over which time interval?|
> |*LastCheckpointMarkDuration*|Duration of the checkpoint lock wait in 
> milliseconds |The description doesn't match the name.|
> |*CheckpointTotalTime*|Total duration of checkpoint|Is it the duration of the 
> last checkpoint or all checkpoints from the beginning?|
> |*StorageSize*|Storage space allocated, in bytes.|It's unclear which storage 
> this is about. Is disk included, or is it just about memory?|
> |*WalTotalSize*|Total size in bytes for storage wal files.|WAL should be 
> capital. The grammar|



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


[jira] [Commented] (IGNITE-13631) Improve names and descriptions of data storage metrics

2020-11-30 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov commented on IGNITE-13631:
---

The following metrics were renamed:

WalFsyncTimeDuration -> WalFsyncDuration

WalFsyncTimeNum -> WalFsyncNum

For other metrics only descriptions were changed.

> Improve names and descriptions of data storage metrics
> --
>
> Key: IGNITE-13631
> URL: https://issues.apache.org/jira/browse/IGNITE-13631
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Denis Mekhanikov
>Assignee: Denis Mekhanikov
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Data storage metrics have unclear descriptions. They need to be improved.
> ||Metric||Description||Comment||
> |*WalLoggingRate*|Average number of WAL records per second written during the 
> last time interval.|The "time interval" part is unclear. Which time interval?|
> |*WalFsyncTimeDuration*|Total duration of fsync|Why not just 
> *WalFsyncDuration*?
> The description could be more verbose.|
> |*WalFsyncTimeNum*|Total count of fsync|Why not just *WalFsyncNum*? The 
> description could be more verbose|
> |*WalBuffPollSpinsRate*|WAL buffer poll spins number over the last time 
> interval. |Over which time interval?|
> |*LastCheckpointMarkDuration*|Duration of the checkpoint lock wait in 
> milliseconds |The description doesn't match the name.|
> |*CheckpointTotalTime*|Total duration of checkpoint|Is it the duration of the 
> last checkpoint or all checkpoints from the beginning?|
> |*StorageSize*|Storage space allocated, in bytes.|It's unclear which storage 
> this is about. Is disk included, or is it just about memory?|
> |*WalTotalSize*|Total size in bytes for storage wal files.|WAL should be 
> capital. The grammar|



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


[jira] [Commented] (IGNITE-13487) Decrease logging level for exceptions thrown from compute engine

2020-11-30 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov commented on IGNITE-13487:
---

[~nizhikov] could you take a look?

> Decrease logging level for exceptions thrown from compute engine
> 
>
> Key: IGNITE-13487
> URL: https://issues.apache.org/jira/browse/IGNITE-13487
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Denis Mekhanikov
>Assignee: Denis Mekhanikov
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> When a compute job fails during execution, it leads to two error messages 
> printed on different nodes:
> 1. {{Failed to execute job}} on the map node.
>  2. {{Failed to obtain remote job result policy for result from 
> ComputeTask.result(..) method (will fail the whole task)}} on the reduce node.
> Also an exception is thrown from the {{execute()}} method that triggered this 
> task.
> It seems that none of these errors should actually be shown to users. This 
> information should be printed only if debug logging is enabled for the 
> corresponding packages.
> The issue can be reproduced by running the following example:
> {code:java}
> public class ComputeException {
> public static void main(String[] args) {
> new ComputeException().run();
> }
> void run() {
> IgniteConfiguration igniteCfg = 
> Ignition.loadSpringBean("config/ignite.xml", "ignite.cfg");
> igniteCfg.setClientMode(true);
> try (Ignite ignite = Ignition.start(igniteCfg)) {
> ignite.compute(ignite.cluster().forServers()).execute(new 
> ErroneousTask(), null);
> }
> }
> public static class ErroneousTask extends ComputeTaskAdapter Object> {
> @Override public @NotNull Map 
> map(List list,
> @Nullable Object o) throws IgniteException {
> LinkedHashMap map = new 
> LinkedHashMap<>();
> for (ClusterNode node : list)
> map.put(new ErroneousJob(), node);
> return map;
> }
> @Override public @Nullable Object reduce(List list) 
> throws IgniteException {
> return null;
> }
> }
> public static class ErroneousJob extends ComputeJobAdapter {
> @Override public Object execute() throws IgniteException {
> throw new IgniteException("I failed. Sorry :(");
> }
> }
> }
> {code}



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


[jira] [Created] (IGNITE-13642) Nodes fail when they meet objects of unknown type in metastorage

2020-10-29 Thread Denis Mekhanikov (Jira)
Denis Mekhanikov created IGNITE-13642:
-

 Summary: Nodes fail when they meet objects of unknown type in 
metastorage
 Key: IGNITE-13642
 URL: https://issues.apache.org/jira/browse/IGNITE-13642
 Project: Ignite
  Issue Type: Bug
Affects Versions: 2.9
Reporter: Denis Mekhanikov


When a node sees an object of a class that is missing on this node's classpath, 
it fails with the following exception:
{noformat}
[16:46:47,134][SEVERE][disco-notifier-worker-#41][] 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=CRITICAL_ERROR, err=class 
o.a.i.IgniteCheckedException: Failed to find class with given class loader for 
unmarshalling (make sure same versions of all classes are available on all 
nodes or enable peer-class-loading) 
[clsLdr=sun.misc.Launcher$AppClassLoader@764c12b6, 
cls=example.ClientNode$BamboozleClass]]]
class org.apache.ignite.IgniteCheckedException: Failed to find class with given 
class loader for unmarshalling (make sure same versions of all classes are 
available on all nodes or enable peer-class-loading) 
[clsLdr=sun.misc.Launcher$AppClassLoader@764c12b6, 
cls=example.ClientNode$BamboozleClass]
at 
org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal0(JdkMarshaller.java:128)
at 
org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal0(JdkMarshaller.java:138)
at 
org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:80)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageUtil.unmarshal(DistributedMetaStorageUtil.java:61)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.completeWrite(DistributedMetaStorageImpl.java:1161)
at 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl.onUpdateMessage(DistributedMetaStorageImpl.java:1089)
at 
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$4.onDiscovery0(GridDiscoveryManager.java:650)
at 
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$4.lambda$onDiscovery$0(GridDiscoveryManager.java:521)
at 
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryMessageNotifierWorker.body0(GridDiscoveryManager.java:2718)
at 
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryMessageNotifierWorker.body(GridDiscoveryManager.java:2756)
at 
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:119)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: example.ClientNode$BamboozleClass
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at 
org.apache.ignite.internal.util.IgniteUtils.forName(IgniteUtils.java:9061)
at 
org.apache.ignite.marshaller.jdk.JdkMarshallerObjectInputStream.resolveClass(JdkMarshallerObjectInputStream.java:58)
at 
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1925)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1808)
at 
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2099)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1625)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:465)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:423)
at 
org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal0(JdkMarshaller.java:123)
... 11 more{noformat}
The result is that one node can write an object of some custom class to the 
metastorage and make all other nodes fail.

The following reproducer can be used:
{code:java}
public class ClientNode {
public static void main(String[] args) throws IgniteCheckedException {
IgniteConfiguration igniteCfg = nodeConfiguration().setClientMode(true);

IgniteKernal ignite = (IgniteKernal) Ignition.start(igniteCfg);
DistributedMetaStorage metaStorage = 
ignite.context().distributedMetastorage();

metaStorage.write("hey", new BamboozleClass());
}

private static IgniteConfiguration nodeConfiguration() {
IgniteConfiguration igniteCfg = new IgniteConfiguration();

TcpDiscoverySpi discoverySpi = new 

[jira] [Created] (IGNITE-13631) Improve names and descriptions of data storage metrics

2020-10-27 Thread Denis Mekhanikov (Jira)
Denis Mekhanikov created IGNITE-13631:
-

 Summary: Improve names and descriptions of data storage metrics
 Key: IGNITE-13631
 URL: https://issues.apache.org/jira/browse/IGNITE-13631
 Project: Ignite
  Issue Type: Improvement
Reporter: Denis Mekhanikov
Assignee: Denis Mekhanikov


Data storage metrics have unclear descriptions. They need to be improved.
||Metric||Description||Comment||
|*WalLoggingRate*|Average number of WAL records per second written during the 
last time interval.|The "time interval" part is unclear. Which time interval?|
|*WalFsyncTimeDuration*|Total duration of fsync|Why not just *WalFsyncDuration*?
The description could be more verbose.|
|*WalFsyncTimeNum*|Total count of fsync|Why not just *WalFsyncNum*? The 
description could be more verbose|
|*WalBuffPollSpinsRate*|WAL buffer poll spins number over the last time 
interval. |Over which time interval?|
|*LastCheckpointMarkDuration*|Duration of the checkpoint lock wait in 
milliseconds |The description doesn't match the name.|
|*CheckpointTotalTime*|Total duration of checkpoint|Is it the duration of the 
last checkpoint or all checkpoints from the beginning?|
|*StorageSize*|Storage space allocated, in bytes.|It's unclear which storage 
this is about. Is disk included, or is it just about memory?|
|*WalTotalSize*|Total size in bytes for storage wal files.|WAL should be 
capital. The grammar|



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


[jira] [Commented] (IGNITE-12794) Scan query fails with an assertion error: Unexpected row key

2020-10-26 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov commented on IGNITE-12794:
---

[~alex_pl] we've merged it into our fork – GridGain, and it works fine there. 
Let's merge it here as well.

> Scan query fails with an assertion error: Unexpected row key
> 
>
> Key: IGNITE-12794
> URL: https://issues.apache.org/jira/browse/IGNITE-12794
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.8
>Reporter: Denis Mekhanikov
>Assignee: Denis Mekhanikov
>Priority: Major
> Fix For: 2.10
>
> Attachments: ScanQueryExample.java
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Scan query fails with an exception:
> {noformat}
> Exception in thread "main" java.lang.AssertionError: Unexpected row key
>   at 
> org.apache.ignite.internal.processors.cache.GridCacheMapEntry.unswap(GridCacheMapEntry.java:548)
>   at 
> org.apache.ignite.internal.processors.cache.GridCacheMapEntry.unswap(GridCacheMapEntry.java:512)
>   at 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$ScanQueryIterator.advance(GridCacheQueryManager.java:3045)
>   at 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$ScanQueryIterator.onHasNext(GridCacheQueryManager.java:2997)
>   at 
> org.apache.ignite.internal.util.GridCloseableIteratorAdapter.hasNextX(GridCloseableIteratorAdapter.java:53)
>   at 
> org.apache.ignite.internal.util.lang.GridIteratorAdapter.hasNext(GridIteratorAdapter.java:45)
>   at 
> org.apache.ignite.internal.processors.cache.QueryCursorImpl.getAll(QueryCursorImpl.java:127)
>   at scan.ScanQueryExample.main(ScanQueryExample.java:31)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>   at java.lang.Thread.run(Thread.java:748)"
> {noformat}
> The issue is reproduced when performing concurrent scan queries and updates. 
> A reproducer is attached. You will need to enable asserts in order to 
> reproduce this issue.



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


[jira] [Commented] (IGNITE-13398) NPE in IgniteServiceProcessor when destroying a cache

2020-10-23 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov commented on IGNITE-13398:
---

The patch looks good to me.

> NPE in IgniteServiceProcessor when destroying a cache 
> --
>
> Key: IGNITE-13398
> URL: https://issues.apache.org/jira/browse/IGNITE-13398
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.8, 2.8.1
>Reporter: Denis Mekhanikov
>Assignee: Ilya Kazakov
>Priority: Major
> Attachments: Main.java
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Try running the attached reproducer: [^Main.java]. The following exception is 
> printed to the logs:
> {noformat}
> Sep 03, 2020 12:13:58 PM org.apache.ignite.logger.java.JavaLogger error
> SEVERE: Failed to notify direct custom event listener: 
> DynamicCacheChangeBatch [id=c1d6e335471-6bafb375-9d3e-487a-974d-35927ae02c04, 
> reqs=ArrayList [DynamicCacheChangeRequest [cacheName=foo, hasCfg=false, 
> nodeId=5e41fda8-e749-432c-9832-7b1c6ee3d0c8, clientStartOnly=false, 
> stop=true, destroy=false, disabledAfterStartfalse]], 
> exchangeActions=ExchangeActions [startCaches=null, stopCaches=[foo], 
> startGrps=[], stopGrps=[foo, destroy=true], resetParts=null, 
> stateChangeRequest=null], startCaches=false]
> java.lang.NullPointerException
>   at 
> org.apache.ignite.internal.processors.service.IgniteServiceProcessor.lambda$processDynamicCacheChangeRequest$6(IgniteServiceProcessor.java:1694)
>   at java.util.Collection.removeIf(Collection.java:414)
>   at 
> org.apache.ignite.internal.processors.service.IgniteServiceProcessor.processDynamicCacheChangeRequest(IgniteServiceProcessor.java:1691)
>   at 
> org.apache.ignite.internal.processors.service.IgniteServiceProcessor.access$200(IgniteServiceProcessor.java:108)
>   at 
> org.apache.ignite.internal.processors.service.IgniteServiceProcessor$3.onCustomEvent(IgniteServiceProcessor.java:232)
>   at 
> org.apache.ignite.internal.processors.service.IgniteServiceProcessor$3.onCustomEvent(IgniteServiceProcessor.java:229)
>   at 
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$4.onDiscovery0(GridDiscoveryManager.java:665)
>   at 
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$4.lambda$onDiscovery$0(GridDiscoveryManager.java:528)
>   at 
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryMessageNotifierWorker.body0(GridDiscoveryManager.java:2608)
>   at 
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryMessageNotifierWorker.body(GridDiscoveryManager.java:2646)
>   at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
>   at java.lang.Thread.run(Thread.java:748)
> {noformat}



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


[jira] [Updated] (IGNITE-13487) Decrease logging level for exceptions thrown from compute engine

2020-09-25 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov updated IGNITE-13487:
--
Summary: Decrease logging level for exceptions thrown from compute engine  
(was: Decrease logging level for exceptions throws from compute engine)

> Decrease logging level for exceptions thrown from compute engine
> 
>
> Key: IGNITE-13487
> URL: https://issues.apache.org/jira/browse/IGNITE-13487
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Denis Mekhanikov
>Assignee: Denis Mekhanikov
>Priority: Major
>
> When a compute job fails during execution, it leads to two error messages 
> printed on different nodes:
> 1. {{Failed to execute job}} on the map node.
>  2. {{Failed to obtain remote job result policy for result from 
> ComputeTask.result(..) method (will fail the whole task)}} on the reduce node.
> Also an exception is thrown from the {{execute()}} method that triggered this 
> task.
> It seems that none of these errors should actually be shown to users. This 
> information should be printed only if debug logging is enabled for the 
> corresponding packages.
> The issue can be reproduced by running the following example:
> {code:java}
> public class ComputeException {
> public static void main(String[] args) {
> new ComputeException().run();
> }
> void run() {
> IgniteConfiguration igniteCfg = 
> Ignition.loadSpringBean("config/ignite.xml", "ignite.cfg");
> igniteCfg.setClientMode(true);
> try (Ignite ignite = Ignition.start(igniteCfg)) {
> ignite.compute(ignite.cluster().forServers()).execute(new 
> ErroneousTask(), null);
> }
> }
> public static class ErroneousTask extends ComputeTaskAdapter Object> {
> @Override public @NotNull Map 
> map(List list,
> @Nullable Object o) throws IgniteException {
> LinkedHashMap map = new 
> LinkedHashMap<>();
> for (ClusterNode node : list)
> map.put(new ErroneousJob(), node);
> return map;
> }
> @Override public @Nullable Object reduce(List list) 
> throws IgniteException {
> return null;
> }
> }
> public static class ErroneousJob extends ComputeJobAdapter {
> @Override public Object execute() throws IgniteException {
> throw new IgniteException("I failed. Sorry :(");
> }
> }
> }
> {code}



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


[jira] [Created] (IGNITE-13487) Decrease logging level for exceptions throws from compute engine

2020-09-25 Thread Denis Mekhanikov (Jira)
Denis Mekhanikov created IGNITE-13487:
-

 Summary: Decrease logging level for exceptions throws from compute 
engine
 Key: IGNITE-13487
 URL: https://issues.apache.org/jira/browse/IGNITE-13487
 Project: Ignite
  Issue Type: Improvement
Reporter: Denis Mekhanikov
Assignee: Denis Mekhanikov


When a compute job fails during execution, it leads to two error messages 
printed on different nodes:

1. {{Failed to execute job}} on the map node.
 2. {{Failed to obtain remote job result policy for result from 
ComputeTask.result(..) method (will fail the whole task)}} on the reduce node.

Also an exception is thrown from the {{execute()}} method that triggered this 
task.

It seems that none of these errors should actually be shown to users. This 
information should be printed only if debug logging is enabled for the 
corresponding packages.

The issue can be reproduced by running the following example:
{code:java}
public class ComputeException {
public static void main(String[] args) {
new ComputeException().run();
}

void run() {
IgniteConfiguration igniteCfg = 
Ignition.loadSpringBean("config/ignite.xml", "ignite.cfg");
igniteCfg.setClientMode(true);

try (Ignite ignite = Ignition.start(igniteCfg)) {
ignite.compute(ignite.cluster().forServers()).execute(new 
ErroneousTask(), null);
}
}

public static class ErroneousTask extends ComputeTaskAdapter {
@Override public @NotNull Map 
map(List list,
@Nullable Object o) throws IgniteException {
LinkedHashMap map = new 
LinkedHashMap<>();
for (ClusterNode node : list)
map.put(new ErroneousJob(), node);

return map;
}

@Override public @Nullable Object reduce(List list) 
throws IgniteException {
return null;
}
}

public static class ErroneousJob extends ComputeJobAdapter {
@Override public Object execute() throws IgniteException {
throw new IgniteException("I failed. Sorry :(");
}
}
}
{code}



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


[jira] [Commented] (IGNITE-13399) CpuLoad metric reports -1 under Java 11 in embedded mode

2020-09-25 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov commented on IGNITE-13399:
---

[~agura], yes, it's still actual. IGNITE-13306 addressed only the case of a 
standalone node started using {{ignite.sh}}.

> CpuLoad metric reports -1 under Java 11 in embedded mode
> 
>
> Key: IGNITE-13399
> URL: https://issues.apache.org/jira/browse/IGNITE-13399
> Project: Ignite
>  Issue Type: Bug
>Reporter: Denis Mekhanikov
>Priority: Major
>
> When running a node in embedded mode under Java 11, the CpuLoad metric 
> reports -1. The process needs to be started with the following option: 
> {{--add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED}}
> We need to get rid of this requirement to run Java with additional flags to 
> get proper values for the CpuLoad metric.
> Some investigation was done under the following issue: 
> https://issues.apache.org/jira/browse/IGNITE-13306



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


[jira] [Created] (IGNITE-13399) CpuLoad metric reports -1 under Java 11 in embedded mode

2020-09-03 Thread Denis Mekhanikov (Jira)
Denis Mekhanikov created IGNITE-13399:
-

 Summary: CpuLoad metric reports -1 under Java 11 in embedded mode
 Key: IGNITE-13399
 URL: https://issues.apache.org/jira/browse/IGNITE-13399
 Project: Ignite
  Issue Type: Bug
Reporter: Denis Mekhanikov


When running a node in embedded mode under Java 11, the CpuLoad metric reports 
-1. The process needs to be started with the following option: 

{{--add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED}}

We need to get rid of this requirement to run Java with additional flags to get 
proper values for the CpuLoad metric.

Some investigation was done under the following issue: 
https://issues.apache.org/jira/browse/IGNITE-13306



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


[jira] [Created] (IGNITE-13398) NPE in IgniteServiceProcessor when destroying a cache

2020-09-03 Thread Denis Mekhanikov (Jira)
Denis Mekhanikov created IGNITE-13398:
-

 Summary: NPE in IgniteServiceProcessor when destroying a cache 
 Key: IGNITE-13398
 URL: https://issues.apache.org/jira/browse/IGNITE-13398
 Project: Ignite
  Issue Type: Bug
Reporter: Denis Mekhanikov
 Attachments: Main.java

Try running the attached reproducer: [^Main.java]. The following exception is 
printed to the logs:
{noformat}
Sep 03, 2020 12:13:58 PM org.apache.ignite.logger.java.JavaLogger error
SEVERE: Failed to notify direct custom event listener: DynamicCacheChangeBatch 
[id=c1d6e335471-6bafb375-9d3e-487a-974d-35927ae02c04, reqs=ArrayList 
[DynamicCacheChangeRequest [cacheName=foo, hasCfg=false, 
nodeId=5e41fda8-e749-432c-9832-7b1c6ee3d0c8, clientStartOnly=false, stop=true, 
destroy=false, disabledAfterStartfalse]], exchangeActions=ExchangeActions 
[startCaches=null, stopCaches=[foo], startGrps=[], stopGrps=[foo, 
destroy=true], resetParts=null, stateChangeRequest=null], startCaches=false]
java.lang.NullPointerException
at 
org.apache.ignite.internal.processors.service.IgniteServiceProcessor.lambda$processDynamicCacheChangeRequest$6(IgniteServiceProcessor.java:1694)
at java.util.Collection.removeIf(Collection.java:414)
at 
org.apache.ignite.internal.processors.service.IgniteServiceProcessor.processDynamicCacheChangeRequest(IgniteServiceProcessor.java:1691)
at 
org.apache.ignite.internal.processors.service.IgniteServiceProcessor.access$200(IgniteServiceProcessor.java:108)
at 
org.apache.ignite.internal.processors.service.IgniteServiceProcessor$3.onCustomEvent(IgniteServiceProcessor.java:232)
at 
org.apache.ignite.internal.processors.service.IgniteServiceProcessor$3.onCustomEvent(IgniteServiceProcessor.java:229)
at 
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$4.onDiscovery0(GridDiscoveryManager.java:665)
at 
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$4.lambda$onDiscovery$0(GridDiscoveryManager.java:528)
at 
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryMessageNotifierWorker.body0(GridDiscoveryManager.java:2608)
at 
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryMessageNotifierWorker.body(GridDiscoveryManager.java:2646)
at 
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
at java.lang.Thread.run(Thread.java:748)
{noformat}



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


[jira] [Commented] (IGNITE-13306) CpuLoad metric return -1 under Java 11

2020-08-07 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov commented on IGNITE-13306:
---

[~slukyanov], this fix doesn't work. The issue is that we try to access a 
public method in an internal class. In case of OpenJDK Hotspot it's 
{{com.sun.management.internal.OperatingSystemImpl}}.
The proper way to fix this issue would be to cast the used 
{{java.lang.management.OperatingSystemMXBean}} object to 
{{com.sun.management.OperatingSystemMXBean}} and use the method 
{{OperatingSystemMXBean#getSystemCpuLoad}} from there. But in this case we will 
rely on the Sun interface (which we probably already rely on). 
Another option is to access this method through reflection using the public 
interface somehow, but not the implementation class. This is better than the 
first option only in case if there is another implementation of 
{{OperatingSystemMXBean}} that has a {{getSystemCpuLoad}} method. 

> CpuLoad metric return -1 under Java 11
> --
>
> Key: IGNITE-13306
> URL: https://issues.apache.org/jira/browse/IGNITE-13306
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.8.1
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
> Fix For: 2.9
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Start cluster under Java 11.
> Observed: 
>  CpuLoad metric will return -1
> Expected:
>  Real CpuLoad.
> We investigated this issue and found that under Java 11 code failed with 
> following trace:
> {code:java}
> class org.apache.ignite.IgniteException: Failed to get property value 
> [property=processCpuTime, 
> obj=com.sun.management.internal.OperatingSystemImpl@1dd92fe2] at 
> org.apache.ignite.internal.util.IgniteUtils.property(IgniteUtils.java:8306) 
> at 
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$MetricsUpdater.getCpuLoad(GridDiscoveryManager.java:3131)
>  at 
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$MetricsUpdater.run(GridDiscoveryManager.java:3093)
>  at 
> org.apache.ignite.internal.processors.timeout.GridTimeoutProcessor$CancelableTask.onTimeout(GridTimeoutProcessor.java:364)
>  at 
> org.apache.ignite.internal.processors.timeout.GridTimeoutProcessor$TimeoutWorker.body(GridTimeoutProcessor.java:233)
>  at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:119) at 
> java.base/java.lang.Thread.run(Thread.java:834) Caused by: 
> java.lang.reflect.InaccessibleObjectException: Unable to make public long 
> com.sun.management.internal.OperatingSystemImpl.getProcessCpuTime() 
> accessible: module jdk.management does not "opens 
> com.sun.management.internal" to unnamed module @35fb3008 at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:340)
>  at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:280)
>  at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:198) 
> at java.base/java.lang.reflect.Method.setAccessible(Method.java:192) at 
> org.apache.ignite.internal.util.IgniteUtils.property(IgniteUtils.java:8297) 
> ... 6 more
> {code}
> Under Java 8 metric has expected value.
>  
> Solution:
> The behaviour is expected because in Java 11 the CPU load metrics is moved to 
> JDK internal module which is not accessible by default. Adding the following 
> line to the jvm in which Ignite node is started should solve the issue:
> {noformat}
> --add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED{noformat}



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


[jira] [Commented] (IGNITE-13288) Include few system events by default

2020-07-29 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov commented on IGNITE-13288:
---

The fix looks good to me. I left a minor comment in the PR.

> Include few system events by default
> 
>
> Key: IGNITE-13288
> URL: https://issues.apache.org/jira/browse/IGNITE-13288
> Project: Ignite
>  Issue Type: Wish
>Reporter: Aleksandr Kozhenkov
>Assignee: Aleksandr Kozhenkov
>Priority: Minor
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> There are discovery events that are listened to by all nodes.
> It will be useful to include these events to listen on all nodes by default 
> too:
>    - EVT_CLUSTER_ACTIVATED
>    - EVT_CLUSTER_DEACTIVATED
>    - EVT_BASELINE_CHANGED
>    - EVT_CLUSTER_STATE_CHANGED
>  
> They all are rare, system and cluster-wide.



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


[jira] [Commented] (IGNITE-13306) CpuLoad metric return -1 under Java 11

2020-07-29 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov commented on IGNITE-13306:
---

[~ibessonov] there are different possible ways to solve this issue. 

One of them is to cast the {{java.lang.management.OperatingSystemMXBean}} to 
{{com.sun.management.OperatingSystemMXBean}} and call {{getProcessCpuTime()}} 
directly. This way metrics will only work on those JVMs that have 
{{com.sun.management.OperatingSystemMXBean}}, which is platform-specific.

Another way is to figure out how to call {{getProcessCpuTime()}} via reflection 
without violating any checks. It's possible that there are other 
implementations of {{java.lang.management.OperatingSystemMXBean}} that have 
this method. But even if you remove the call to {{setAccessible(true)}}, then 
the exception will be thrown anyways, since the internal class 
{{OperatingSystemImpl}} will be used, even though a public interface is present.

So, I suggest merging this change as a temporary workaround that will work for 
most cases, and see how it can be fixed properly in a separate ticket.

> CpuLoad metric return -1 under Java 11
> --
>
> Key: IGNITE-13306
> URL: https://issues.apache.org/jira/browse/IGNITE-13306
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.8.1
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
> Fix For: 2.9
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Start cluster under Java 11.
> Observed: 
>  CpuLoad metric will return -1
> Expected:
>  Real CpuLoad.
> We investigated this issue and found that under Java 11 code failed with 
> following trace:
> {code:java}
> class org.apache.ignite.IgniteException: Failed to get property value 
> [property=processCpuTime, 
> obj=com.sun.management.internal.OperatingSystemImpl@1dd92fe2] at 
> org.apache.ignite.internal.util.IgniteUtils.property(IgniteUtils.java:8306) 
> at 
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$MetricsUpdater.getCpuLoad(GridDiscoveryManager.java:3131)
>  at 
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$MetricsUpdater.run(GridDiscoveryManager.java:3093)
>  at 
> org.apache.ignite.internal.processors.timeout.GridTimeoutProcessor$CancelableTask.onTimeout(GridTimeoutProcessor.java:364)
>  at 
> org.apache.ignite.internal.processors.timeout.GridTimeoutProcessor$TimeoutWorker.body(GridTimeoutProcessor.java:233)
>  at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:119) at 
> java.base/java.lang.Thread.run(Thread.java:834) Caused by: 
> java.lang.reflect.InaccessibleObjectException: Unable to make public long 
> com.sun.management.internal.OperatingSystemImpl.getProcessCpuTime() 
> accessible: module jdk.management does not "opens 
> com.sun.management.internal" to unnamed module @35fb3008 at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:340)
>  at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:280)
>  at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:198) 
> at java.base/java.lang.reflect.Method.setAccessible(Method.java:192) at 
> org.apache.ignite.internal.util.IgniteUtils.property(IgniteUtils.java:8297) 
> ... 6 more
> {code}
> Under Java 8 metric has expected value.
>  
> Solution:
> The behaviour is expected because in Java 11 the CPU load metrics is moved to 
> JDK internal module which is not accessible by default. Adding the following 
> line to the jvm in which Ignite node is started should solve the issue:
> {noformat}
> --add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED{noformat}



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


[jira] [Commented] (IGNITE-10417) notifyDiscoveryListener() call can be lost.

2020-07-07 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov commented on IGNITE-10417:
---

[~alex_pl] it doesn't seem that Pavel is working on this issue anymore.  The 
patch is not ready to be merged.

[~voropava] can we mark it as open and unassigned, or do you have plans on 
resuming your work?

> notifyDiscoveryListener() call can be lost.
> ---
>
> Key: IGNITE-10417
> URL: https://issues.apache.org/jira/browse/IGNITE-10417
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.7
>Reporter: Pavel Voronkin
>Assignee: Pavel Voronkin
>Priority: Critical
> Fix For: 2.9
>
>
> 1) ServerImpl:5455 notifyDiscoveryListener can not be called in case of 
> spiState != CONNECTED, for example DISCONNECTING which is valid state 
> nevetheless inside notifyDiscoveryListener we check spiState == CONNECTED || 
> spiState == DISCONNECTING, also we need to improve logging in 
> notifyDiscoveryListener().
> 2)  Improve logging on duplicated custom discovery event.
> 3) Add assert if msg.creatorNodeId() doesn't exist in topology this is bad 
> behaviour taht should lead to node fail.
>  
>  
>  
>  
>  



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


[jira] [Assigned] (IGNITE-10077) P2P class loading shouldn't be applied to continuous queries with autoUnsubscribe=false

2020-05-21 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov reassigned IGNITE-10077:
-

Assignee: (was: Denis Mekhanikov)

> P2P class loading shouldn't be applied to continuous queries with 
> autoUnsubscribe=false
> ---
>
> Key: IGNITE-10077
> URL: https://issues.apache.org/jira/browse/IGNITE-10077
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Denis Mekhanikov
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> {{ContinuousQuery#autoUnsubscribe}} flag makes it possible to deploy a 
> continuous query, which won't be undeployed, when the subscriber node leaves.
>  P2P class loading is not applicable in these settings, because when the 
> subscriber leaves topology, it becomes impossible to load any classes from it 
> to new nodes.
>  So, P2P class loading should be disabled for continuous queries with 
> {{autoUnsubscribe=false}}
> Dev list discussion: 
> [http://apache-ignite-developers.2346864.n4.nabble.com/Continuous-query-deployment-td36732.html]



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


[jira] [Assigned] (IGNITE-8010) Validate marshaller mappings on join

2020-05-21 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov reassigned IGNITE-8010:


Assignee: (was: Denis Mekhanikov)

> Validate marshaller mappings on join
> 
>
> Key: IGNITE-8010
> URL: https://issues.apache.org/jira/browse/IGNITE-8010
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Denis Mekhanikov
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> When a new node joins topology, it sends its marshaller mappings in a 
> discovery join message.
> Additional validation should be implemented to make nodes with conflicting 
> marshaller mappings be rejected from connecting to the cluster.
> Such procedure is already implemented for binary metadata. Marshaller 
> mappings should be validated in a similar way.



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


[jira] [Commented] (IGNITE-12702) Print warning when a cache value contains @AffinityKeyMapped annotation

2020-03-26 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov commented on IGNITE-12702:
---

I only see a possibility to write such warnings when IgniteCache#put is 
performed. But we need to throttle such messages and make sure that no 
performance impact is going to be introduced in this case. For log throttling 
check out the following class: GridLogThrottle

Alternatively it can be a moment of type registration. But as far as I know, we 
don't propagate the information whether the object is going to be used as a key 
or a value to the code that performs the type registration.

> Print warning when a cache value contains @AffinityKeyMapped annotation
> ---
>
> Key: IGNITE-12702
> URL: https://issues.apache.org/jira/browse/IGNITE-12702
> Project: Ignite
>  Issue Type: Improvement
>  Components: cache
>Reporter: Denis Mekhanikov
>Assignee: Kartik Somani
>Priority: Major
>  Labels: newbie
>
> Consider the following code snippet:
> {code:java}
> public class WrongAffinityExample {
> public static void main(String[] args) {
> Ignite ignite = Ignition.start("config/ignite.xml");
> IgniteCache cache = 
> ignite.getOrCreateCache("employees");
> EmployeeKey key = new EmployeeKey(1);
> EmployeeValue value = new EmployeeValue(1, "Denis");
> cache.put(key, value);
> }
> public static class EmployeeKey {
> private int id;
> public EmployeeKey(int id) {
> this.id = id;
> }
> }
> public static class EmployeeValue {
> @AffinityKeyMapped
> int departmentId;
> String name;
> public EmployeeValue(int departmentId, String name) {
> this.departmentId = departmentId;
> this.name = name;
> }
> }
> }
> {code}
> Note, that {{EmployeeValue}} contains an {{@AffinityKeyMapped}} annotation, 
> which doesn't have any effect, since it's specified in a value, and not in a 
> key.
> Such mistake is simple to make and pretty hard to track down.
>  This configuration should trigger a warning message printed in log to let 
> the user know that this affinity key configuration is not applied.



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


[jira] [Commented] (IGNITE-12794) Scan query fails with an assertion error: Unexpected row key

2020-03-18 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov commented on IGNITE-12794:
---

A patch is ready: [https://github.com/apache/ignite/pull/7541]

[~gvvinblade] could you help with a review?

Thanks!

> Scan query fails with an assertion error: Unexpected row key
> 
>
> Key: IGNITE-12794
> URL: https://issues.apache.org/jira/browse/IGNITE-12794
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.8
>Reporter: Denis Mekhanikov
>Assignee: Denis Mekhanikov
>Priority: Major
> Fix For: 2.8.1
>
> Attachments: ScanQueryExample.java
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Scan query fails with an exception:
> {noformat}
> Exception in thread "main" java.lang.AssertionError: Unexpected row key
>   at 
> org.apache.ignite.internal.processors.cache.GridCacheMapEntry.unswap(GridCacheMapEntry.java:548)
>   at 
> org.apache.ignite.internal.processors.cache.GridCacheMapEntry.unswap(GridCacheMapEntry.java:512)
>   at 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$ScanQueryIterator.advance(GridCacheQueryManager.java:3045)
>   at 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$ScanQueryIterator.onHasNext(GridCacheQueryManager.java:2997)
>   at 
> org.apache.ignite.internal.util.GridCloseableIteratorAdapter.hasNextX(GridCloseableIteratorAdapter.java:53)
>   at 
> org.apache.ignite.internal.util.lang.GridIteratorAdapter.hasNext(GridIteratorAdapter.java:45)
>   at 
> org.apache.ignite.internal.processors.cache.QueryCursorImpl.getAll(QueryCursorImpl.java:127)
>   at scan.ScanQueryExample.main(ScanQueryExample.java:31)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>   at java.lang.Thread.run(Thread.java:748)"
> {noformat}
> The issue is reproduced when performing concurrent scan queries and updates. 
> A reproducer is attached. You will need to enable asserts in order to 
> reproduce this issue.



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


[jira] [Updated] (IGNITE-12794) Scan query fails with an assertion error: Unexpected row key

2020-03-18 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov updated IGNITE-12794:
--
Reviewer: Igor Seliverstov

> Scan query fails with an assertion error: Unexpected row key
> 
>
> Key: IGNITE-12794
> URL: https://issues.apache.org/jira/browse/IGNITE-12794
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.8
>Reporter: Denis Mekhanikov
>Assignee: Denis Mekhanikov
>Priority: Major
> Fix For: 2.8.1
>
> Attachments: ScanQueryExample.java
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Scan query fails with an exception:
> {noformat}
> Exception in thread "main" java.lang.AssertionError: Unexpected row key
>   at 
> org.apache.ignite.internal.processors.cache.GridCacheMapEntry.unswap(GridCacheMapEntry.java:548)
>   at 
> org.apache.ignite.internal.processors.cache.GridCacheMapEntry.unswap(GridCacheMapEntry.java:512)
>   at 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$ScanQueryIterator.advance(GridCacheQueryManager.java:3045)
>   at 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$ScanQueryIterator.onHasNext(GridCacheQueryManager.java:2997)
>   at 
> org.apache.ignite.internal.util.GridCloseableIteratorAdapter.hasNextX(GridCloseableIteratorAdapter.java:53)
>   at 
> org.apache.ignite.internal.util.lang.GridIteratorAdapter.hasNext(GridIteratorAdapter.java:45)
>   at 
> org.apache.ignite.internal.processors.cache.QueryCursorImpl.getAll(QueryCursorImpl.java:127)
>   at scan.ScanQueryExample.main(ScanQueryExample.java:31)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>   at java.lang.Thread.run(Thread.java:748)"
> {noformat}
> The issue is reproduced when performing concurrent scan queries and updates. 
> A reproducer is attached. You will need to enable asserts in order to 
> reproduce this issue.



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


[jira] [Created] (IGNITE-12794) Scan query fails with an assertion error: Unexpected row key

2020-03-17 Thread Denis Mekhanikov (Jira)
Denis Mekhanikov created IGNITE-12794:
-

 Summary: Scan query fails with an assertion error: Unexpected row 
key
 Key: IGNITE-12794
 URL: https://issues.apache.org/jira/browse/IGNITE-12794
 Project: Ignite
  Issue Type: Bug
Affects Versions: 2.8
Reporter: Denis Mekhanikov
Assignee: Denis Mekhanikov
 Attachments: ScanQueryExample.java

Scan query fails with an exception:
{noformat}
Exception in thread "main" java.lang.AssertionError: Unexpected row key
at 
org.apache.ignite.internal.processors.cache.GridCacheMapEntry.unswap(GridCacheMapEntry.java:548)
at 
org.apache.ignite.internal.processors.cache.GridCacheMapEntry.unswap(GridCacheMapEntry.java:512)
at 
org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$ScanQueryIterator.advance(GridCacheQueryManager.java:3045)
at 
org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$ScanQueryIterator.onHasNext(GridCacheQueryManager.java:2997)
at 
org.apache.ignite.internal.util.GridCloseableIteratorAdapter.hasNextX(GridCloseableIteratorAdapter.java:53)
at 
org.apache.ignite.internal.util.lang.GridIteratorAdapter.hasNext(GridIteratorAdapter.java:45)
at 
org.apache.ignite.internal.processors.cache.QueryCursorImpl.getAll(QueryCursorImpl.java:127)
at scan.ScanQueryExample.main(ScanQueryExample.java:31)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)"
{noformat}
The issue is reproduced when performing concurrent scan queries and updates. A 
reproducer is attached. You will need to enable asserts in order to reproduce 
this issue.



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


[jira] [Commented] (IGNITE-12503) Fix SSL configuration in Jetty REST: httpCfg assignment

2020-03-16 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov commented on IGNITE-12503:
---

This is a minor thing, so feel free to keep it the way you have it.

Please continue with a merge.

> Fix SSL configuration in Jetty REST: httpCfg assignment
> ---
>
> Key: IGNITE-12503
> URL: https://issues.apache.org/jira/browse/IGNITE-12503
> Project: Ignite
>  Issue Type: Bug
>  Components: rest
>Reporter: Ilya Kasnacheev
>Assignee: Ilya Kasnacheev
>Priority: Minor
>  Labels: easyfix
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> {code}
>  class="org.eclipse.jetty.server.HttpConnectionFactory">
> 
> 
> {code}
> should become
> {code}
>  class="org.eclipse.jetty.server.HttpConnectionFactory">
> 
> 
> {code}
> Or this assignment is not being made.



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


[jira] [Commented] (IGNITE-12503) Fix SSL configuration in Jetty REST: httpCfg assignment

2020-03-16 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov commented on IGNITE-12503:
---

[~ilyak] all examples of such configuration I could find in the documentation 
have a name of the argument specified explicitly. You can find an example here: 
[https://www.eclipse.org/jetty/documentation/9.4.x/configuring-connectors.html]

Do you know if that's a recommended way?

Otherwise looks good.

> Fix SSL configuration in Jetty REST: httpCfg assignment
> ---
>
> Key: IGNITE-12503
> URL: https://issues.apache.org/jira/browse/IGNITE-12503
> Project: Ignite
>  Issue Type: Bug
>  Components: rest
>Reporter: Ilya Kasnacheev
>Assignee: Ilya Kasnacheev
>Priority: Minor
>  Labels: easyfix
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> {code}
>  class="org.eclipse.jetty.server.HttpConnectionFactory">
> 
> 
> {code}
> should become
> {code}
>  class="org.eclipse.jetty.server.HttpConnectionFactory">
> 
> 
> {code}
> Or this assignment is not being made.



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


[jira] [Commented] (IGNITE-12753) Cache SSL contexts in SslContextFactory

2020-03-11 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov commented on IGNITE-12753:
---

[~ilyak] the tests are green. Could you help with a merge?

> Cache SSL contexts in SslContextFactory
> ---
>
> Key: IGNITE-12753
> URL: https://issues.apache.org/jira/browse/IGNITE-12753
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Denis Mekhanikov
>Assignee: Denis Mekhanikov
>Priority: Major
> Fix For: 2.9
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> When SSL is enabled in a cluster, SslContextFactory#createSslContext is 
> created every time when connections between nodes are created. It involves 
> accessing key storage on disk. It may slow down creation of new communication 
> connections and block striped pool threads if disks are slow.
> SSL contexts are stateless and can be shared between threads, so it's safe to 
> create an SSL context once and use the same instance every time.



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


[jira] [Created] (IGNITE-12753) Cache SSL contexts in SslContextFactory

2020-03-05 Thread Denis Mekhanikov (Jira)
Denis Mekhanikov created IGNITE-12753:
-

 Summary: Cache SSL contexts in SslContextFactory
 Key: IGNITE-12753
 URL: https://issues.apache.org/jira/browse/IGNITE-12753
 Project: Ignite
  Issue Type: Improvement
Reporter: Denis Mekhanikov
Assignee: Denis Mekhanikov


When SSL is enabled in a cluster, SslContextFactory#createSslContext is created 
every time when connections between nodes are created. It involves accessing 
key storage on disk. It may slow down creation of new communication connections 
and block striped pool threads if disks are slow.

SSL contexts are stateless and can be shared between threads, so it's safe to 
create an SSL context once and use the same instance every time.



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


[jira] [Updated] (IGNITE-12702) Print warning when a cache value contains @AffinityKeyMapped annotation

2020-02-19 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov updated IGNITE-12702:
--
Labels: newbie  (was: )

> Print warning when a cache value contains @AffinityKeyMapped annotation
> ---
>
> Key: IGNITE-12702
> URL: https://issues.apache.org/jira/browse/IGNITE-12702
> Project: Ignite
>  Issue Type: Improvement
>  Components: cache
>Reporter: Denis Mekhanikov
>Priority: Major
>  Labels: newbie
>
> Consider the following code snippet:
> {code:java}
> public class WrongAffinityExample {
> public static void main(String[] args) {
> Ignite ignite = Ignition.start("config/ignite.xml");
> IgniteCache cache = 
> ignite.getOrCreateCache("employees");
> EmployeeKey key = new EmployeeKey(1);
> EmployeeValue value = new EmployeeValue(1, "Denis");
> cache.put(key, value);
> }
> public static class EmployeeKey {
> private int id;
> public EmployeeKey(int id) {
> this.id = id;
> }
> }
> public static class EmployeeValue {
> @AffinityKeyMapped
> int departmentId;
> String name;
> public EmployeeValue(int departmentId, String name) {
> this.departmentId = departmentId;
> this.name = name;
> }
> }
> }
> {code}
> Note, that {{EmployeeValue}} contains an {{@AffinityKeyMapped}} annotation, 
> which doesn't have any effect, since it's specified in a value, and not in a 
> key.
> Such mistake is simple to make and pretty hard to track down.
>  This configuration should trigger a warning message printed in log to let 
> the user know that this affinity key configuration is not applied.



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


[jira] [Created] (IGNITE-12702) Print warning when a cache value contains @AffinityKeyMapped annotation

2020-02-19 Thread Denis Mekhanikov (Jira)
Denis Mekhanikov created IGNITE-12702:
-

 Summary: Print warning when a cache value contains 
@AffinityKeyMapped annotation
 Key: IGNITE-12702
 URL: https://issues.apache.org/jira/browse/IGNITE-12702
 Project: Ignite
  Issue Type: Improvement
  Components: cache
Reporter: Denis Mekhanikov


Consider the following code snippet:
{code:java}
public class WrongAffinityExample {
public static void main(String[] args) {
Ignite ignite = Ignition.start("config/ignite.xml");

IgniteCache cache = 
ignite.getOrCreateCache("employees");

EmployeeKey key = new EmployeeKey(1);
EmployeeValue value = new EmployeeValue(1, "Denis");
cache.put(key, value);
}

public static class EmployeeKey {
private int id;

public EmployeeKey(int id) {
this.id = id;
}
}

public static class EmployeeValue {
@AffinityKeyMapped
int departmentId;
String name;

public EmployeeValue(int departmentId, String name) {
this.departmentId = departmentId;
this.name = name;
}
}
}
{code}
Note, that {{EmployeeValue}} contains an {{@AffinityKeyMapped}} annotation, 
which doesn't have any effect, since it's specified in a value, and not in a 
key.

Such mistake is simple to make and pretty hard to track down.
 This configuration should trigger a warning message printed in log to let the 
user know that this affinity key configuration is not applied.



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


[jira] [Commented] (IGNITE-12480) Add BinaryFieldExtractionSelfTest to the Binary Objects test suite

2019-12-24 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov commented on IGNITE-12480:
---

A patch is ready. [~ilyak] could you help with a review?

PR: https://github.com/apache/ignite/pull/7179

> Add BinaryFieldExtractionSelfTest to the Binary Objects test suite
> --
>
> Key: IGNITE-12480
> URL: https://issues.apache.org/jira/browse/IGNITE-12480
> Project: Ignite
>  Issue Type: Test
>  Components: binary
>Reporter: Denis Mekhanikov
>Assignee: Denis Mekhanikov
>Priority: Major
> Fix For: 2.8
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> BinaryFieldExtractionSelfTest is not run on TeamCity because it's not 
> included into any test suite.
> It should be added into IgniteBinaryObjectsTestSuite



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


[jira] [Commented] (IGNITE-12479) All binary types are registered twice

2019-12-24 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov commented on IGNITE-12479:
---

A patch is ready. [~sergey-chugunov] could you help with a review?

PR: https://github.com/apache/ignite/pull/7178

> All binary types are registered twice
> -
>
> Key: IGNITE-12479
> URL: https://issues.apache.org/jira/browse/IGNITE-12479
> Project: Ignite
>  Issue Type: Bug
>  Components: binary
>Reporter: Denis Mekhanikov
>Assignee: Denis Mekhanikov
>Priority: Major
> Fix For: 2.8
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> When a POJO is put into a cache, its binary type is registered twice during 
> marshalling.
> Example:
> {code:java}
> public class MetadataRegistrationExample {
> public static void main(String[] args) {
> Ignite ignite = Ignition.start("config/ignite.xml");
> Person p = new Person("Denis");
> ignite.getOrCreateCache("cache").put(1, p);
> }
> static class Person {
> private String name;
> public Person(String name) {
> this.name = name;
> }
> }
> }
> {code}
>  
> Here is the generated debug log from the package
> {noformat}
> [23:31:14,020][DEBUG][main][CacheObjectBinaryProcessorImpl] Requesting 
> metadata update [typeId=-1210012928, 
> typeName=binary.NestedObjectMarshallingExample$Person, changedSchemas=[], 
> holder=null, fut=MetadataUpdateResultFuture [key=SyncKey [typeId=-1210012928, 
> ver=0]]]
> [23:31:14,023][DEBUG][disco-notifier-worker-#41][CacheObjectBinaryProcessorImpl]
>  Received MetadataUpdateProposedListener [typeId=-1210012928, 
> typeName=binary.NestedObjectMarshallingExample$Person, pendingVer=0, 
> acceptedVer=0, schemasCnt=0]
> [23:31:14,024][DEBUG][disco-notifier-worker-#41][CacheObjectBinaryProcessorImpl]
>  Versions are stamped on coordinator [typeId=-1210012928, changedSchemas=[], 
> pendingVer=1, acceptedVer=0]
> [23:31:14,024][DEBUG][disco-notifier-worker-#41][CacheObjectBinaryProcessorImpl]
>  Updated metadata on originating node: [typeId=-1210012928, pendingVer=1, 
> acceptedVer=0]
> [23:31:14,025][DEBUG][disco-notifier-worker-#41][CacheObjectBinaryProcessorImpl]
>  Received MetadataUpdateAcceptedMessage MetadataUpdateAcceptedMessage 
> [id=599e0a86c61-183a790b-7038-4dd5-b99d-89f1483e3635, typeId=-1210012928, 
> acceptedVer=1, duplicated=false]
> [23:31:14,025][DEBUG][disco-notifier-worker-#41][CacheObjectBinaryProcessorImpl]
>  Completing future MetadataUpdateResultFuture [key=SyncKey 
> [typeId=-1210012928, ver=1]] for [typeId=-1210012928, pendingVer=1, 
> acceptedVer=1]
> [23:31:14,026][DEBUG][main][CacheObjectBinaryProcessorImpl] Completed 
> metadata update [typeId=-1210012928, 
> typeName=binary.NestedObjectMarshallingExample$Person, waitTime=4ms, 
> fut=MetadataUpdateResultFuture [key=SyncKey [typeId=-1210012928, ver=1]], 
> tx=null]
> [23:31:14,027][DEBUG][main][CacheObjectBinaryProcessorImpl] Requesting 
> metadata update [typeId=-1210012928, 
> typeName=binary.NestedObjectMarshallingExample$Person, 
> changedSchemas=[1975878747], holder=[typeId=-1210012928, pendingVer=1, 
> acceptedVer=1], fut=MetadataUpdateResultFuture [key=SyncKey 
> [typeId=-1210012928, ver=0]]]
> [23:31:14,027][DEBUG][disco-notifier-worker-#41][CacheObjectBinaryProcessorImpl]
>  Received MetadataUpdateProposedListener [typeId=-1210012928, 
> typeName=binary.NestedObjectMarshallingExample$Person, pendingVer=0, 
> acceptedVer=0, schemasCnt=1]
> [23:31:14,028][DEBUG][disco-notifier-worker-#41][CacheObjectBinaryProcessorImpl]
>  Versions are stamped on coordinator [typeId=-1210012928, 
> changedSchemas=[1975878747], pendingVer=2, acceptedVer=1]
> [23:31:14,028][DEBUG][disco-notifier-worker-#41][CacheObjectBinaryProcessorImpl]
>  Updated metadata on originating node: [typeId=-1210012928, pendingVer=2, 
> acceptedVer=1]
> [23:31:14,028][DEBUG][disco-notifier-worker-#41][CacheObjectBinaryProcessorImpl]
>  Received MetadataUpdateAcceptedMessage MetadataUpdateAcceptedMessage 
> [id=d99e0a86c61-183a790b-7038-4dd5-b99d-89f1483e3635, typeId=-1210012928, 
> acceptedVer=2, duplicated=false]
> [23:31:14,028][DEBUG][disco-notifier-worker-#41][CacheObjectBinaryProcessorImpl]
>  Completing future MetadataUpdateResultFuture [key=SyncKey 
> [typeId=-1210012928, ver=2]] for [typeId=-1210012928, pendingVer=2, 
> acceptedVer=2]
> [23:31:14,029][DEBUG][main][CacheObjectBinaryProcessorImpl] Completed 
> metadata update [typeId=-1210012928, 
> typeName=binary.NestedObjectMarshallingExample$Person, waitTime=1ms, 
> fut=MetadataUpdateResultFuture [key=SyncKey [typeId=-1210012928, ver=2]], 
> tx=null]
> {noformat}
> You can see, that a type is registered twice. First it's registered without 
> any fields, and only the second 

[jira] [Created] (IGNITE-12480) Add BinaryFieldExtractionSelfTest to the Binary Objects test suite

2019-12-20 Thread Denis Mekhanikov (Jira)
Denis Mekhanikov created IGNITE-12480:
-

 Summary: Add BinaryFieldExtractionSelfTest to the Binary Objects 
test suite
 Key: IGNITE-12480
 URL: https://issues.apache.org/jira/browse/IGNITE-12480
 Project: Ignite
  Issue Type: Test
  Components: binary
Reporter: Denis Mekhanikov
Assignee: Denis Mekhanikov
 Fix For: 2.8


BinaryFieldExtractionSelfTest is not run on TeamCity because it's not included 
into any test suite.
It should be added into IgniteBinaryObjectsTestSuite



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


[jira] [Created] (IGNITE-12479) All binary types are registered twice

2019-12-20 Thread Denis Mekhanikov (Jira)
Denis Mekhanikov created IGNITE-12479:
-

 Summary: All binary types are registered twice
 Key: IGNITE-12479
 URL: https://issues.apache.org/jira/browse/IGNITE-12479
 Project: Ignite
  Issue Type: Bug
  Components: binary
Reporter: Denis Mekhanikov
Assignee: Denis Mekhanikov
 Fix For: 2.8


When a POJO is put into a cache, its binary type is registered twice during 
marshalling.

Example:
{code:java}
public class MetadataRegistrationExample {
public static void main(String[] args) {
Ignite ignite = Ignition.start("config/ignite.xml");
Person p = new Person("Denis");
ignite.getOrCreateCache("cache").put(1, p);
}

static class Person {
private String name;
public Person(String name) {
this.name = name;
}
}
}
{code}
 

Here is the generated debug log from the package
{noformat}
[23:31:14,020][DEBUG][main][CacheObjectBinaryProcessorImpl] Requesting metadata 
update [typeId=-1210012928, 
typeName=binary.NestedObjectMarshallingExample$Person, changedSchemas=[], 
holder=null, fut=MetadataUpdateResultFuture [key=SyncKey [typeId=-1210012928, 
ver=0]]]
[23:31:14,023][DEBUG][disco-notifier-worker-#41][CacheObjectBinaryProcessorImpl]
 Received MetadataUpdateProposedListener [typeId=-1210012928, 
typeName=binary.NestedObjectMarshallingExample$Person, pendingVer=0, 
acceptedVer=0, schemasCnt=0]
[23:31:14,024][DEBUG][disco-notifier-worker-#41][CacheObjectBinaryProcessorImpl]
 Versions are stamped on coordinator [typeId=-1210012928, changedSchemas=[], 
pendingVer=1, acceptedVer=0]
[23:31:14,024][DEBUG][disco-notifier-worker-#41][CacheObjectBinaryProcessorImpl]
 Updated metadata on originating node: [typeId=-1210012928, pendingVer=1, 
acceptedVer=0]
[23:31:14,025][DEBUG][disco-notifier-worker-#41][CacheObjectBinaryProcessorImpl]
 Received MetadataUpdateAcceptedMessage MetadataUpdateAcceptedMessage 
[id=599e0a86c61-183a790b-7038-4dd5-b99d-89f1483e3635, typeId=-1210012928, 
acceptedVer=1, duplicated=false]
[23:31:14,025][DEBUG][disco-notifier-worker-#41][CacheObjectBinaryProcessorImpl]
 Completing future MetadataUpdateResultFuture [key=SyncKey [typeId=-1210012928, 
ver=1]] for [typeId=-1210012928, pendingVer=1, acceptedVer=1]
[23:31:14,026][DEBUG][main][CacheObjectBinaryProcessorImpl] Completed metadata 
update [typeId=-1210012928, 
typeName=binary.NestedObjectMarshallingExample$Person, waitTime=4ms, 
fut=MetadataUpdateResultFuture [key=SyncKey [typeId=-1210012928, ver=1]], 
tx=null]
[23:31:14,027][DEBUG][main][CacheObjectBinaryProcessorImpl] Requesting metadata 
update [typeId=-1210012928, 
typeName=binary.NestedObjectMarshallingExample$Person, 
changedSchemas=[1975878747], holder=[typeId=-1210012928, pendingVer=1, 
acceptedVer=1], fut=MetadataUpdateResultFuture [key=SyncKey 
[typeId=-1210012928, ver=0]]]
[23:31:14,027][DEBUG][disco-notifier-worker-#41][CacheObjectBinaryProcessorImpl]
 Received MetadataUpdateProposedListener [typeId=-1210012928, 
typeName=binary.NestedObjectMarshallingExample$Person, pendingVer=0, 
acceptedVer=0, schemasCnt=1]
[23:31:14,028][DEBUG][disco-notifier-worker-#41][CacheObjectBinaryProcessorImpl]
 Versions are stamped on coordinator [typeId=-1210012928, 
changedSchemas=[1975878747], pendingVer=2, acceptedVer=1]
[23:31:14,028][DEBUG][disco-notifier-worker-#41][CacheObjectBinaryProcessorImpl]
 Updated metadata on originating node: [typeId=-1210012928, pendingVer=2, 
acceptedVer=1]
[23:31:14,028][DEBUG][disco-notifier-worker-#41][CacheObjectBinaryProcessorImpl]
 Received MetadataUpdateAcceptedMessage MetadataUpdateAcceptedMessage 
[id=d99e0a86c61-183a790b-7038-4dd5-b99d-89f1483e3635, typeId=-1210012928, 
acceptedVer=2, duplicated=false]
[23:31:14,028][DEBUG][disco-notifier-worker-#41][CacheObjectBinaryProcessorImpl]
 Completing future MetadataUpdateResultFuture [key=SyncKey [typeId=-1210012928, 
ver=2]] for [typeId=-1210012928, pendingVer=2, acceptedVer=2]
[23:31:14,029][DEBUG][main][CacheObjectBinaryProcessorImpl] Completed metadata 
update [typeId=-1210012928, 
typeName=binary.NestedObjectMarshallingExample$Person, waitTime=1ms, 
fut=MetadataUpdateResultFuture [key=SyncKey [typeId=-1210012928, ver=2]], 
tx=null]
{noformat}

You can see, that a type is registered twice. First it's registered without any 
fields, and only the second time the type is registered properly.



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


[jira] [Assigned] (IGNITE-9615) SQL: Client driver throws "Updates are not supported" exception

2019-12-10 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov reassigned IGNITE-9615:


Assignee: (was: Denis Mekhanikov)

> SQL: Client driver throws "Updates are not supported" exception
> ---
>
> Key: IGNITE-9615
> URL: https://issues.apache.org/jira/browse/IGNITE-9615
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Affects Versions: 2.6
>Reporter: Denis Mekhanikov
>Priority: Major
>
> When calling certain methods on Connection object, retrieved from a client 
> JDBC driver, {{SQLFeatureNotSupportedException}} with message "Updates are 
> not supported" is thrown.
> Affected methods:
>  * {{JdbcConnection#setReadOnly(boolean)}}
>  * {{JdbcConnection#prepareStatement(java.lang.String, int)}}
>  * {{JdbcConnection#prepareStatement(java.lang.String, int[])}}
>  * {{JdbcConnection#prepareStatement(java.lang.String, java.lang.String[])}}
> {{SetReadOnly}} method shouldn't throw this exception, and exceptions thrown 
> from {{prepareStatement}} methods should have a proper description.



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


[jira] [Comment Edited] (IGNITE-12284) When service class not found on any server nodes, service not deployed without any error

2019-10-15 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov edited comment on IGNITE-12284 at 10/15/19 3:42 PM:
-

The error should be propagated to the deployer's site after IGNITE-3392

Current master shouldn't have this issue unless 
{{IGNITE_EVENT_DRIVEN_SERVICE_PROCESSOR_ENABLED}} property is set to false.


was (Author: dmekhanikov):
The error should be propagated to the deployer's site after IGNITE-3392

Current master shouldn't have this issue.

> When service class not found on any server nodes, service not deployed 
> without any error
> 
>
> Key: IGNITE-12284
> URL: https://issues.apache.org/jira/browse/IGNITE-12284
> Project: Ignite
>  Issue Type: Bug
>  Components: managed services
>Reporter: Ilya Kasnacheev
>Priority: Major
>
> When service class presents on client node but not on server node, the 
> following is printed on server:
> {code}
> [17:57:43,398][SEVERE][srvc-deploy-#44][GridServiceProcessor] Failed to 
> initialize service (service will not be deployed): FService
> class org.apache.ignite.IgniteCheckedException: 
> com.gridgain.datetest.MyService
> at 
> org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:10174)
> at 
> org.apache.ignite.internal.processors.service.GridServiceProcessor.copyAndInject(GridServiceProcessor.java:1440)
> at 
> org.apache.ignite.internal.processors.service.GridServiceProcessor.redeploy(GridServiceProcessor.java:1361)
> at 
> org.apache.ignite.internal.processors.service.GridServiceProcessor.processAssignment(GridServiceProcessor.java:1988)
> at 
> org.apache.ignite.internal.processors.service.GridServiceProcessor.onSystemCacheUpdated(GridServiceProcessor.java:1615)
> at 
> org.apache.ignite.internal.processors.service.GridServiceProcessor.access$300(GridServiceProcessor.java:126)
> at 
> org.apache.ignite.internal.processors.service.GridServiceProcessor$ServiceEntriesListener$1.run0(GridServiceProcessor.java:1597)
> at 
> org.apache.ignite.internal.processors.service.GridServiceProcessor$DepRunnable.run(GridServiceProcessor.java:2064)
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: class org.apache.ignite.binary.BinaryInvalidTypeException: 
> com.gridgain.datetest.MyService
> at 
> org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:707)
> at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1758)
> at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1717)
> at 
> org.apache.ignite.internal.binary.GridBinaryMarshaller.deserialize(GridBinaryMarshaller.java:313)
> at 
> org.apache.ignite.internal.binary.BinaryMarshaller.unmarshal0(BinaryMarshaller.java:102)
> at 
> org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:82)
> at 
> org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:10168)
> ... 10 more
> Caused by: java.lang.ClassNotFoundException: com.gridgain.datetest.MyService
> at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:348)
> at 
> org.apache.ignite.internal.util.IgniteUtils.forName(IgniteUtils.java:8775)
> at 
> org.apache.ignite.internal.MarshallerContextImpl.getClass(MarshallerContextImpl.java:349)
> at 
> org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:698)
> ... 16 more
> {code}
> but on client, ServiceDeploymentException is not thrown. Instead, deploy 
> returns normally.
> Code to reproduce:
> {code}
> public class ServiceStarterMain {
> public static void main(String[] args) {
> Ignition.setClientMode(true);
> Ignite ignite = Ignition.start();
> ServiceConfiguration serviceConfiguration = new 
> ServiceConfiguration();
> serviceConfiguration.setName("FService");
> serviceConfiguration.setMaxPerNodeCount(4);
> serviceConfiguration.setTotalCount(10);
> serviceConfiguration.setService(new 

[jira] [Commented] (IGNITE-12284) When service class not found on any server nodes, service not deployed without any error

2019-10-15 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov commented on IGNITE-12284:
---

The error should be propagated to the deployer's site after IGNITE-3392

Current master shouldn't have this issue.

> When service class not found on any server nodes, service not deployed 
> without any error
> 
>
> Key: IGNITE-12284
> URL: https://issues.apache.org/jira/browse/IGNITE-12284
> Project: Ignite
>  Issue Type: Bug
>  Components: managed services
>Reporter: Ilya Kasnacheev
>Priority: Major
>
> When service class presents on client node but not on server node, the 
> following is printed on server:
> {code}
> [17:57:43,398][SEVERE][srvc-deploy-#44][GridServiceProcessor] Failed to 
> initialize service (service will not be deployed): FService
> class org.apache.ignite.IgniteCheckedException: 
> com.gridgain.datetest.MyService
> at 
> org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:10174)
> at 
> org.apache.ignite.internal.processors.service.GridServiceProcessor.copyAndInject(GridServiceProcessor.java:1440)
> at 
> org.apache.ignite.internal.processors.service.GridServiceProcessor.redeploy(GridServiceProcessor.java:1361)
> at 
> org.apache.ignite.internal.processors.service.GridServiceProcessor.processAssignment(GridServiceProcessor.java:1988)
> at 
> org.apache.ignite.internal.processors.service.GridServiceProcessor.onSystemCacheUpdated(GridServiceProcessor.java:1615)
> at 
> org.apache.ignite.internal.processors.service.GridServiceProcessor.access$300(GridServiceProcessor.java:126)
> at 
> org.apache.ignite.internal.processors.service.GridServiceProcessor$ServiceEntriesListener$1.run0(GridServiceProcessor.java:1597)
> at 
> org.apache.ignite.internal.processors.service.GridServiceProcessor$DepRunnable.run(GridServiceProcessor.java:2064)
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: class org.apache.ignite.binary.BinaryInvalidTypeException: 
> com.gridgain.datetest.MyService
> at 
> org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:707)
> at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1758)
> at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1717)
> at 
> org.apache.ignite.internal.binary.GridBinaryMarshaller.deserialize(GridBinaryMarshaller.java:313)
> at 
> org.apache.ignite.internal.binary.BinaryMarshaller.unmarshal0(BinaryMarshaller.java:102)
> at 
> org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:82)
> at 
> org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:10168)
> ... 10 more
> Caused by: java.lang.ClassNotFoundException: com.gridgain.datetest.MyService
> at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:348)
> at 
> org.apache.ignite.internal.util.IgniteUtils.forName(IgniteUtils.java:8775)
> at 
> org.apache.ignite.internal.MarshallerContextImpl.getClass(MarshallerContextImpl.java:349)
> at 
> org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:698)
> ... 16 more
> {code}
> but on client, ServiceDeploymentException is not thrown. Instead, deploy 
> returns normally.
> Code to reproduce:
> {code}
> public class ServiceStarterMain {
> public static void main(String[] args) {
> Ignition.setClientMode(true);
> Ignite ignite = Ignition.start();
> ServiceConfiguration serviceConfiguration = new 
> ServiceConfiguration();
> serviceConfiguration.setName("FService");
> serviceConfiguration.setMaxPerNodeCount(4);
> serviceConfiguration.setTotalCount(10);
> serviceConfiguration.setService(new MyService());
> ignite.services().deploy(serviceConfiguration); // Exception 
> expected, but does not happen
> }
> }
> {code}
> against a blank Ignite node started from bin distro.
> This affects Java and .Net.



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


[jira] [Commented] (IGNITE-10959) Memory leaks in continuous query handlers

2019-10-10 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov commented on IGNITE-10959:
---

[~mmuzaf] I haven't been working on this issue lately. Sorry for the misleading 
"in progress" status. I don't have a patch for it, so let's move it to the next 
release unless somebody wants to fix it before 2.8 is released.

> Memory leaks in continuous query handlers
> -
>
> Key: IGNITE-10959
> URL: https://issues.apache.org/jira/browse/IGNITE-10959
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.7
>Reporter: Denis Mekhanikov
>Assignee: Denis Mekhanikov
>Priority: Major
> Fix For: 2.8
>
> Attachments: CacheContinuousQueryMemoryUsageTest.java
>
>
> Continuous query handlers don't clear internal data structures after cache 
> events are processed.
> A test, that reproduces the problem, is attached.



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


[jira] [Assigned] (IGNITE-10959) Memory leaks in continuous query handlers

2019-10-10 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov reassigned IGNITE-10959:
-

Assignee: (was: Denis Mekhanikov)

> Memory leaks in continuous query handlers
> -
>
> Key: IGNITE-10959
> URL: https://issues.apache.org/jira/browse/IGNITE-10959
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.7
>Reporter: Denis Mekhanikov
>Priority: Major
> Fix For: 2.8
>
> Attachments: CacheContinuousQueryMemoryUsageTest.java
>
>
> Continuous query handlers don't clear internal data structures after cache 
> events are processed.
> A test, that reproduces the problem, is attached.



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


[jira] [Commented] (IGNITE-9181) Continuous query with remote filter factory doesn't let nodes join

2019-10-09 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov commented on IGNITE-9181:
--

This issue is resolved under IGNITE-3653

> Continuous query with remote filter factory doesn't let nodes join 
> ---
>
> Key: IGNITE-9181
> URL: https://issues.apache.org/jira/browse/IGNITE-9181
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.6
>Reporter: Denis Mekhanikov
>Assignee: Denis Mekhanikov
>Priority: Major
> Attachments: ContinuousQueryNodeJoinTest.java
>
>
> When continuous query is registered from a client node and it has a remote 
> filter factory configured, and P2P class loading is enabled, then all new 
> nodes fail with an exception, which doesn't let them join the cluster.
> Exception:
> {noformat}
> [ERROR][tcp-disco-msg-worker-#15%continuous.ContinuousQueryNodeJoinTest1%][TestTcpDiscoverySpi]
>  Runtime error caught during grid runnable execution: GridWorker 
> [name=tcp-disco-msg-worker, 
> igniteInstanceName=continuous.ContinuousQueryNodeJoinTest1, finished=false, 
> hashCode=726450632, interrupted=false, 
> runner=tcp-disco-msg-worker-#15%continuous.ContinuousQueryNodeJoinTest1%], 
> nextNode=[null]
> java.lang.NullPointerException
>   at 
> org.apache.ignite.internal.processors.cache.query.continuous.CacheContinuousQueryHandlerV2.getEventFilter(CacheContinuousQueryHandlerV2.java:108)
>   at 
> org.apache.ignite.internal.processors.cache.query.continuous.CacheContinuousQueryHandler.register(CacheContinuousQueryHandler.java:330)
>   at 
> org.apache.ignite.internal.processors.continuous.GridContinuousProcessor.registerHandler(GridContinuousProcessor.java:1738)
>   at 
> org.apache.ignite.internal.processors.continuous.GridContinuousProcessor.onDiscoDataReceived(GridContinuousProcessor.java:646)
>   at 
> org.apache.ignite.internal.processors.continuous.GridContinuousProcessor.onGridDataReceived(GridContinuousProcessor.java:538)
>   at 
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$5.onExchange(GridDiscoveryManager.java:889)
>   at 
> org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.onExchange(TcpDiscoverySpi.java:1993)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processNodeAddedMessage(ServerImpl.java:4502)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2804)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2604)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorker.body(ServerImpl.java:7115)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.body(ServerImpl.java:2688)
>   at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorkerThread.body(ServerImpl.java:7059)
>   at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62)
> {noformat}
> Reproducer is in the attachment.



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


[jira] [Updated] (IGNITE-9181) Continuous query with remote filter factory doesn't let nodes join

2019-10-09 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov updated IGNITE-9181:
-
Release Note:   (was: This issue is resolved under IGNITE-3653)

> Continuous query with remote filter factory doesn't let nodes join 
> ---
>
> Key: IGNITE-9181
> URL: https://issues.apache.org/jira/browse/IGNITE-9181
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.6
>Reporter: Denis Mekhanikov
>Assignee: Denis Mekhanikov
>Priority: Major
> Attachments: ContinuousQueryNodeJoinTest.java
>
>
> When continuous query is registered from a client node and it has a remote 
> filter factory configured, and P2P class loading is enabled, then all new 
> nodes fail with an exception, which doesn't let them join the cluster.
> Exception:
> {noformat}
> [ERROR][tcp-disco-msg-worker-#15%continuous.ContinuousQueryNodeJoinTest1%][TestTcpDiscoverySpi]
>  Runtime error caught during grid runnable execution: GridWorker 
> [name=tcp-disco-msg-worker, 
> igniteInstanceName=continuous.ContinuousQueryNodeJoinTest1, finished=false, 
> hashCode=726450632, interrupted=false, 
> runner=tcp-disco-msg-worker-#15%continuous.ContinuousQueryNodeJoinTest1%], 
> nextNode=[null]
> java.lang.NullPointerException
>   at 
> org.apache.ignite.internal.processors.cache.query.continuous.CacheContinuousQueryHandlerV2.getEventFilter(CacheContinuousQueryHandlerV2.java:108)
>   at 
> org.apache.ignite.internal.processors.cache.query.continuous.CacheContinuousQueryHandler.register(CacheContinuousQueryHandler.java:330)
>   at 
> org.apache.ignite.internal.processors.continuous.GridContinuousProcessor.registerHandler(GridContinuousProcessor.java:1738)
>   at 
> org.apache.ignite.internal.processors.continuous.GridContinuousProcessor.onDiscoDataReceived(GridContinuousProcessor.java:646)
>   at 
> org.apache.ignite.internal.processors.continuous.GridContinuousProcessor.onGridDataReceived(GridContinuousProcessor.java:538)
>   at 
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$5.onExchange(GridDiscoveryManager.java:889)
>   at 
> org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.onExchange(TcpDiscoverySpi.java:1993)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processNodeAddedMessage(ServerImpl.java:4502)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2804)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2604)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorker.body(ServerImpl.java:7115)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.body(ServerImpl.java:2688)
>   at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorkerThread.body(ServerImpl.java:7059)
>   at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62)
> {noformat}
> Reproducer is in the attachment.



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


[jira] [Resolved] (IGNITE-9181) Continuous query with remote filter factory doesn't let nodes join

2019-10-09 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov resolved IGNITE-9181.
--
Release Note: This issue is resolved under IGNITE-3653
  Resolution: Duplicate

> Continuous query with remote filter factory doesn't let nodes join 
> ---
>
> Key: IGNITE-9181
> URL: https://issues.apache.org/jira/browse/IGNITE-9181
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.6
>Reporter: Denis Mekhanikov
>Assignee: Denis Mekhanikov
>Priority: Major
> Attachments: ContinuousQueryNodeJoinTest.java
>
>
> When continuous query is registered from a client node and it has a remote 
> filter factory configured, and P2P class loading is enabled, then all new 
> nodes fail with an exception, which doesn't let them join the cluster.
> Exception:
> {noformat}
> [ERROR][tcp-disco-msg-worker-#15%continuous.ContinuousQueryNodeJoinTest1%][TestTcpDiscoverySpi]
>  Runtime error caught during grid runnable execution: GridWorker 
> [name=tcp-disco-msg-worker, 
> igniteInstanceName=continuous.ContinuousQueryNodeJoinTest1, finished=false, 
> hashCode=726450632, interrupted=false, 
> runner=tcp-disco-msg-worker-#15%continuous.ContinuousQueryNodeJoinTest1%], 
> nextNode=[null]
> java.lang.NullPointerException
>   at 
> org.apache.ignite.internal.processors.cache.query.continuous.CacheContinuousQueryHandlerV2.getEventFilter(CacheContinuousQueryHandlerV2.java:108)
>   at 
> org.apache.ignite.internal.processors.cache.query.continuous.CacheContinuousQueryHandler.register(CacheContinuousQueryHandler.java:330)
>   at 
> org.apache.ignite.internal.processors.continuous.GridContinuousProcessor.registerHandler(GridContinuousProcessor.java:1738)
>   at 
> org.apache.ignite.internal.processors.continuous.GridContinuousProcessor.onDiscoDataReceived(GridContinuousProcessor.java:646)
>   at 
> org.apache.ignite.internal.processors.continuous.GridContinuousProcessor.onGridDataReceived(GridContinuousProcessor.java:538)
>   at 
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$5.onExchange(GridDiscoveryManager.java:889)
>   at 
> org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.onExchange(TcpDiscoverySpi.java:1993)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processNodeAddedMessage(ServerImpl.java:4502)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2804)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2604)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorker.body(ServerImpl.java:7115)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.body(ServerImpl.java:2688)
>   at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorkerThread.body(ServerImpl.java:7059)
>   at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62)
> {noformat}
> Reproducer is in the attachment.



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


[jira] [Commented] (IGNITE-8279) Clients can't operate on services after deactivation

2019-10-08 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov commented on IGNITE-8279:
--

[~mmuzaf] this issue is not reproduced in the new implementation of the service 
grid, that was done under the following IEP: 
[https://cwiki.apache.org/confluence/display/IGNITE/IEP-17%3A+Oil+Change+in+Service+Grid]

The issue appears only when {{IGNITE_EVENT_DRIVEN_SERVICE_PROCESSOR_ENABLED}} 
environment property is set to false.

I guess, we can resolve this issue as "won't fix".

> Clients can't operate on services after deactivation
> 
>
> Key: IGNITE-8279
> URL: https://issues.apache.org/jira/browse/IGNITE-8279
> Project: Ignite
>  Issue Type: Bug
>  Components: managed services
>Affects Versions: 2.4
>Reporter: Denis Mekhanikov
>Assignee: Pavel Vinokurov
>Priority: Major
> Fix For: 2.8
>
> Attachments: ServiceDeploymentAfterDeactivationTest.java
>
>
> When a cluster gets deactivated and activated back again, clients become 
> incapable of service deployment. Calls to {{IgniteService.deploy*}} methods 
> hang indefinitely, and no services are getting deployed to these clients.
> After deactivation, {{ServiceEntriesListener}} stops being invoked on service 
> cache changes.
> Find attached test, reproducing this problem.



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


[jira] [Created] (IGNITE-12265) JavaDoc doesn't have documentation for the org.apache.ignite.client package

2019-10-07 Thread Denis Mekhanikov (Jira)
Denis Mekhanikov created IGNITE-12265:
-

 Summary: JavaDoc doesn't have documentation for the 
org.apache.ignite.client package
 Key: IGNITE-12265
 URL: https://issues.apache.org/jira/browse/IGNITE-12265
 Project: Ignite
  Issue Type: Bug
Reporter: Denis Mekhanikov


JavaDoc published on the website doesn't have documentation for the 
{{org.apache.ignite.client}} package. Link to the website: 
[https://ignite.apache.org/releases/2.7.6/javadoc/]

A lack of {{package-info.java}} file or exclusion from the 
{{maven-javadoc-plugin}} in the root {{pom.xml}} may be the reason.



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


[jira] [Assigned] (IGNITE-12099) Don't write metadata to disk in discovery thread

2019-10-01 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov reassigned IGNITE-12099:
-

Assignee: (was: Denis Mekhanikov)

> Don't write metadata to disk in discovery thread
> 
>
> Key: IGNITE-12099
> URL: https://issues.apache.org/jira/browse/IGNITE-12099
> Project: Ignite
>  Issue Type: Improvement
>  Components: binary
>Reporter: Denis Mekhanikov
>Priority: Major
>
> When persistence is enabled, binary metadata is written to disk upon 
> registration. Currently it happens in the discovery thread, which makes 
> processing of related messages very slow.
> A different thread should be used to write metadata to disk. Binary type 
> registration will be considered finished before information about it is 
> written to disks on all nodes.
> The implementation should guarantee consistency in cases of cluster restarts.
> Dev list discussion: 
> http://apache-ignite-developers.2346864.n4.nabble.com/Asynchronous-registration-of-binary-metadata-td43021.html



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


[jira] [Created] (IGNITE-12237) Forbid thin client connections dynamically

2019-09-27 Thread Denis Mekhanikov (Jira)
Denis Mekhanikov created IGNITE-12237:
-

 Summary: Forbid thin client connections dynamically
 Key: IGNITE-12237
 URL: https://issues.apache.org/jira/browse/IGNITE-12237
 Project: Ignite
  Issue Type: Improvement
  Components: thin client
Reporter: Denis Mekhanikov


Sometimes it's useful to forbid thin clients connections to nodes for some 
period of time. At this time cluster may be performing some activation needed 
for correct work of the application.

It would be good to have an API call, opening and closing thin client 
connections.

This feature was requested in the following StackOverflow question: 
https://stackoverflow.com/questions/58106297/how-to-block-java-thin-client-request-till-preloading-of-data-in-ignite-cluster



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


[jira] [Assigned] (IGNITE-12099) Don't write metadata to disk in discovery thread

2019-09-18 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov reassigned IGNITE-12099:
-

Assignee: Denis Mekhanikov

> Don't write metadata to disk in discovery thread
> 
>
> Key: IGNITE-12099
> URL: https://issues.apache.org/jira/browse/IGNITE-12099
> Project: Ignite
>  Issue Type: Improvement
>  Components: binary
>Reporter: Denis Mekhanikov
>Assignee: Denis Mekhanikov
>Priority: Major
>
> When persistence is enabled, binary metadata is written to disk upon 
> registration. Currently it happens in the discovery thread, which makes 
> processing of related messages very slow.
> A different thread should be used to write metadata to disk. Binary type 
> registration will be considered finished before information about it is 
> written to disks on all nodes.
> The implementation should guarantee consistency in cases of cluster restarts.
> Dev list discussion: 
> http://apache-ignite-developers.2346864.n4.nabble.com/Asynchronous-registration-of-binary-metadata-td43021.html



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


[jira] [Updated] (IGNITE-12099) Don't write metadata to disk in discovery thread

2019-09-18 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov updated IGNITE-12099:
--
Description: 
When persistence is enabled, binary metadata is written to disk upon 
registration. Currently it happens in the discovery thread, which makes 
processing of related messages very slow.

A different thread should be used to write metadata to disk. Binary type 
registration will be considered finished before information about it is written 
to disks on all nodes.

The implementation should guarantee consistency in cases of cluster restarts.

Dev list discussion: 
http://apache-ignite-developers.2346864.n4.nabble.com/Asynchronous-registration-of-binary-metadata-td43021.html

  was:
When persistence is enabled, binary metadata is written to disk upon 
registration. Currently it happens in the discovery thread, which makes 
processing of related messages very slow.

A different thread should be used to write metadata to disk. Binary type 
registration will be considered finished before information about it will is 
written to disks on all nodes.

The implementation should guarantee consistency in cases of cluster restarts.

Dev list discussion: 
http://apache-ignite-developers.2346864.n4.nabble.com/Asynchronous-registration-of-binary-metadata-td43021.html


> Don't write metadata to disk in discovery thread
> 
>
> Key: IGNITE-12099
> URL: https://issues.apache.org/jira/browse/IGNITE-12099
> Project: Ignite
>  Issue Type: Improvement
>  Components: binary
>Reporter: Denis Mekhanikov
>Priority: Major
>
> When persistence is enabled, binary metadata is written to disk upon 
> registration. Currently it happens in the discovery thread, which makes 
> processing of related messages very slow.
> A different thread should be used to write metadata to disk. Binary type 
> registration will be considered finished before information about it is 
> written to disks on all nodes.
> The implementation should guarantee consistency in cases of cluster restarts.
> Dev list discussion: 
> http://apache-ignite-developers.2346864.n4.nabble.com/Asynchronous-registration-of-binary-metadata-td43021.html



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


[jira] [Created] (IGNITE-12099) Don't write metadata to disk in discovery thread

2019-08-23 Thread Denis Mekhanikov (Jira)
Denis Mekhanikov created IGNITE-12099:
-

 Summary: Don't write metadata to disk in discovery thread
 Key: IGNITE-12099
 URL: https://issues.apache.org/jira/browse/IGNITE-12099
 Project: Ignite
  Issue Type: Improvement
  Components: binary
Reporter: Denis Mekhanikov


When persistence is enabled, binary metadata is written to disk upon 
registration. Currently it happens in the discovery thread, which makes 
processing of related messages very slow.

A different thread should be used to write metadata to disk. Binary type 
registration will be considered finished before information about it will is 
written to disks on all nodes.

The implementation should guarantee consistency in cases of cluster restarts.

Dev list discussion: 
http://apache-ignite-developers.2346864.n4.nabble.com/Asynchronous-registration-of-binary-metadata-td43021.html



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (IGNITE-10808) Discovery message queue may build up with TcpDiscoveryMetricsUpdateMessage

2019-08-23 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov commented on IGNITE-10808:
---

[~sergey-chugunov] Thanks a lot for the review!

The tests don't show any blockers.

[~DmitriyGovorukhin], could you help with a merge?

> Discovery message queue may build up with TcpDiscoveryMetricsUpdateMessage
> --
>
> Key: IGNITE-10808
> URL: https://issues.apache.org/jira/browse/IGNITE-10808
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.7
>Reporter: Stanislav Lukyanov
>Assignee: Denis Mekhanikov
>Priority: Major
>  Labels: discovery
> Fix For: 2.8
>
> Attachments: IgniteMetricsOverflowTest.java
>
>
> A node receives a new metrics update message every `metricsUpdateFrequency` 
> milliseconds, and the message will be put at the top of the queue (because it 
> is a high priority message).
> If processing one message takes more than `metricsUpdateFrequency` then 
> multiple `TcpDiscoveryMetricsUpdateMessage` will be in the queue. A long 
> enough delay (e.g. caused by a network glitch or GC) may lead to the queue 
> building up tens of metrics update messages which are essentially useless to 
> be processed. Finally, if processing a message on average takes a little more 
> than `metricsUpdateFrequency` (even for a relatively short period of time, 
> say, for a minute due to network issues) then the message worker will end up 
> processing only the metrics updates and the cluster will essentially hang.
> Reproducer is attached. In the test, the queue first builds up and then very 
> slowly being teared down, causing "Failed to wait for PME" messages.
> Need to change ServerImpl's SocketReader not to put another metrics update 
> message to the top of the queue if it already has one (or replace the one at 
> the top with new one).



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (IGNITE-10808) Discovery message queue may build up with TcpDiscoveryMetricsUpdateMessage

2019-08-21 Thread Denis Mekhanikov (Jira)


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

Denis Mekhanikov commented on IGNITE-10808:
---

[~sergey-chugunov] , I reverted the changes for 
{{TcpDiscoveryClientAckResponse}}. Now this is the only high priority message. 
If we decide to remove high priority discovery messages completely, then let's 
do it in a different ticket.

Also some refactoring was performed. Could you take another look?

> Discovery message queue may build up with TcpDiscoveryMetricsUpdateMessage
> --
>
> Key: IGNITE-10808
> URL: https://issues.apache.org/jira/browse/IGNITE-10808
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.7
>Reporter: Stanislav Lukyanov
>Assignee: Denis Mekhanikov
>Priority: Major
>  Labels: discovery
> Fix For: 2.8
>
> Attachments: IgniteMetricsOverflowTest.java
>
>
> A node receives a new metrics update message every `metricsUpdateFrequency` 
> milliseconds, and the message will be put at the top of the queue (because it 
> is a high priority message).
> If processing one message takes more than `metricsUpdateFrequency` then 
> multiple `TcpDiscoveryMetricsUpdateMessage` will be in the queue. A long 
> enough delay (e.g. caused by a network glitch or GC) may lead to the queue 
> building up tens of metrics update messages which are essentially useless to 
> be processed. Finally, if processing a message on average takes a little more 
> than `metricsUpdateFrequency` (even for a relatively short period of time, 
> say, for a minute due to network issues) then the message worker will end up 
> processing only the metrics updates and the cluster will essentially hang.
> Reproducer is attached. In the test, the queue first builds up and then very 
> slowly being teared down, causing "Failed to wait for PME" messages.
> Need to change ServerImpl's SocketReader not to put another metrics update 
> message to the top of the queue if it already has one (or replace the one at 
> the top with new one).



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (IGNITE-6877) Improve behaviour for non-correlated subqueries

2019-07-05 Thread Denis Mekhanikov (JIRA)


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

Denis Mekhanikov commented on IGNITE-6877:
--

No other tickets for this issue have been created yet, but the problem is still 
present. So, I'm for keeping the ticket open.

Feel free to close as a duplicate, when another one is created.

> Improve behaviour for non-correlated subqueries
> ---
>
> Key: IGNITE-6877
> URL: https://issues.apache.org/jira/browse/IGNITE-6877
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Affects Versions: 2.3
>Reporter: Alin Andrei Corodescu
>Priority: Minor
>
> Ignite behaves poorly in terms of performance when given queries which 
> contain IN or = operators followed by a non-correlated subquery. My guess is 
> that the query is actually run for each row of the table in order to test the 
> condition. 
> A possible solution is to store the results of the subquery in a temporary 
> table, and use it from there.
> A workaround at the moment is to use joins instead of IN or = operators, but 
> this makes the query much more complicated.
> Example:
> SELECT name
> FROM Employees
> WHERE age IN (SELECT age FROM Customers)
> The performance of this query is very slow for small amounts of data (about 
> 20 seconds for 4000 rows in each table last time I tried)



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


[jira] [Commented] (IGNITE-11907) Registration of continuous query should fail if nodes don't have remote filter class

2019-07-02 Thread Denis Mekhanikov (JIRA)


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

Denis Mekhanikov commented on IGNITE-11907:
---

[~Pavlukhin] I looked through your changes. The approach looks valid to me. 
Please proceed with the patch.

> Registration of continuous query should fail if nodes don't have remote 
> filter class
> 
>
> Key: IGNITE-11907
> URL: https://issues.apache.org/jira/browse/IGNITE-11907
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.7
>Reporter: Denis Mekhanikov
>Assignee: Ivan Pavlukhin
>Priority: Major
> Attachments: 
> ContinuousQueryRemoteFilterMissingInClassPathSelfTest.java
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> If one of data nodes doesn't have a remote filter class, then registration of 
> continuous queries should fail with an exception. Currently nodes fail 
> instead.
> Reproducer is attached: 
> [^ContinuousQueryRemoteFilterMissingInClassPathSelfTest.java]



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


[jira] [Commented] (IGNITE-3653) P2P doesn't work for remote filter and filter factory.

2019-07-01 Thread Denis Mekhanikov (JIRA)


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

Denis Mekhanikov commented on IGNITE-3653:
--

[~Pavlukhin], good catch, thanks. Fixed.

> P2P doesn't work for remote filter and filter factory.
> --
>
> Key: IGNITE-3653
> URL: https://issues.apache.org/jira/browse/IGNITE-3653
> Project: Ignite
>  Issue Type: Bug
>  Components: cache
>Affects Versions: 1.6
>Reporter: Nikolai Tikhonov
>Assignee: Denis Mekhanikov
>Priority: Major
> Fix For: 2.8
>
> Attachments: CCP2PTest.patch
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Remote filter and filter factory classes were not deployed on nodes which 
> join to cluster after their initialization. Test attached.



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


[jira] [Commented] (IGNITE-11914) Failures to deserialize discovery data should be handled by a failure handler

2019-06-18 Thread Denis Mekhanikov (JIRA)


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

Denis Mekhanikov commented on IGNITE-11914:
---

It's actually a tricky question, what should be done in a situation, when 
discovery data cannot be deserialized.

I would say, that if an existing node cannot deserialize data sent from a new 
one, then the joining node should not be let into the cluster.

If we decide to always propagate such failures to the failure handler, then one 
node with some class in discovery data, which is available on that node only, 
will be able to bring down the whole cluster.

> Failures to deserialize discovery data should be handled by a failure handler
> -
>
> Key: IGNITE-11914
> URL: https://issues.apache.org/jira/browse/IGNITE-11914
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.7.5
>Reporter: Denis Mekhanikov
>Priority: Major
> Attachments: DiscoveryDataDeserializationFailureHanderTest.java
>
>
> When a node during join receives a discovery data packet, that it cannot 
> deserialize, then this error is printed to log and not handled in any way. It 
> leads to swallowing potentially important failures.
> For example, a failure to deserialize a continuous query remote filter should 
> be propagated to a failure handler, but it doesn't happen. Test is attached.
> Error message:
> {noformat}
> Failed to unmarshal discovery data for component: 0
> class org.apache.ignite.IgniteCheckedException: Failed to find class with 
> given class loader for unmarshalling (make sure same versions of all classes 
> are available on all nodes or enable peer-class-loading) 
> [clsLdr=sun.misc.Launcher$AppClassLoader@18b4aac2, 
> cls=org.apache.ignite.tests.p2p.CacheDeploymentEntryEventFilterFactory]
>   at 
> org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal0(JdkMarshaller.java:146)
>   at 
> org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:93)
>   at 
> org.apache.ignite.internal.util.IgniteUtils.unmarshalZip(IgniteUtils.java:10068)
>   at 
> org.apache.ignite.spi.discovery.tcp.internal.DiscoveryDataPacket.unmarshalData(DiscoveryDataPacket.java:292)
>   at 
> org.apache.ignite.spi.discovery.tcp.internal.DiscoveryDataPacket.unmarshalGridData(DiscoveryDataPacket.java:154)
>   at 
> org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.onExchange(TcpDiscoverySpi.java:2065)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processNodeAddFinishedMessage(ServerImpl.java:4882)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2964)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2696)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorker.body(ServerImpl.java:7527)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.body(ServerImpl.java:2818)
>   at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorkerThread.body(ServerImpl.java:7458)
>   at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:61)
> Caused by: java.lang.ClassNotFoundException: 
> org.apache.ignite.tests.p2p.CacheDeploymentEntryEventFilterFactory
>   at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
>   at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
>   at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>   at java.lang.Class.forName0(Native Method)
>   at java.lang.Class.forName(Class.java:348)
>   at 
> org.apache.ignite.internal.util.IgniteUtils.forName(IgniteUtils.java:8672)
>   at 
> org.apache.ignite.marshaller.jdk.JdkMarshallerObjectInputStream.resolveClass(JdkMarshallerObjectInputStream.java:59)
>   at 
> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1863)
>   at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1746)
>   at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2037)
>   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1568)
>   at java.io.ObjectInputStream.readObject(ObjectInputStream.java:428)
>   at 
> org.apache.ignite.internal.processors.cache.query.continuous.CacheContinuousQueryHandlerV2.readExternal(CacheContinuousQueryHandlerV2.java:179)
>   at 
> java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:2113)
>   at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2062)
>   

[jira] [Commented] (IGNITE-11914) Failures to deserialize discovery data should be handled by a failure handler

2019-06-18 Thread Denis Mekhanikov (JIRA)


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

Denis Mekhanikov commented on IGNITE-11914:
---

[~ibessonov] sorry, forgot to attach it.

Fixed.

> Failures to deserialize discovery data should be handled by a failure handler
> -
>
> Key: IGNITE-11914
> URL: https://issues.apache.org/jira/browse/IGNITE-11914
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.7.5
>Reporter: Denis Mekhanikov
>Priority: Major
> Attachments: DiscoveryDataDeserializationFailureHanderTest.java
>
>
> When a node during join receives a discovery data packet, that it cannot 
> deserialize, then this error is printed to log and not handled in any way. It 
> leads to swallowing potentially important failures.
> For example, a failure to deserialize a continuous query remote filter should 
> be propagated to a failure handler, but it doesn't happen. Test is attached.
> Error message:
> {noformat}
> Failed to unmarshal discovery data for component: 0
> class org.apache.ignite.IgniteCheckedException: Failed to find class with 
> given class loader for unmarshalling (make sure same versions of all classes 
> are available on all nodes or enable peer-class-loading) 
> [clsLdr=sun.misc.Launcher$AppClassLoader@18b4aac2, 
> cls=org.apache.ignite.tests.p2p.CacheDeploymentEntryEventFilterFactory]
>   at 
> org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal0(JdkMarshaller.java:146)
>   at 
> org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:93)
>   at 
> org.apache.ignite.internal.util.IgniteUtils.unmarshalZip(IgniteUtils.java:10068)
>   at 
> org.apache.ignite.spi.discovery.tcp.internal.DiscoveryDataPacket.unmarshalData(DiscoveryDataPacket.java:292)
>   at 
> org.apache.ignite.spi.discovery.tcp.internal.DiscoveryDataPacket.unmarshalGridData(DiscoveryDataPacket.java:154)
>   at 
> org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.onExchange(TcpDiscoverySpi.java:2065)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processNodeAddFinishedMessage(ServerImpl.java:4882)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2964)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2696)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorker.body(ServerImpl.java:7527)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.body(ServerImpl.java:2818)
>   at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorkerThread.body(ServerImpl.java:7458)
>   at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:61)
> Caused by: java.lang.ClassNotFoundException: 
> org.apache.ignite.tests.p2p.CacheDeploymentEntryEventFilterFactory
>   at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
>   at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
>   at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>   at java.lang.Class.forName0(Native Method)
>   at java.lang.Class.forName(Class.java:348)
>   at 
> org.apache.ignite.internal.util.IgniteUtils.forName(IgniteUtils.java:8672)
>   at 
> org.apache.ignite.marshaller.jdk.JdkMarshallerObjectInputStream.resolveClass(JdkMarshallerObjectInputStream.java:59)
>   at 
> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1863)
>   at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1746)
>   at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2037)
>   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1568)
>   at java.io.ObjectInputStream.readObject(ObjectInputStream.java:428)
>   at 
> org.apache.ignite.internal.processors.cache.query.continuous.CacheContinuousQueryHandlerV2.readExternal(CacheContinuousQueryHandlerV2.java:179)
>   at 
> java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:2113)
>   at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2062)
>   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1568)
>   at 
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2282)
>   at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2206)
>   at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2064)
>   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1568)
>   at 

[jira] [Updated] (IGNITE-11914) Failures to deserialize discovery data should be handled by a failure handler

2019-06-18 Thread Denis Mekhanikov (JIRA)


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

Denis Mekhanikov updated IGNITE-11914:
--
Attachment: DiscoveryDataDeserializationFailureHanderTest.java

> Failures to deserialize discovery data should be handled by a failure handler
> -
>
> Key: IGNITE-11914
> URL: https://issues.apache.org/jira/browse/IGNITE-11914
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.7.5
>Reporter: Denis Mekhanikov
>Priority: Major
> Attachments: DiscoveryDataDeserializationFailureHanderTest.java
>
>
> When a node during join receives a discovery data packet, that it cannot 
> deserialize, then this error is printed to log and not handled in any way. It 
> leads to swallowing potentially important failures.
> For example, a failure to deserialize a continuous query remote filter should 
> be propagated to a failure handler, but it doesn't happen. Test is attached.
> Error message:
> {noformat}
> Failed to unmarshal discovery data for component: 0
> class org.apache.ignite.IgniteCheckedException: Failed to find class with 
> given class loader for unmarshalling (make sure same versions of all classes 
> are available on all nodes or enable peer-class-loading) 
> [clsLdr=sun.misc.Launcher$AppClassLoader@18b4aac2, 
> cls=org.apache.ignite.tests.p2p.CacheDeploymentEntryEventFilterFactory]
>   at 
> org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal0(JdkMarshaller.java:146)
>   at 
> org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:93)
>   at 
> org.apache.ignite.internal.util.IgniteUtils.unmarshalZip(IgniteUtils.java:10068)
>   at 
> org.apache.ignite.spi.discovery.tcp.internal.DiscoveryDataPacket.unmarshalData(DiscoveryDataPacket.java:292)
>   at 
> org.apache.ignite.spi.discovery.tcp.internal.DiscoveryDataPacket.unmarshalGridData(DiscoveryDataPacket.java:154)
>   at 
> org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.onExchange(TcpDiscoverySpi.java:2065)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processNodeAddFinishedMessage(ServerImpl.java:4882)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2964)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2696)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorker.body(ServerImpl.java:7527)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.body(ServerImpl.java:2818)
>   at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorkerThread.body(ServerImpl.java:7458)
>   at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:61)
> Caused by: java.lang.ClassNotFoundException: 
> org.apache.ignite.tests.p2p.CacheDeploymentEntryEventFilterFactory
>   at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
>   at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
>   at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>   at java.lang.Class.forName0(Native Method)
>   at java.lang.Class.forName(Class.java:348)
>   at 
> org.apache.ignite.internal.util.IgniteUtils.forName(IgniteUtils.java:8672)
>   at 
> org.apache.ignite.marshaller.jdk.JdkMarshallerObjectInputStream.resolveClass(JdkMarshallerObjectInputStream.java:59)
>   at 
> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1863)
>   at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1746)
>   at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2037)
>   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1568)
>   at java.io.ObjectInputStream.readObject(ObjectInputStream.java:428)
>   at 
> org.apache.ignite.internal.processors.cache.query.continuous.CacheContinuousQueryHandlerV2.readExternal(CacheContinuousQueryHandlerV2.java:179)
>   at 
> java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:2113)
>   at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2062)
>   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1568)
>   at 
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2282)
>   at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2206)
>   at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2064)
>   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1568)
>   at 

[jira] [Created] (IGNITE-11914) Failures to deserialize discovery data should be handled by a failure handler

2019-06-13 Thread Denis Mekhanikov (JIRA)
Denis Mekhanikov created IGNITE-11914:
-

 Summary: Failures to deserialize discovery data should be handled 
by a failure handler
 Key: IGNITE-11914
 URL: https://issues.apache.org/jira/browse/IGNITE-11914
 Project: Ignite
  Issue Type: Bug
Affects Versions: 2.7.5
Reporter: Denis Mekhanikov


When a node during join receives a discovery data packet, that it cannot 
deserialize, then this error is printed to log and not handled in any way. It 
leads to swallowing potentially important failures.

For example, a failure to deserialize a continuous query remote filter should 
be propagated to a failure handler, but it doesn't happen. Test is attached.

Error message:

{noformat}
Failed to unmarshal discovery data for component: 0
class org.apache.ignite.IgniteCheckedException: Failed to find class with given 
class loader for unmarshalling (make sure same versions of all classes are 
available on all nodes or enable peer-class-loading) 
[clsLdr=sun.misc.Launcher$AppClassLoader@18b4aac2, 
cls=org.apache.ignite.tests.p2p.CacheDeploymentEntryEventFilterFactory]
at 
org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal0(JdkMarshaller.java:146)
at 
org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:93)
at 
org.apache.ignite.internal.util.IgniteUtils.unmarshalZip(IgniteUtils.java:10068)
at 
org.apache.ignite.spi.discovery.tcp.internal.DiscoveryDataPacket.unmarshalData(DiscoveryDataPacket.java:292)
at 
org.apache.ignite.spi.discovery.tcp.internal.DiscoveryDataPacket.unmarshalGridData(DiscoveryDataPacket.java:154)
at 
org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.onExchange(TcpDiscoverySpi.java:2065)
at 
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processNodeAddFinishedMessage(ServerImpl.java:4882)
at 
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2964)
at 
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2696)
at 
org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorker.body(ServerImpl.java:7527)
at 
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.body(ServerImpl.java:2818)
at 
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
at 
org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorkerThread.body(ServerImpl.java:7458)
at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:61)
Caused by: java.lang.ClassNotFoundException: 
org.apache.ignite.tests.p2p.CacheDeploymentEntryEventFilterFactory
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at 
org.apache.ignite.internal.util.IgniteUtils.forName(IgniteUtils.java:8672)
at 
org.apache.ignite.marshaller.jdk.JdkMarshallerObjectInputStream.resolveClass(JdkMarshallerObjectInputStream.java:59)
at 
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1863)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1746)
at 
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2037)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1568)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:428)
at 
org.apache.ignite.internal.processors.cache.query.continuous.CacheContinuousQueryHandlerV2.readExternal(CacheContinuousQueryHandlerV2.java:179)
at 
java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:2113)
at 
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2062)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1568)
at 
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2282)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2206)
at 
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2064)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1568)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:428)
at java.util.HashMap.readObject(HashMap.java:1409)
at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at 
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1158)
at 

[jira] [Created] (IGNITE-11907) Registration of continuous query should fail if nodes don't have remote filter class

2019-06-10 Thread Denis Mekhanikov (JIRA)
Denis Mekhanikov created IGNITE-11907:
-

 Summary: Registration of continuous query should fail if nodes 
don't have remote filter class
 Key: IGNITE-11907
 URL: https://issues.apache.org/jira/browse/IGNITE-11907
 Project: Ignite
  Issue Type: Bug
Affects Versions: 2.7
Reporter: Denis Mekhanikov
 Attachments: ContinuousQueryRemoteFilterMissingInClassPathSelfTest.java

If one of data nodes doesn't have a remote filter class, then registration of 
continuous queries should fail with an exception. Currently nodes fail instead.

Reproducer is attached: 
[^ContinuousQueryRemoteFilterMissingInClassPathSelfTest.java]



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


[jira] [Commented] (IGNITE-11883) Unable to find keys in testKeyAffinityDeploy

2019-05-31 Thread Denis Mekhanikov (JIRA)


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

Denis Mekhanikov commented on IGNITE-11883:
---

AFAICS, invocation to {{primaryKey}} cannot generate a primary key for the 
provided cache on a tested node. It means that the node has no primary 
partitions available locally. Most probably, it's not in the baseline topology.

> Unable to find keys in testKeyAffinityDeploy
> 
>
> Key: IGNITE-11883
> URL: https://issues.apache.org/jira/browse/IGNITE-11883
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Fedotov
>Priority: Major
>
> After turn on IgniteConfigVariationsAbstractTest 
> IgniteServiceConfigVariationsFullApiTest#testKeyAffinityDeploy became failed 
> - "Unable to find 1 required keys" [1].
> It is necessary to investigate the reason and fix the test.
> [1] 
> https://ci.ignite.apache.org/viewLog.html?buildId=3978784=buildResultsDiv=IgniteTests24Java8_ServiceGridLegacyMode#testNameId5798659135386117314



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


[jira] [Updated] (IGNITE-11110) UnsupportedOperationException: null when stopping grid

2019-05-20 Thread Denis Mekhanikov (JIRA)


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

Denis Mekhanikov updated IGNITE-0:
--
Ignite Flags:   (was: Docs Required)

> UnsupportedOperationException: null when stopping grid
> --
>
> Key: IGNITE-0
> URL: https://issues.apache.org/jira/browse/IGNITE-0
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.7
>Reporter: Jens Borgland
>Priority: Major
>
> After upgrading to 2.7 we've started getting these errors when stopping grids:
> {noformat}
> java.lang.UnsupportedOperationException: null
>   at 
> org.jsr166.ConcurrentLinkedHashMap.clear(ConcurrentLinkedHashMap.java:1551) 
> ~[ignite-core-2.7.0.jar:2.7.0]
>   at 
> org.apache.ignite.internal.processors.job.GridJobProcessor.stop(GridJobProcessor.java:264)
>  ~[ignite-core-2.7.0.jar:2.7.0]
>   at 
> org.apache.ignite.internal.IgniteKernal.stop0(IgniteKernal.java:2356) 
> ~[ignite-core-2.7.0.jar:2.7.0]
>   at org.apache.ignite.internal.IgniteKernal.stop(IgniteKernal.java:2228) 
> ~[ignite-core-2.7.0.jar:2.7.0]
>   at 
> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.stop0(IgnitionEx.java:2612)
>  ~[ignite-core-2.7.0.jar:2.7.0]
>   at 
> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.stop(IgnitionEx.java:2575)
>  ~[ignite-core-2.7.0.jar:2.7.0]
>   at org.apache.ignite.internal.IgnitionEx.stop(IgnitionEx.java:379) 
> ~[ignite-core-2.7.0.jar:2.7.0]
>   at org.apache.ignite.Ignition.stop(Ignition.java:225) 
> ~[ignite-core-2.7.0.jar:2.7.0]
>   at 
> org.apache.ignite.internal.IgniteKernal.close(IgniteKernal.java:3568) 
> ~[ignite-core-2.7.0.jar:2.7.0]
> {noformat}
> At first glance it looks likely that it was introduced with commit 
> [d04d764|https://github.com/apache/ignite/commit/d04d76440ce86873de7aebc8c03d39484cd1e3e5]
>  (the {{GridJobProcessor}} still calls {{clear()}} on maps).



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


[jira] [Created] (IGNITE-11854) Serialization of arrays of primitives in python thin client is not optimal

2019-05-16 Thread Denis Mekhanikov (JIRA)
Denis Mekhanikov created IGNITE-11854:
-

 Summary: Serialization of arrays of primitives in python thin 
client is not optimal
 Key: IGNITE-11854
 URL: https://issues.apache.org/jira/browse/IGNITE-11854
 Project: Ignite
  Issue Type: Bug
  Components: thin client
Affects Versions: 2.7
Reporter: Denis Mekhanikov


The following code hangs indefinitely inside of invocation to {{my_cache.put()}}
{code:java}
from pyignite import Client

arr_len = 3_000_000

content = bytearray(arr_len)

for i in range(arr_len):
content[i] = i % 256

client = Client()
client.connect('127.0.0.1', 10800)
my_cache = client.get_or_create_cache('my cache')
my_cache.put("key_bin", content){code}
While the value is only 3MB in size. Implementation of serialization of 
primitive arrays seems to be quadratic in length of the array.



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


[jira] [Updated] (IGNITE-11792) Web console agent throws NullPointerException if node endpoint is incorrect

2019-04-22 Thread Denis Mekhanikov (JIRA)


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

Denis Mekhanikov updated IGNITE-11792:
--
Ignite Flags:   (was: Docs Required)

> Web console agent throws NullPointerException if node endpoint is incorrect
> ---
>
> Key: IGNITE-11792
> URL: https://issues.apache.org/jira/browse/IGNITE-11792
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.7
>Reporter: Denis Mekhanikov
>Priority: Major
>  Labels: web-console
>
> Starting web agent using the following command: 
> {code:bash}
> ./ignite-web-agent.sh -n localhost:8080 -s https://console.gridgain.com/
> {code}
> Note, that {{localhost:8080}} is specified without the {{http://}} part. It 
> leads to the following exception:
> {noformat}
> [ERROR][pool-1-thread-1][ClusterListener] WatchTask failed
> java.lang.NullPointerException
>   at 
> org.apache.ignite.console.agent.rest.RestExecutor.sendRequest(RestExecutor.java:185)
>   at 
> org.apache.ignite.console.agent.rest.RestExecutor.sendRequest(RestExecutor.java:237)
>   at 
> org.apache.ignite.console.agent.handlers.ClusterListener$WatchTask.restCommand(ClusterListener.java:421)
>   at 
> org.apache.ignite.console.agent.handlers.ClusterListener$WatchTask.topology(ClusterListener.java:457)
>   at 
> org.apache.ignite.console.agent.handlers.ClusterListener$WatchTask.run(ClusterListener.java:506)
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>   at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
>   at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
>   at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
>   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}
> The {{localhost:8080}} format should either be supported or a reasonable 
> error message should be printed.



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


[jira] [Created] (IGNITE-11792) Web console agent throws NullPointerException if node endpoint is incorrect

2019-04-22 Thread Denis Mekhanikov (JIRA)
Denis Mekhanikov created IGNITE-11792:
-

 Summary: Web console agent throws NullPointerException if node 
endpoint is incorrect
 Key: IGNITE-11792
 URL: https://issues.apache.org/jira/browse/IGNITE-11792
 Project: Ignite
  Issue Type: Bug
Affects Versions: 2.7
Reporter: Denis Mekhanikov


Starting web agent using the following command: 
{code:bash}
./ignite-web-agent.sh -n localhost:8080 -s https://console.gridgain.com/
{code}

Note, that {{localhost:8080}} is specified without the {{http://}} part. It 
leads to the following exception:
{noformat}
[ERROR][pool-1-thread-1][ClusterListener] WatchTask failed
java.lang.NullPointerException
at 
org.apache.ignite.console.agent.rest.RestExecutor.sendRequest(RestExecutor.java:185)
at 
org.apache.ignite.console.agent.rest.RestExecutor.sendRequest(RestExecutor.java:237)
at 
org.apache.ignite.console.agent.handlers.ClusterListener$WatchTask.restCommand(ClusterListener.java:421)
at 
org.apache.ignite.console.agent.handlers.ClusterListener$WatchTask.topology(ClusterListener.java:457)
at 
org.apache.ignite.console.agent.handlers.ClusterListener$WatchTask.run(ClusterListener.java:506)
at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
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}

The {{localhost:8080}} format should either be supported or a reasonable error 
message should be printed.



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


[jira] [Resolved] (IGNITE-11520) SQL schema is overwritten by static query entity configuration

2019-03-28 Thread Denis Mekhanikov (JIRA)


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

Denis Mekhanikov resolved IGNITE-11520.
---
Resolution: Duplicate

> SQL schema is overwritten by static query entity configuration
> --
>
> Key: IGNITE-11520
> URL: https://issues.apache.org/jira/browse/IGNITE-11520
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Affects Versions: 2.4, 2.7
>Reporter: Denis Mekhanikov
>Priority: Major
> Fix For: 2.8
>
>
> Steps to reproduce:
> 1. Start and restart a node with persistence enabled and the following cache 
> configuration:
> {code}
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> {code}
> 2. Execute the following DDL statement:
> {code}
> ALTER TABLE "cache".Person ADD COLUMN lastName varchar;
> {code}
> 3. Restart the node.
> After the restart Person table contains only two columns



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


[jira] [Commented] (IGNITE-11380) Make UriDeploymentSpi support JAR files

2019-03-26 Thread Denis Mekhanikov (JIRA)


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

Denis Mekhanikov commented on IGNITE-11380:
---

Documentation ticket: IGNITE-11628

> Make UriDeploymentSpi support JAR files
> ---
>
> Key: IGNITE-11380
> URL: https://issues.apache.org/jira/browse/IGNITE-11380
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Denis Mekhanikov
>Assignee: Denis Mekhanikov
>Priority: Major
> Fix For: 2.8
>
>  Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> {{UriDeploymentSpi}} doesn't support JAR files. Only GAR files can be used 
> currently.
> It would be good to add possibility to provide classes to the 
> {{UriDeployment}} packaged as plain JARs.
> Dev list discussion: 
> http://apache-ignite-developers.2346864.n4.nabble.com/UriDeploymentSpi-and-GAR-files-td40869.html



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


[jira] [Updated] (IGNITE-11628) Document the possibility to use JAR files in UriDeploymentSpi

2019-03-26 Thread Denis Mekhanikov (JIRA)


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

Denis Mekhanikov updated IGNITE-11628:
--
Description: 
{{UriDeploymentSpi}} got a possibility to support regular JAR files along with 
GARs in IGNITE-11380
This possibility should be reflected in the documentation. 

  was:
{{UriDeploymentSpi}} got a possibility to support regular JAR files along with 
GARs in https://issues.apache.org/jira/browse/IGNITE-11380
This possibility should be reflected in the documentation. 


> Document the possibility to use JAR files in UriDeploymentSpi
> -
>
> Key: IGNITE-11628
> URL: https://issues.apache.org/jira/browse/IGNITE-11628
> Project: Ignite
>  Issue Type: Task
>  Components: documentation
>Reporter: Denis Mekhanikov
>Assignee: Artem Budnikov
>Priority: Major
> Fix For: 2.8
>
>
> {{UriDeploymentSpi}} got a possibility to support regular JAR files along 
> with GARs in IGNITE-11380
> This possibility should be reflected in the documentation. 



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


[jira] [Created] (IGNITE-11628) Document the possibility to use JAR files in UriDeploymentSpi

2019-03-26 Thread Denis Mekhanikov (JIRA)
Denis Mekhanikov created IGNITE-11628:
-

 Summary: Document the possibility to use JAR files in 
UriDeploymentSpi
 Key: IGNITE-11628
 URL: https://issues.apache.org/jira/browse/IGNITE-11628
 Project: Ignite
  Issue Type: Task
  Components: documentation
Reporter: Denis Mekhanikov
Assignee: Artem Budnikov
 Fix For: 2.8


{{UriDeploymentSpi}} got a possibility to support regular JAR files along with 
GARs in https://issues.apache.org/jira/browse/IGNITE-11380
This possibility should be reflected in the documentation. 



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


[jira] [Created] (IGNITE-11575) Make UriDeploymentSpi ignore archives with untrusted signature

2019-03-19 Thread Denis Mekhanikov (JIRA)
Denis Mekhanikov created IGNITE-11575:
-

 Summary: Make UriDeploymentSpi ignore archives with untrusted 
signature
 Key: IGNITE-11575
 URL: https://issues.apache.org/jira/browse/IGNITE-11575
 Project: Ignite
  Issue Type: Improvement
Reporter: Denis Mekhanikov


{{UriDeploymentSpi}} checks whether a loaded JAR/GAR file has a correct 
signature. But there is no way to specify the expected public key. So, it's 
possible to perform a "man-in-the-middle" attack by amending an archive being 
transferred from a remote storage to an Ignite node.
It's even possible just to remove the signature, and a completely unsigned file 
will be processed without errors.

There should be a way to specify an expected public key, that should be used 
while signing archives.



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


[jira] [Commented] (IGNITE-11371) Cache get operation with readThrough returns null if remove is performed concurrently

2019-03-19 Thread Denis Mekhanikov (JIRA)


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

Denis Mekhanikov commented on IGNITE-11371:
---

[~agoncharuk] the changes look good to me. Consider adding tests for 
transactional caches and having at least one backup.

Also I think, it would be good to have a test like follows, just to fix the 
behaviour:
{code:java}
@Test
public void testRemoveIsApplied() throws Exception {
startGrid(0);

IgniteEx client = startGrid("client");

IgniteCache cache = client.cache(TEST_CACHE);

String key = "key";

assertNotNull(cache.get(key));

IgniteFuture getFut = cache.getAsync(key);

cache.remove(key);

assertNotNull(getFut.get());

assertNull(cache.localPeek(key)); // Check, that remove actually takes 
place.

assertNotNull(cache.get(key));
}
{code}

> Cache get operation with readThrough returns null if remove is performed 
> concurrently
> -
>
> Key: IGNITE-11371
> URL: https://issues.apache.org/jira/browse/IGNITE-11371
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 1.8, 2.5, 2.7
>Reporter: Denis Mekhanikov
>Assignee: Alexey Goncharuk
>Priority: Major
> Fix For: 2.8
>
> Attachments: IgniteInvalidationNullRunner.java
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Consider a situation, when you have a cache with {{CacheStore}} and 
> {{readThrough}} configured.
> One may expect, that {{IgniteCache#get(...)}} operation will never return 
> {{null}} for keys, that are present in the underlying {{CacheStore}}. But 
> actually it's possible to get {{null}} in case if remove operation is called 
> on the same key while {{CacheStore#load}} is running.
> Reproducer is attached.



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


[jira] [Created] (IGNITE-11543) TransactionOptimisticException on topology change when readThrough is enabled

2019-03-14 Thread Denis Mekhanikov (JIRA)
Denis Mekhanikov created IGNITE-11543:
-

 Summary: TransactionOptimisticException on topology change when 
readThrough is enabled
 Key: IGNITE-11543
 URL: https://issues.apache.org/jira/browse/IGNITE-11543
 Project: Ignite
  Issue Type: Bug
  Components: cache
Affects Versions: 2.7
Reporter: Denis Mekhanikov
 Attachments: 
CacheOptimisticTransactionTopologyChangeReadThroughTest.java

When topology changes during an optimistic serializable transaction on a 
replicated cache with {{readThrough}} enabled, 
{{TransactionOptimisticException}} may appear.

Cache configuration:
{noformat}
cacheMode: REPLICATED
atomicityMode: TRANSACTIONAL
readThrough: true
{noformat}

Reproducer is attached.



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


[jira] [Updated] (IGNITE-11543) TransactionOptimisticException on topology change when readThrough is enabled

2019-03-14 Thread Denis Mekhanikov (JIRA)


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

Denis Mekhanikov updated IGNITE-11543:
--
Attachment: (was: 
CacheOptimisticTransactionTopologyChangeReadThroughTest.java)

> TransactionOptimisticException on topology change when readThrough is enabled
> -
>
> Key: IGNITE-11543
> URL: https://issues.apache.org/jira/browse/IGNITE-11543
> Project: Ignite
>  Issue Type: Bug
>  Components: cache
>Affects Versions: 2.7
>Reporter: Denis Mekhanikov
>Priority: Major
> Attachments: 
> CacheOptimisticTransactionTopologyChangeReadThroughTest.java
>
>
> When topology changes during an optimistic serializable transaction on a 
> replicated cache with {{readThrough}} enabled, 
> {{TransactionOptimisticException}} may appear.
> Cache configuration:
> {noformat}
> cacheMode: REPLICATED
> atomicityMode: TRANSACTIONAL
> readThrough: true
> {noformat}
> Reproducer is attached.



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


[jira] [Updated] (IGNITE-11543) TransactionOptimisticException on topology change when readThrough is enabled

2019-03-14 Thread Denis Mekhanikov (JIRA)


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

Denis Mekhanikov updated IGNITE-11543:
--
Attachment: CacheOptimisticTransactionTopologyChangeReadThroughTest.java

> TransactionOptimisticException on topology change when readThrough is enabled
> -
>
> Key: IGNITE-11543
> URL: https://issues.apache.org/jira/browse/IGNITE-11543
> Project: Ignite
>  Issue Type: Bug
>  Components: cache
>Affects Versions: 2.7
>Reporter: Denis Mekhanikov
>Priority: Major
> Attachments: 
> CacheOptimisticTransactionTopologyChangeReadThroughTest.java
>
>
> When topology changes during an optimistic serializable transaction on a 
> replicated cache with {{readThrough}} enabled, 
> {{TransactionOptimisticException}} may appear.
> Cache configuration:
> {noformat}
> cacheMode: REPLICATED
> atomicityMode: TRANSACTIONAL
> readThrough: true
> {noformat}
> Reproducer is attached.



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


[jira] [Created] (IGNITE-11531) Merge concurrent registrations of the same binary type

2019-03-12 Thread Denis Mekhanikov (JIRA)
Denis Mekhanikov created IGNITE-11531:
-

 Summary: Merge concurrent registrations of the same binary type
 Key: IGNITE-11531
 URL: https://issues.apache.org/jira/browse/IGNITE-11531
 Project: Ignite
  Issue Type: Improvement
  Components: binary
Reporter: Denis Mekhanikov


When a binary type is registered multiple times simultaneously, then a lot of 
type versions are generated with the same schema. It leads to long binary type 
registration especially on big topologies.

The following code sample demonstrates the problem:
{code:java}
public class LongRegistration {
public static void main(String[] args) throws InterruptedException {
Ignite ignite = Ignition.start(igniteConfig());

int threadsNum = 50;

ExecutorService exec = Executors.newFixedThreadPool(threadsNum);

CyclicBarrier barrier = new CyclicBarrier(threadsNum);

long startTime = System.currentTimeMillis();

// register(ignite);

for (int i = 0; i < threadsNum; i++)
exec.submit(new TypeRegistrator(ignite, barrier));

exec.shutdown();
exec.awaitTermination(Long.MAX_VALUE, TimeUnit.SECONDS);

System.out.println("Total registration time: " + 
(System.currentTimeMillis() - startTime));
}

private static IgniteConfiguration igniteConfig() {
IgniteConfiguration igniteCfg = new IgniteConfiguration();

TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder();

ipFinder.setAddresses(Collections.singletonList("127.0.0.1:47500..47509"));

TcpDiscoverySpi discoverySpi = new TcpDiscoverySpi();
discoverySpi.setLocalAddress("127.0.0.1");
discoverySpi.setLocalPort(47500);
discoverySpi.setIpFinder(ipFinder);

igniteCfg.setDiscoverySpi(discoverySpi);

return igniteCfg;
}

private static void register(Ignite ignite) {
long startTime = System.currentTimeMillis();

IgniteBinary binary = ignite.binary();

BinaryObjectBuilder builder = binary.builder("TestType");

builder.setField("intField", 1);

builder.build();

System.out.println("Registration time: " + (System.currentTimeMillis() 
- startTime));
}

private static class TypeRegistrator implements Runnable {
private Ignite ignite;
private CyclicBarrier cyclicBarrier;

TypeRegistrator(Ignite ignite, CyclicBarrier cyclicBarrier) {
this.ignite = ignite;
this.cyclicBarrier = cyclicBarrier;
}

@Override public void run() {
try {
cyclicBarrier.await();

register(ignite);
} catch (InterruptedException | BrokenBarrierException e) {
e.printStackTrace();
}
}
}
}
{code}

This code sample leads to registration of 50 versions of the same type. The 
effect is more noticeable if a cluster contains a lot of nodes.

If you uncomment the call to {{register()}} method, then overall registration 
becomes 10 times faster on topology of 5 nodes.

Registration of matching types should be merged to avoid long processing of 
such cases.



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


[jira] [Created] (IGNITE-11520) SQL schema is overwritten by static query entity configuration

2019-03-11 Thread Denis Mekhanikov (JIRA)
Denis Mekhanikov created IGNITE-11520:
-

 Summary: SQL schema is overwritten by static query entity 
configuration
 Key: IGNITE-11520
 URL: https://issues.apache.org/jira/browse/IGNITE-11520
 Project: Ignite
  Issue Type: Bug
  Components: sql
Affects Versions: 2.7, 2.4
Reporter: Denis Mekhanikov
 Fix For: 2.8


Steps to reproduce:
1. Start and restart a node with persistence enabled and the following cache 
configuration:
{code}




















{code}

2. Execute the following DDL statement:
{code}
ALTER TABLE "cache".Person ADD COLUMN lastName varchar;
{code}

3. Restart the node.

After the restart Person table contains only two columns



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


[jira] [Updated] (IGNITE-11490) Introduce a way to enable system data region metrics in configuration

2019-03-06 Thread Denis Mekhanikov (JIRA)


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

Denis Mekhanikov updated IGNITE-11490:
--
Issue Type: Improvement  (was: Bug)

> Introduce a way to enable system data region metrics in configuration
> -
>
> Key: IGNITE-11490
> URL: https://issues.apache.org/jira/browse/IGNITE-11490
> Project: Ignite
>  Issue Type: Improvement
>Affects Versions: 2.7
>Reporter: Denis Mekhanikov
>Priority: Major
>  Labels: metrics, usability
>
> Currently system data region metrics can be only enabled at runtime.
> It would be convenient to have a configuration property, that will enable 
> metrics for system data region, just like for any other data region.



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


[jira] [Updated] (IGNITE-11490) Introduce a way to enable system data region metrics in configuration

2019-03-06 Thread Denis Mekhanikov (JIRA)


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

Denis Mekhanikov updated IGNITE-11490:
--
Summary: Introduce a way to enable system data region metrics in 
configuration  (was: DataStorageConfiguration.metricsEnabled flag is ignored)

> Introduce a way to enable system data region metrics in configuration
> -
>
> Key: IGNITE-11490
> URL: https://issues.apache.org/jira/browse/IGNITE-11490
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.7
>Reporter: Denis Mekhanikov
>Priority: Major
>  Labels: metrics, usability
>
> Data region metrics are disabled regardless of value of 
> `DataStorageConfiguration.metricsEnabled` flag. Memory metrics can only be 
> enabled explicitly at runtime or in a specific `DataRegionConfiguration`.
> Expected behaviour: `metricsEnabled` flag shouldn't be ignored.



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


[jira] [Updated] (IGNITE-11490) Introduce a way to enable system data region metrics in configuration

2019-03-06 Thread Denis Mekhanikov (JIRA)


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

Denis Mekhanikov updated IGNITE-11490:
--
Priority: Minor  (was: Major)

> Introduce a way to enable system data region metrics in configuration
> -
>
> Key: IGNITE-11490
> URL: https://issues.apache.org/jira/browse/IGNITE-11490
> Project: Ignite
>  Issue Type: Improvement
>Affects Versions: 2.7
>Reporter: Denis Mekhanikov
>Priority: Minor
>  Labels: metrics, usability
>
> Currently system data region metrics can be only enabled at runtime.
> It would be convenient to have a configuration property, that will enable 
> metrics for system data region, just like for any other data region.



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


[jira] [Updated] (IGNITE-11490) Introduce a way to enable system data region metrics in configuration

2019-03-06 Thread Denis Mekhanikov (JIRA)


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

Denis Mekhanikov updated IGNITE-11490:
--
Description: 
Currently system data region metrics can be only enabled at runtime.
It would be convenient to have a configuration property, that will enable 
metrics for system data region, just like for any other data region.

  was:Currently system data region metrics can be only enabled in runtime.


> Introduce a way to enable system data region metrics in configuration
> -
>
> Key: IGNITE-11490
> URL: https://issues.apache.org/jira/browse/IGNITE-11490
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.7
>Reporter: Denis Mekhanikov
>Priority: Major
>  Labels: metrics, usability
>
> Currently system data region metrics can be only enabled at runtime.
> It would be convenient to have a configuration property, that will enable 
> metrics for system data region, just like for any other data region.



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


[jira] [Updated] (IGNITE-11490) Introduce a way to enable system data region metrics in configuration

2019-03-06 Thread Denis Mekhanikov (JIRA)


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

Denis Mekhanikov updated IGNITE-11490:
--
Description: Currently system data region metrics can be only enabled in 
runtime.  (was: Data region metrics are disabled regardless of value of 
`DataStorageConfiguration.metricsEnabled` flag. Memory metrics can only be 
enabled explicitly at runtime or in a specific `DataRegionConfiguration`.

Expected behaviour: `metricsEnabled` flag shouldn't be ignored.)

> Introduce a way to enable system data region metrics in configuration
> -
>
> Key: IGNITE-11490
> URL: https://issues.apache.org/jira/browse/IGNITE-11490
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.7
>Reporter: Denis Mekhanikov
>Priority: Major
>  Labels: metrics, usability
>
> Currently system data region metrics can be only enabled in runtime.



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


[jira] [Updated] (IGNITE-11490) DataStorageConfiguration.metricsEnabled flag is ignored

2019-03-06 Thread Denis Mekhanikov (JIRA)


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

Denis Mekhanikov updated IGNITE-11490:
--
Description: 
Data region metrics are disabled regardless of value of 
`DataStorageConfiguration.metricsEnabled` flag. Memory metrics can only be 
enabled explicitly at runtime or in a specific `DataRegionConfiguration`.

Expected behaviour: `metricsEnabled` flag shouldn't be ignored.

  was:
System data region metrics are disabled regardless of value of 
`DataStorageConfiguration.metricsEnabled` flag. Memory metrics can only be 
enabled explicitly at runtime.

Expected behaviour: `metricsEnabled` flag shouldn't be ignored for the system 
data region.


> DataStorageConfiguration.metricsEnabled flag is ignored
> ---
>
> Key: IGNITE-11490
> URL: https://issues.apache.org/jira/browse/IGNITE-11490
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.7
>Reporter: Denis Mekhanikov
>Priority: Major
>  Labels: metrics, usability
>
> Data region metrics are disabled regardless of value of 
> `DataStorageConfiguration.metricsEnabled` flag. Memory metrics can only be 
> enabled explicitly at runtime or in a specific `DataRegionConfiguration`.
> Expected behaviour: `metricsEnabled` flag shouldn't be ignored.



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


[jira] [Updated] (IGNITE-11490) DataStorageConfiguration.metricsEnabled flag is ignored

2019-03-06 Thread Denis Mekhanikov (JIRA)


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

Denis Mekhanikov updated IGNITE-11490:
--
Summary: DataStorageConfiguration.metricsEnabled flag is ignored  (was: 
System data region metrics are disabled regardless of metricsEnabled flag)

> DataStorageConfiguration.metricsEnabled flag is ignored
> ---
>
> Key: IGNITE-11490
> URL: https://issues.apache.org/jira/browse/IGNITE-11490
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.7
>Reporter: Denis Mekhanikov
>Priority: Major
>  Labels: metrics, usability
>
> System data region metrics are disabled regardless of value of 
> `DataStorageConfiguration.metricsEnabled` flag. Memory metrics can only be 
> enabled explicitly at runtime.
> Expected behaviour: `metricsEnabled` flag shouldn't be ignored for the system 
> data region.



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


[jira] [Updated] (IGNITE-11490) System data region metrics are disabled regardless of metricsEnabled flag

2019-03-06 Thread Denis Mekhanikov (JIRA)


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

Denis Mekhanikov updated IGNITE-11490:
--
Labels: metrics usability  (was: )

> System data region metrics are disabled regardless of metricsEnabled flag
> -
>
> Key: IGNITE-11490
> URL: https://issues.apache.org/jira/browse/IGNITE-11490
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.7
>Reporter: Denis Mekhanikov
>Priority: Major
>  Labels: metrics, usability
>
> System data region metrics are disabled regardless of value of 
> `DataStorageConfiguration.metricsEnabled` flag. Memory metrics can only be 
> enabled explicitly at runtime.
> Expected behaviour: `metricsEnabled` flag shouldn't be ignored for the system 
> data region.



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


[jira] [Created] (IGNITE-11490) System data region metrics are disabled regardless of metricsEnabled flag

2019-03-06 Thread Denis Mekhanikov (JIRA)
Denis Mekhanikov created IGNITE-11490:
-

 Summary: System data region metrics are disabled regardless of 
metricsEnabled flag
 Key: IGNITE-11490
 URL: https://issues.apache.org/jira/browse/IGNITE-11490
 Project: Ignite
  Issue Type: Bug
Affects Versions: 2.7
Reporter: Denis Mekhanikov


System data region metrics are disabled regardless of value of 
`DataStorageConfiguration.metricsEnabled` flag. Memory metrics can only be 
enabled explicitly at runtime.

Expected behaviour: `metricsEnabled` flag shouldn't be ignored for the system 
data region.



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


[jira] [Commented] (IGNITE-11384) Introduce an ability of services hot redeployment via DeploymentSpi

2019-03-05 Thread Denis Mekhanikov (JIRA)


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

Denis Mekhanikov commented on IGNITE-11384:
---

The changes look good to me. Please proceed with the merge.

> Introduce an ability of services hot redeployment via DeploymentSpi
> ---
>
> Key: IGNITE-11384
> URL: https://issues.apache.org/jira/browse/IGNITE-11384
> Project: Ignite
>  Issue Type: Sub-task
>  Components: managed services
>Reporter: Vyacheslav Daradur
>Assignee: Vyacheslav Daradur
>Priority: Major
>  Labels: iep-17
> Fix For: 2.8
>
>
> We can integrate service processor with DeploymentSpi to introduce an 
> opportunity of services hot redeployment. For this change, the service 
> processor should try to get and use registered classloader registered for the 
> service's class in DeploymentSpi.



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


[jira] [Commented] (IGNITE-11371) Cache get operation with readThrough returns null if remove is performed concurrently

2019-03-03 Thread Denis Mekhanikov (JIRA)


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

Denis Mekhanikov commented on IGNITE-11371:
---

[~itsick] the workaround is to use 
[IgniteCache#clear(...)|https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/IgniteCache.html#clear-K-]
 method instead of remove. It removes the entry from cache only if no 
operations are performed concurrently.

Currently nobody seems to be working on the fix, so you can take it over. At 
this point it's unclear, if it's possible to guarantee consistency at all, when 
readThrough is enabled, but writeThrough is disabled. We need to research this 
point first.

> Cache get operation with readThrough returns null if remove is performed 
> concurrently
> -
>
> Key: IGNITE-11371
> URL: https://issues.apache.org/jira/browse/IGNITE-11371
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 1.8, 2.5, 2.7
>Reporter: Denis Mekhanikov
>Priority: Major
> Attachments: IgniteInvalidationNullRunner.java
>
>
> Consider a situation, when you have a cache with {{CacheStore}} and 
> {{readThrough}} configured.
> One may expect, that {{IgniteCache#get(...)}} operation will never return 
> {{null}} for keys, that are present in the underlying {{CacheStore}}. But 
> actually it's possible to get {{null}} in case if remove operation is called 
> on the same key while {{CacheStore#load}} is running.
> Reproducer is attached.



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


[jira] [Assigned] (IGNITE-11380) Make UriDeploymentSpi support JAR files

2019-02-24 Thread Denis Mekhanikov (JIRA)


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

Denis Mekhanikov reassigned IGNITE-11380:
-

Assignee: Denis Mekhanikov

> Make UriDeploymentSpi support JAR files
> ---
>
> Key: IGNITE-11380
> URL: https://issues.apache.org/jira/browse/IGNITE-11380
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Denis Mekhanikov
>Assignee: Denis Mekhanikov
>Priority: Major
> Fix For: 2.8
>
>
> {{UriDeploymentSpi}} doesn't support JAR files. Only GAR files can be used 
> currently.
> It would be good to add possibility to provide classes to the 
> {{UriDeployment}} packaged as plain JARs.
> Dev list discussion: 
> http://apache-ignite-developers.2346864.n4.nabble.com/UriDeploymentSpi-and-GAR-files-td40869.html



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


[jira] [Commented] (IGNITE-11379) Drop support of GAR files

2019-02-21 Thread Denis Mekhanikov (JIRA)


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

Denis Mekhanikov commented on IGNITE-11379:
---

It's fine to keep it till 3.0. But in 3.0 it should be dropped then.

> Drop support of GAR files
> -
>
> Key: IGNITE-11379
> URL: https://issues.apache.org/jira/browse/IGNITE-11379
> Project: Ignite
>  Issue Type: Task
>Reporter: Denis Mekhanikov
>Priority: Major
>
> GAR file format doesn't seem to be actually needed in Ignite. There are 
> virtually no tools for their assembly, and simple JARs with the same 
> structure could be used instead.
> Dev list discussion: 
> http://apache-ignite-developers.2346864.n4.nabble.com/UriDeploymentSpi-and-GAR-files-td40869.html



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


  1   2   3   >