[jira] [Created] (IGNITE-16038) Java Thin Client: Retrieve binary configuration from serve

2021-12-01 Thread Alexandr Shapkin (Jira)
Alexandr Shapkin created IGNITE-16038:
-

 Summary: Java Thin Client: Retrieve binary configuration from serve
 Key: IGNITE-16038
 URL: https://issues.apache.org/jira/browse/IGNITE-16038
 Project: Ignite
  Issue Type: Improvement
  Components: platforms
Affects Versions: 2.11
Reporter: Alexandr Shapkin


Thin clients require manual binary configuration currently. Settings like 
compact footer and simple/full name mapper should be set to match the cluster 
settings. Extend the protocol to retrieve those settings automatically on start.

 

I.e. it's impossible to read a value inserted by a thick client with java thin 
client without specifying compactFooter=true



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


[jira] [Updated] (IGNITE-16038) Java Thin Client: Retrieve binary configuration from server

2021-12-01 Thread Alexandr Shapkin (Jira)


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

Alexandr Shapkin updated IGNITE-16038:
--
Summary: Java Thin Client: Retrieve binary configuration from server  (was: 
Java Thin Client: Retrieve binary configuration from serve)

> Java Thin Client: Retrieve binary configuration from server
> ---
>
> Key: IGNITE-16038
> URL: https://issues.apache.org/jira/browse/IGNITE-16038
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms
>Affects Versions: 2.11
>Reporter: Alexandr Shapkin
>Priority: Major
>
> Thin clients require manual binary configuration currently. Settings like 
> compact footer and simple/full name mapper should be set to match the cluster 
> settings. Extend the protocol to retrieve those settings automatically on 
> start.
>  
> I.e. it's impossible to read a value inserted by a thick client with java 
> thin client without specifying compactFooter=true



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


[jira] [Commented] (IGNITE-16038) Java Thin Client: Retrieve binary configuration from server

2021-12-02 Thread Alexandr Shapkin (Jira)


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

Alexandr Shapkin commented on IGNITE-16038:
---

[~alex_pl] 

 

Yes, that's correct, it is a potential compatibility break. I also find the 
case when a client can't read a value inserted by a thick client or vice versa 
counterintuitive. We just don't have any warnings or reasons that explain the 
problem with having different compact footers.

 

Consider this: 
 * a user starts a vanilla server node and performs cache#put(myKey, myVal)
 * then it starts a default thin client and is trying to get a value with 
thinCache.get(myKey)
 * ??? why there is no value found, seems like Ignite is broken...

 

In a very safe implementation, we might yield a WARN in a client's  (java 
version don't have it yet if I remember correctly) or server's logs with 
respect to the binary configuration mismatch and provide a user with the right 
direction on how to fix that. But I'd say we need to implement the change just 
like it's written in IEP and set compactFooter=serverValue. Well, we might add 
just another Ignite property to disable this feature and some announcements in 
release docs are welcome.

 

Anyway, my biggest concern is that - it's very confusing for the end-users. 
WDYT?

 

> Java Thin Client: Retrieve binary configuration from server
> ---
>
> Key: IGNITE-16038
> URL: https://issues.apache.org/jira/browse/IGNITE-16038
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms
>Affects Versions: 2.11
>Reporter: Alexandr Shapkin
>Priority: Major
>
> Thin clients require manual binary configuration currently. Settings like 
> compact footer and simple/full name mapper should be set to match the cluster 
> settings. Extend the protocol to retrieve those settings automatically on 
> start.
>  
> I.e. it's impossible to read a value inserted by a thick client with java 
> thin client without specifying compactFooter=true



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


[jira] [Comment Edited] (IGNITE-16038) Java Thin Client: Retrieve binary configuration from server

2021-12-02 Thread Alexandr Shapkin (Jira)


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

Alexandr Shapkin edited comment on IGNITE-16038 at 12/2/21, 1:16 PM:
-

[~alex_pl] 

 

Yes, that's correct, it is a potential compatibility break. I also find the 
case when a client can't read a value inserted by a thick client or vice versa 
counterintuitive. We just don't have any warnings or reasons that explain the 
problem with having different compact footers.

 

Consider this: 
 * a user starts a vanilla server node and performs cache#put(myKey, myVal) 
[compactFooter=true]
 * then it starts a default thin client and is trying to get a value with 
thinCache.get(myKey) [compactFooter=false]
 * ??? why there is no value found, seems like Ignite is broken...

 

In a very safe implementation, we might yield a WARN in a client's  (java 
version don't have it yet if I remember correctly) or server's logs with 
respect to the binary configuration mismatch and provide a user with the right 
direction on how to fix that. But I'd say we need to implement the change just 
like it's written in IEP and set compactFooter=serverValue. Well, we might add 
just another Ignite property to disable this feature and some announcements in 
release docs are welcome.

 

Anyway, my biggest concern is that - it's very confusing for the end-users. 
WDYT?

 


was (Author: ashapkin):
[~alex_pl] 

 

Yes, that's correct, it is a potential compatibility break. I also find the 
case when a client can't read a value inserted by a thick client or vice versa 
counterintuitive. We just don't have any warnings or reasons that explain the 
problem with having different compact footers.

 

Consider this: 
 * a user starts a vanilla server node and performs cache#put(myKey, myVal)
 * then it starts a default thin client and is trying to get a value with 
thinCache.get(myKey)
 * ??? why there is no value found, seems like Ignite is broken...

 

In a very safe implementation, we might yield a WARN in a client's  (java 
version don't have it yet if I remember correctly) or server's logs with 
respect to the binary configuration mismatch and provide a user with the right 
direction on how to fix that. But I'd say we need to implement the change just 
like it's written in IEP and set compactFooter=serverValue. Well, we might add 
just another Ignite property to disable this feature and some announcements in 
release docs are welcome.

 

Anyway, my biggest concern is that - it's very confusing for the end-users. 
WDYT?

 

> Java Thin Client: Retrieve binary configuration from server
> ---
>
> Key: IGNITE-16038
> URL: https://issues.apache.org/jira/browse/IGNITE-16038
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms
>Affects Versions: 2.11
>Reporter: Alexandr Shapkin
>Priority: Major
>
> Thin clients require manual binary configuration currently. Settings like 
> compact footer and simple/full name mapper should be set to match the cluster 
> settings. Extend the protocol to retrieve those settings automatically on 
> start.
>  
> I.e. it's impossible to read a value inserted by a thick client with java 
> thin client without specifying compactFooter=true



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


[jira] [Commented] (IGNITE-16038) Java Thin Client: Retrieve binary configuration from server

2021-12-02 Thread Alexandr Shapkin (Jira)


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

Alexandr Shapkin commented on IGNITE-16038:
---

Wow, that sounds good. Could you please share a ticket number with the planned 
compactFooter change? If it has not been created yet, we might use this ticket 
for that change. 

> Java Thin Client: Retrieve binary configuration from server
> ---
>
> Key: IGNITE-16038
> URL: https://issues.apache.org/jira/browse/IGNITE-16038
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms
>Affects Versions: 2.11
>Reporter: Alexandr Shapkin
>Priority: Major
>
> Thin clients require manual binary configuration currently. Settings like 
> compact footer and simple/full name mapper should be set to match the cluster 
> settings. Extend the protocol to retrieve those settings automatically on 
> start.
>  
> I.e. it's impossible to read a value inserted by a thick client with java 
> thin client without specifying compactFooter=true



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


[jira] [Commented] (IGNITE-16038) Java Thin Client: Retrieve binary configuration from server

2021-12-02 Thread Alexandr Shapkin (Jira)


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

Alexandr Shapkin commented on IGNITE-16038:
---

Aleksey, thanks a lot for sorting this out!

> Java Thin Client: Retrieve binary configuration from server
> ---
>
> Key: IGNITE-16038
> URL: https://issues.apache.org/jira/browse/IGNITE-16038
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms
>Affects Versions: 2.11
>Reporter: Alexandr Shapkin
>Priority: Major
>
> Thin clients require manual binary configuration currently. Settings like 
> compact footer and simple/full name mapper should be set to match the cluster 
> settings. Extend the protocol to retrieve those settings automatically on 
> start.
>  
> I.e. it's impossible to read a value inserted by a thick client with java 
> thin client without specifying compactFooter=true



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


[jira] [Created] (IGNITE-15197) Incorrect code snippet for Azure Kubernetes Deployment

2021-07-27 Thread Alexandr Shapkin (Jira)
Alexandr Shapkin created IGNITE-15197:
-

 Summary: Incorrect code snippet for Azure Kubernetes Deployment
 Key: IGNITE-15197
 URL: https://issues.apache.org/jira/browse/IGNITE-15197
 Project: Ignite
  Issue Type: Bug
  Components: documentation
Reporter: Alexandr Shapkin
Assignee: Nikita Safonov


See the docs: [ 
https://ignite.apache.org/docs/latest/installation/kubernetes/azure-deployment|https://ignite.apache.org/docs/latest/installation/kubernetes/azure-deployment]
 
h3. Creating ConfigMap for Node Configuration File

 

Two tabs: Configuration without persistence and Configuration with persistence

Need to fix "node-configuration.xml" to be a valid XML file, like this one for 
"Configuration without persistence"

 
{code:java}

http://www.springframework.org/schema/beans;
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance;
   xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd;>
















{code}
I.e. all code samples have to include 

 
{code:java}
 http://www.springframework.org/schema/beans; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=" 
http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans.xsd;>
...
{code}
 



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


[jira] [Created] (IGNITE-15204) SQL exception to be handled by thin clients [CPP]

2021-07-28 Thread Alexandr Shapkin (Jira)
Alexandr Shapkin created IGNITE-15204:
-

 Summary: SQL exception to be handled by thin clients [CPP]
 Key: IGNITE-15204
 URL: https://issues.apache.org/jira/browse/IGNITE-15204
 Project: Ignite
  Issue Type: Improvement
  Components: thin client
Reporter: Alexandr Shapkin


It would be nice to have meningful error descriptions (like using ODBC) instead 
of general ones.

For sample, working with SQL from a thin client it's impossible to get these 
errors:
Uniq_Constraint ,Connection error,Timeout,Bind Param error,Cursor error, 
Prepare error,Execute error,TABLE_NOTFOUND,CACHE_NOTFOUND



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


[jira] [Updated] (IGNITE-15204) SQL exception to be handled by thin clients [CPP]

2021-07-28 Thread Alexandr Shapkin (Jira)


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

Alexandr Shapkin updated IGNITE-15204:
--
Description: 
It would be nice to have meaningful error descriptions (like using ODBC) 
instead of general ones.

For sample, working with SQL from a thin client it's impossible to get these 
errors:
 Uniq_Constraint ,Connection error,Timeout,Bind Param error,Cursor error, 
Prepare error,Execute error,TABLE_NOTFOUND,CACHE_NOTFOUND

 

Looks like the easiest way would be to wait for Ignite 3.0 release with the new 
thin client protocol, but I think we can make some extension to the 2.x 
protocol as well.

  was:
It would be nice to have meningful error descriptions (like using ODBC) instead 
of general ones.

For sample, working with SQL from a thin client it's impossible to get these 
errors:
 Uniq_Constraint ,Connection error,Timeout,Bind Param error,Cursor error, 
Prepare error,Execute error,TABLE_NOTFOUND,CACHE_NOTFOUND

 

Looks like the easiest way would be to wait for Ignite 3.0 release with the new 
thin clint protocol, but I think we can make some extension to the 2.x protocol 
as well.


> SQL exception to be handled by thin clients [CPP]
> -
>
> Key: IGNITE-15204
> URL: https://issues.apache.org/jira/browse/IGNITE-15204
> Project: Ignite
>  Issue Type: Improvement
>  Components: thin client
>Reporter: Alexandr Shapkin
>Priority: Major
>
> It would be nice to have meaningful error descriptions (like using ODBC) 
> instead of general ones.
> For sample, working with SQL from a thin client it's impossible to get these 
> errors:
>  Uniq_Constraint ,Connection error,Timeout,Bind Param error,Cursor error, 
> Prepare error,Execute error,TABLE_NOTFOUND,CACHE_NOTFOUND
>  
> Looks like the easiest way would be to wait for Ignite 3.0 release with the 
> new thin client protocol, but I think we can make some extension to the 2.x 
> protocol as well.



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


[jira] [Updated] (IGNITE-15204) SQL exception to be handled by thin clients [CPP]

2021-07-28 Thread Alexandr Shapkin (Jira)


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

Alexandr Shapkin updated IGNITE-15204:
--
Description: 
It would be nice to have meningful error descriptions (like using ODBC) instead 
of general ones.

For sample, working with SQL from a thin client it's impossible to get these 
errors:
 Uniq_Constraint ,Connection error,Timeout,Bind Param error,Cursor error, 
Prepare error,Execute error,TABLE_NOTFOUND,CACHE_NOTFOUND

 

Looks like the easiest way would be to wait for Ignite 3.0 release with the new 
thin clint protocol, but I think we can make some extension to the 2.x protocol 
as well.

  was:
It would be nice to have meningful error descriptions (like using ODBC) instead 
of general ones.

For sample, working with SQL from a thin client it's impossible to get these 
errors:
Uniq_Constraint ,Connection error,Timeout,Bind Param error,Cursor error, 
Prepare error,Execute error,TABLE_NOTFOUND,CACHE_NOTFOUND


> SQL exception to be handled by thin clients [CPP]
> -
>
> Key: IGNITE-15204
> URL: https://issues.apache.org/jira/browse/IGNITE-15204
> Project: Ignite
>  Issue Type: Improvement
>  Components: thin client
>Reporter: Alexandr Shapkin
>Priority: Major
>
> It would be nice to have meningful error descriptions (like using ODBC) 
> instead of general ones.
> For sample, working with SQL from a thin client it's impossible to get these 
> errors:
>  Uniq_Constraint ,Connection error,Timeout,Bind Param error,Cursor error, 
> Prepare error,Execute error,TABLE_NOTFOUND,CACHE_NOTFOUND
>  
> Looks like the easiest way would be to wait for Ignite 3.0 release with the 
> new thin clint protocol, but I think we can make some extension to the 2.x 
> protocol as well.



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


[jira] [Created] (IGNITE-16568) Kubernetes cluster might split apart on initialization

2022-02-16 Thread Alexandr Shapkin (Jira)
Alexandr Shapkin created IGNITE-16568:
-

 Summary: Kubernetes cluster might split apart on initialization
 Key: IGNITE-16568
 URL: https://issues.apache.org/jira/browse/IGNITE-16568
 Project: Ignite
  Issue Type: Bug
  Components: networking
Reporter: Alexandr Shapkin


The issue is mostly about Kubernetes/Openshift deployment but could also be 
true for other scenarios relying on external services (AWS?). 

Consider the following case: multiple nodes (PODs) were started simultaneously 
and all of them are trying to locate if there are other nodes available using

*_TcpDiscoveryKubernetesIpFinder._* that just returns a set of registered IPs. 
Since there is no delay or retry attempt, all nodes could be returned with an 
empty IPs list and decide to be a coordinator, i.e. to start multiple 
independent grids.

 

Proposed changes: extend  TcpDiscoveryKubernetesIpFinder with either a 
configurable delay or repetitions counter to check if there is a non-empty list 
of available IPs.



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


[jira] [Updated] (IGNITE-16568) Kubernetes cluster might split apart on initialization

2022-02-16 Thread Alexandr Shapkin (Jira)


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

Alexandr Shapkin updated IGNITE-16568:
--
Description: 
The issue is mostly about Kubernetes/Openshift deployment but could also affect 
other scenarios relying on external services (AWS?). 

Consider the following case: multiple nodes (PODs) were started simultaneously 
and all of them are trying to locate if there are other nodes available using

*_TcpDiscoveryKubernetesIpFinder._* that just returns a set of registered IPs. 
Since there is no delay or retry attempt, all nodes could be returned with an 
empty IPs list and decide to be a coordinator, i.e. to start multiple 
independent grids.

 

Proposed changes: extend  TcpDiscoveryKubernetesIpFinder with either a 
configurable delay or repetitions counter to check if there is a non-empty list 
of available IPs.

  was:
The issue is mostly about Kubernetes/Openshift deployment but could also be 
true for other scenarios relying on external services (AWS?). 

Consider the following case: multiple nodes (PODs) were started simultaneously 
and all of them are trying to locate if there are other nodes available using

*_TcpDiscoveryKubernetesIpFinder._* that just returns a set of registered IPs. 
Since there is no delay or retry attempt, all nodes could be returned with an 
empty IPs list and decide to be a coordinator, i.e. to start multiple 
independent grids.

 

Proposed changes: extend  TcpDiscoveryKubernetesIpFinder with either a 
configurable delay or repetitions counter to check if there is a non-empty list 
of available IPs.


> Kubernetes cluster might split apart on initialization
> --
>
> Key: IGNITE-16568
> URL: https://issues.apache.org/jira/browse/IGNITE-16568
> Project: Ignite
>  Issue Type: Bug
>  Components: networking
>Affects Versions: 2.11.1
>Reporter: Alexandr Shapkin
>Priority: Major
>  Labels: Kubernetes
>
> The issue is mostly about Kubernetes/Openshift deployment but could also 
> affect other scenarios relying on external services (AWS?). 
> Consider the following case: multiple nodes (PODs) were started 
> simultaneously and all of them are trying to locate if there are other nodes 
> available using
> *_TcpDiscoveryKubernetesIpFinder._* that just returns a set of registered 
> IPs. Since there is no delay or retry attempt, all nodes could be returned 
> with an empty IPs list and decide to be a coordinator, i.e. to start multiple 
> independent grids.
>  
> Proposed changes: extend  TcpDiscoveryKubernetesIpFinder with either a 
> configurable delay or repetitions counter to check if there is a non-empty 
> list of available IPs.



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


[jira] [Updated] (IGNITE-16568) Kubernetes cluster might split apart on initialization

2022-02-16 Thread Alexandr Shapkin (Jira)


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

Alexandr Shapkin updated IGNITE-16568:
--
Affects Version/s: 2.11.1

> Kubernetes cluster might split apart on initialization
> --
>
> Key: IGNITE-16568
> URL: https://issues.apache.org/jira/browse/IGNITE-16568
> Project: Ignite
>  Issue Type: Bug
>  Components: networking
>Affects Versions: 2.11.1
>Reporter: Alexandr Shapkin
>Priority: Major
>  Labels: Kubernetes
>
> The issue is mostly about Kubernetes/Openshift deployment but could also be 
> true for other scenarios relying on external services (AWS?). 
> Consider the following case: multiple nodes (PODs) were started 
> simultaneously and all of them are trying to locate if there are other nodes 
> available using
> *_TcpDiscoveryKubernetesIpFinder._* that just returns a set of registered 
> IPs. Since there is no delay or retry attempt, all nodes could be returned 
> with an empty IPs list and decide to be a coordinator, i.e. to start multiple 
> independent grids.
>  
> Proposed changes: extend  TcpDiscoveryKubernetesIpFinder with either a 
> configurable delay or repetitions counter to check if there is a non-empty 
> list of available IPs.



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


[jira] [Updated] (IGNITE-16568) Kubernetes cluster might split apart on initialization

2022-02-16 Thread Alexandr Shapkin (Jira)


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

Alexandr Shapkin updated IGNITE-16568:
--
External issue URL: 
https://stackoverflow.com/questions/71118869/openshift-k8s-issue-with-project-pods-not-joining-same-grid-but-rather-create-m
Labels: Kubernetes  (was: )

> Kubernetes cluster might split apart on initialization
> --
>
> Key: IGNITE-16568
> URL: https://issues.apache.org/jira/browse/IGNITE-16568
> Project: Ignite
>  Issue Type: Bug
>  Components: networking
>Reporter: Alexandr Shapkin
>Priority: Major
>  Labels: Kubernetes
>
> The issue is mostly about Kubernetes/Openshift deployment but could also be 
> true for other scenarios relying on external services (AWS?). 
> Consider the following case: multiple nodes (PODs) were started 
> simultaneously and all of them are trying to locate if there are other nodes 
> available using
> *_TcpDiscoveryKubernetesIpFinder._* that just returns a set of registered 
> IPs. Since there is no delay or retry attempt, all nodes could be returned 
> with an empty IPs list and decide to be a coordinator, i.e. to start multiple 
> independent grids.
>  
> Proposed changes: extend  TcpDiscoveryKubernetesIpFinder with either a 
> configurable delay or repetitions counter to check if there is a non-empty 
> list of available IPs.



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


[jira] [Resolved] (IGNITE-16435) [Ignite Website] Update for events schedule

2022-02-04 Thread Alexandr Shapkin (Jira)


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

Alexandr Shapkin resolved IGNITE-16435.
---
Resolution: Fixed

[~hoter] Thanks for the contribution!

> [Ignite Website] Update for events schedule
> ---
>
> Key: IGNITE-16435
> URL: https://issues.apache.org/jira/browse/IGNITE-16435
> Project: Ignite
>  Issue Type: Task
>  Components: website
>Reporter: Evgenia
>Assignee: Erlan Aytpaev
>Priority: Trivial
>
> Please add an event to [https://ignite.apache.org/events.html]
> Event Date: February, 16
> h1. Apache Ignite Community Gathering: Ignite 3 Alpha 4
> During this community gathering, we will discuss the latest Ignite releases:
>  - Apache Ignite 2.12 overview
>  - Apache Ignite 3 Alpha 4: The Next Milestone
>  - Transactions API in Apache Ignite 3
> ___
> Maxim Timonin, Apache Ignite Committer and Software Engineer at SberTech will 
> present a brief overview of the Apache Ignite 2.12 release.
> Apache Ignite 3 Alpha 4: The Next Milestone
> Apache Ignite 3 is the next generation of the Apache Ignite platform. Ignite 
> 3 modernizes and improves Ignite’s usability while retaining its power and 
> flexibility. The Alpha 4 build is the latest release of the Ignite 3 project. 
> Val Kulichenko, Apache Ignite PMC member and the Ignite 3.0 Release manager, 
> will present the Ignite 3 Alpha 4 overview, including new features Object 
> Mappings for Table Views and DDL.
> Transactions API in Ignite 3
> Alexey Scherbakov, Apache Ignite Committer, and architect at GridGain will 
> show Ignite 3 just released in Alpha 4 build transactional API. We will take 
> a glance over:
>  - a transaction lifecycle
>  - how to manage transactions
>  - examples of synchronous and asynchronous transactions
> Learn more: 
> [https://www.meetup.com/Apache-Ignite-Virtual-Meetup/events/283606359]
> Сhange the text on the banner [Apache Ignite Documentation | Ignite 
> Documentation|https://ignite.apache.org/docs/latest/]
> from:
> [Ignite Summit: Сloud Edition | Using Ignite In The Cloud - Watch On Demand 
> →|https://ignite-summit.org/]
> to: 
> Apache Ignite Community Gathering: Ignite 3 Alpha 4. Join us! (link to 
> [Apache Ignite Community Gathering: Ignite 3 Alpha 4 | 
> Meetup|https://www.meetup.com/Apache-Ignite-Virtual-Meetup/events/283606359])
> h1.  



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


[jira] [Assigned] (IGNITE-18302) ignite-spring-sessions: IgniteSession serialization drags its parent class

2023-09-01 Thread Alexandr Shapkin (Jira)


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

Alexandr Shapkin reassigned IGNITE-18302:
-

Assignee: Andrey Novikov  (was: Alexandr Shapkin)

> ignite-spring-sessions: IgniteSession serialization drags its parent class
> --
>
> Key: IGNITE-18302
> URL: https://issues.apache.org/jira/browse/IGNITE-18302
> Project: Ignite
>  Issue Type: Bug
>  Components: extensions
>Reporter: Alexandr Shapkin
>Assignee: Andrey Novikov
>Priority: Major
>
> In short, there is a bug in ignite-spring-session-ext implementation.
> We store IgniteIndexedSessionRepository${{{}IgniteSession{}}} in the cache, 
> but it’s an internal non-static class, having a reference to the parent 
> [\{{{}IgniteIndexedSessionRepository{}}}] indirectly.
> Hence, during the serialization Ignite also writes {{{}name=this$0, 
> type=Object, fieldId=0xCBDD23AA (-874699862){}}}, which is the reference to 
> {{{}IgniteIndexedSessionRepository{}}}. That leads to the following issues:
>  * we are serializing and saving internal utility data, like}} Ignite 
> ignite{}}}, {{private IndexResolver indexResolver}} etc
>  * one of the IgniteIndexedSessionRepository’s fields is IgniteCache itself - 
> {{IgniteCache sessions}} that basically keeps every 
> session so far leading to a StackOverflow error after some time. 
>  
> {code:java}
> [2022-11-25T17:27:29,268][ERROR][sys-stripe-0-#1%USERS_IGNITE%][GridCacheIoManager]
>  Failed processing message [senderId=0f0ca915-d6cd-4580-92a3-1fbc3d2a5722, 
> msg=GridNearSingleGetResponse [futId=1669397231378, res=-547701325, 
> topVer=null, err=null, flags=0]] 2java.lang.StackOverflowError: null 3 at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedMarshallerUtils.descriptorFromCache(OptimizedMarshallerUtils.java:328)
>  ~[ignite-core-8.8.22.jar:8.8.22] 4 at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedMarshallerUtils.classDescriptor(OptimizedMarshallerUtils.java:273)
>  ~[ignite-core-8.8.22.jar:8.8.22] 5 at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObject0(OptimizedObjectInputStream.java:354)
>  ~[ignite-core-8.8.22.jar:8.8.22] 6 at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObjectOverride(OptimizedObjectInputStream.java:211)
>  ~[ignite-core-8.8.22.jar:8.8.22] 7 at 
> java.io.ObjectInputStream.readObject(ObjectInputStream.java:480) ~[?:?] 8 at 
> java.io.ObjectInputStream.readObject(ObjectInputStream.java:447) ~[?:?] 9 at 
> org.apache.ignite.internal.processors.cache.GridCacheProxyImpl.readExternal(GridCacheProxyImpl.java:1662)
>  ~[ignite-core-8.8.22.jar:8.8.22] 10 at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readExternalizable(OptimizedObjectInputStream.java:569)
>  ~[ignite-core-8.8.22.jar:8.8.22] 11 at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedClassDescriptor.read(OptimizedClassDescriptor.java:979)
>  ~[ignite-core-8.8.22.jar:8.8.22] 12 at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObject0(OptimizedObjectInputStream.java:359)
>  ~[ignite-core-8.8.22.jar:8.8.22] 13 at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObjectOverride(OptimizedObjectInputStream.java:211)
>  ~[ignite-core-8.8.22.jar:8.8.22] 14 at 
> java.io.ObjectInputStream.readObject(ObjectInputStream.java:480) ~[?:?] 15 at 
> java.io.ObjectInputStream.readObject(ObjectInputStream.java:447) ~[?:?] 16... 
> 17[2022-11-25T17:27:29,276][ERROR][sys-stripe-0-#1%USERS_IGNITE%][] 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=java.lang.StackOverflowError]]{code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (IGNITE-18302) ignite-spring-sessions: IgniteSession serialization drags its parent class

2023-09-07 Thread Alexandr Shapkin (Jira)


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

Alexandr Shapkin commented on IGNITE-18302:
---

[~anovikov] LGTM in general, please fix a couple of minor things in PR before 
merging. 

> ignite-spring-sessions: IgniteSession serialization drags its parent class
> --
>
> Key: IGNITE-18302
> URL: https://issues.apache.org/jira/browse/IGNITE-18302
> Project: Ignite
>  Issue Type: Bug
>  Components: extensions
>Affects Versions: 2.15
>Reporter: Alexandr Shapkin
>Assignee: Andrey Novikov
>Priority: Major
> Fix For: 2.16
>
>
> In short, there is a bug in ignite-spring-session-ext implementation.
> We store IgniteIndexedSessionRepository${{{}IgniteSession{}}} in the cache, 
> but it’s an internal non-static class, having a reference to the parent 
> [\{{{}IgniteIndexedSessionRepository{}}}] indirectly.
> Hence, during the serialization Ignite also writes {{{}name=this$0, 
> type=Object, fieldId=0xCBDD23AA (-874699862){}}}, which is the reference to 
> {{{}IgniteIndexedSessionRepository{}}}. That leads to the following issues:
>  * we are serializing and saving internal utility data, like}} Ignite 
> ignite{}}}, {{private IndexResolver indexResolver}} etc
>  * one of the IgniteIndexedSessionRepository’s fields is IgniteCache itself - 
> {{IgniteCache sessions}} that basically keeps every 
> session so far leading to a StackOverflow error after some time. 
>  
> {code:java}
> [2022-11-25T17:27:29,268][ERROR][sys-stripe-0-#1%USERS_IGNITE%][GridCacheIoManager]
>  Failed processing message [senderId=0f0ca915-d6cd-4580-92a3-1fbc3d2a5722, 
> msg=GridNearSingleGetResponse [futId=1669397231378, res=-547701325, 
> topVer=null, err=null, flags=0]] 2java.lang.StackOverflowError: null 3 at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedMarshallerUtils.descriptorFromCache(OptimizedMarshallerUtils.java:328)
>  ~[ignite-core-8.8.22.jar:8.8.22] 4 at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedMarshallerUtils.classDescriptor(OptimizedMarshallerUtils.java:273)
>  ~[ignite-core-8.8.22.jar:8.8.22] 5 at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObject0(OptimizedObjectInputStream.java:354)
>  ~[ignite-core-8.8.22.jar:8.8.22] 6 at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObjectOverride(OptimizedObjectInputStream.java:211)
>  ~[ignite-core-8.8.22.jar:8.8.22] 7 at 
> java.io.ObjectInputStream.readObject(ObjectInputStream.java:480) ~[?:?] 8 at 
> java.io.ObjectInputStream.readObject(ObjectInputStream.java:447) ~[?:?] 9 at 
> org.apache.ignite.internal.processors.cache.GridCacheProxyImpl.readExternal(GridCacheProxyImpl.java:1662)
>  ~[ignite-core-8.8.22.jar:8.8.22] 10 at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readExternalizable(OptimizedObjectInputStream.java:569)
>  ~[ignite-core-8.8.22.jar:8.8.22] 11 at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedClassDescriptor.read(OptimizedClassDescriptor.java:979)
>  ~[ignite-core-8.8.22.jar:8.8.22] 12 at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObject0(OptimizedObjectInputStream.java:359)
>  ~[ignite-core-8.8.22.jar:8.8.22] 13 at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObjectOverride(OptimizedObjectInputStream.java:211)
>  ~[ignite-core-8.8.22.jar:8.8.22] 14 at 
> java.io.ObjectInputStream.readObject(ObjectInputStream.java:480) ~[?:?] 15 at 
> java.io.ObjectInputStream.readObject(ObjectInputStream.java:447) ~[?:?] 16... 
> 17[2022-11-25T17:27:29,276][ERROR][sys-stripe-0-#1%USERS_IGNITE%][] 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=java.lang.StackOverflowError]]{code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (IGNITE-16124) deleteAllById has wrong signature

2022-04-26 Thread Alexandr Shapkin (Jira)


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

Alexandr Shapkin commented on IGNITE-16124:
---

[~NSAmelchev] [~Mmuzaf] guys, do you know if there are any plans on release?

> deleteAllById has wrong signature
> -
>
> Key: IGNITE-16124
> URL: https://issues.apache.org/jira/browse/IGNITE-16124
> Project: Ignite
>  Issue Type: Bug
>  Components: extensions
>Reporter: Michael Reiche
>Assignee: Andrey Belyaev
>Priority: Major
>
> java: name clash: deleteAllById(java.lang.Iterable) in 
> org.apache.ignite.springdata20.repository.IgniteRepository and 
> deleteAllById(java.lang.Iterable) in 
> org.springframework.data.repository.CrudRepository have the same erasure, yet 
> neither overrides the other
> 
> 2.6.0-RC1
> 2.9.1
> 
> 
> 
> org.apache.ignite
> ignite-spring-data_2.0
> ${ignite.version}
> 
> 
> org.apache.ignite
> ignite-core
> ${ignite.version}
> 
> 
> org.apache.ignite
> ignite-indexing
> ${ignite.version}
> 
> 
> org.apache.ignite
> ignite-spring
> ${ignite.version}
> 
> 
> org.springframework.data
> spring-data-commons
> ${spring.data.version}
> 
>  
> If ignite-spring-data is used instead of ingite-spring-data_2.0,  the method 
> deleteAll is flagged
> java: name clash: deleteAll(java.lang.Iterable com.example.ignite.EmployeeDTO>) in 
> org.springframework.data.repository.CrudRepository and 
> deleteAll(java.lang.Iterable) in 
> org.apache.ignite.springdata.repository.IgniteRepository have the same 
> erasure, yet neither overrides the other
> And 2.2-ext gives the following:
> org.apache.ignite
> ignite-spring-data-2.2-ext
> 1.0.0
> java: name clash: deleteAllById(java.lang.Iterable) in 
> org.apache.ignite.springdata22.repository.IgniteRepository and 
> deleteAllById(java.lang.Iterable) in 
> org.springframework.data.repository.CrudRepository have the same erasure, yet 
> neither overrides the other
> package com.example.ignite;
> import org.apache.ignite.springdata.repository.IgniteRepository;
> import org.apache.ignite.springdata.repository.config.RepositoryConfig;
> @RepositoryConfig(cacheName = "myCache")
> public interface EmployeeRepository extends 
> IgniteRepository
> { EmployeeDTO getEmployeeDTOById(ID id); }



--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Commented] (IGNITE-16124) deleteAllById has wrong signature

2022-04-26 Thread Alexandr Shapkin (Jira)


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

Alexandr Shapkin commented on IGNITE-16124:
---

[~NSAmelchev] Thanks for the clarification!

> deleteAllById has wrong signature
> -
>
> Key: IGNITE-16124
> URL: https://issues.apache.org/jira/browse/IGNITE-16124
> Project: Ignite
>  Issue Type: Bug
>  Components: extensions
>Reporter: Michael Reiche
>Assignee: Andrey Belyaev
>Priority: Major
>
> java: name clash: deleteAllById(java.lang.Iterable) in 
> org.apache.ignite.springdata20.repository.IgniteRepository and 
> deleteAllById(java.lang.Iterable) in 
> org.springframework.data.repository.CrudRepository have the same erasure, yet 
> neither overrides the other
> 
> 2.6.0-RC1
> 2.9.1
> 
> 
> 
> org.apache.ignite
> ignite-spring-data_2.0
> ${ignite.version}
> 
> 
> org.apache.ignite
> ignite-core
> ${ignite.version}
> 
> 
> org.apache.ignite
> ignite-indexing
> ${ignite.version}
> 
> 
> org.apache.ignite
> ignite-spring
> ${ignite.version}
> 
> 
> org.springframework.data
> spring-data-commons
> ${spring.data.version}
> 
>  
> If ignite-spring-data is used instead of ingite-spring-data_2.0,  the method 
> deleteAll is flagged
> java: name clash: deleteAll(java.lang.Iterable com.example.ignite.EmployeeDTO>) in 
> org.springframework.data.repository.CrudRepository and 
> deleteAll(java.lang.Iterable) in 
> org.apache.ignite.springdata.repository.IgniteRepository have the same 
> erasure, yet neither overrides the other
> And 2.2-ext gives the following:
> org.apache.ignite
> ignite-spring-data-2.2-ext
> 1.0.0
> java: name clash: deleteAllById(java.lang.Iterable) in 
> org.apache.ignite.springdata22.repository.IgniteRepository and 
> deleteAllById(java.lang.Iterable) in 
> org.springframework.data.repository.CrudRepository have the same erasure, yet 
> neither overrides the other
> package com.example.ignite;
> import org.apache.ignite.springdata.repository.IgniteRepository;
> import org.apache.ignite.springdata.repository.config.RepositoryConfig;
> @RepositoryConfig(cacheName = "myCache")
> public interface EmployeeRepository extends 
> IgniteRepository
> { EmployeeDTO getEmployeeDTOById(ID id); }



--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Commented] (IGNITE-17147) Ignite should not talk to kubernetes default service to get its own IP

2022-06-22 Thread Alexandr Shapkin (Jira)


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

Alexandr Shapkin commented on IGNITE-17147:
---

[~laptimus] Could you please elaborate on this task? 

What's you improvement suggestion? 

Am I right that you are referring to this configuration: 
[https://www.gridgain.com/sdk/latest/javadoc/org/apache/ignite/kubernetes/configuration/KubernetesConnectionConfiguration.html#setMasterUrl-java.lang.String-]

and its default value - 'https://kubernetes.default.svc.cluster.local:443'?

> Ignite should not talk to kubernetes default service to get its own IP
> --
>
> Key: IGNITE-17147
> URL: https://issues.apache.org/jira/browse/IGNITE-17147
> Project: Ignite
>  Issue Type: Bug
>  Components: general
>Affects Versions: 2.11.1
> Environment: Kubernetes
>Reporter: laptimus
>Priority: Major
>
> Ignite should not talk to kubernetes default service to get its own IP
> We have kubernetes cluster with calico network policies and seems like ignite 
> is the only application in our cluster that needs access to kubernetes 
> default service 
> I see this as a security risk
> Please implement an alternative way in IP Finder as that the class that talks 
> to kubernetes default service to know pod IP address
>  
> thanks



--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Commented] (IGNITE-18247) .NET: Thin 3.0: LINQ: Operators and functions

2022-12-28 Thread Alexandr Shapkin (Jira)


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

Alexandr Shapkin commented on IGNITE-18247:
---

[~ptupitsyn] looks good to me. 

> .NET: Thin 3.0: LINQ: Operators and functions
> -
>
> Key: IGNITE-18247
> URL: https://issues.apache.org/jira/browse/IGNITE-18247
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms, thin client
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: .NET, LINQ, ignite-3
> Fix For: 3.0.0-beta2
>
>
> Implement support for operators and functions in LINQ:
> * Logic and arithmetic: ! + - * / = != %
> * String functions: ToLower, ToUpper, Trim, Contains, etc (see 
> *MethodVisitor*)
> * Date functions (see *MethodVisitor*)
> * Math (Abs, Exp, Log, Pow, etc - see *MethodVisitor*)
> * Regex



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (IGNITE-18427) .NET: Platform cache is not updated when ReadFromBackup is true

2022-12-29 Thread Alexandr Shapkin (Jira)


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

Alexandr Shapkin commented on IGNITE-18427:
---

[~ptupitsyn], looks good to me, thanks!

> .NET: Platform cache is not updated when ReadFromBackup is true
> ---
>
> Key: IGNITE-18427
> URL: https://issues.apache.org/jira/browse/IGNITE-18427
> Project: Ignite
>  Issue Type: Bug
>  Components: platforms
>Affects Versions: 2.14
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: .NET, ise
> Fix For: 2.15
>
> Attachments: IgniteReproducer.csproj, Test.cs
>
>
> See attached reproducer. Client 2 has stale value when *ReadFromBackup = 
> true*.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (IGNITE-17724) .NET: TestPrimaryNodeLeaveClearsPlatformCache is flaky

2022-12-27 Thread Alexandr Shapkin (Jira)


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

Alexandr Shapkin commented on IGNITE-17724:
---

LGTM

> .NET: TestPrimaryNodeLeaveClearsPlatformCache is flaky
> --
>
> Key: IGNITE-17724
> URL: https://issues.apache.org/jira/browse/IGNITE-17724
> Project: Ignite
>  Issue Type: Bug
>  Components: platforms
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: .NET
>
> Apache.Ignite.Core.Tests.Cache.Platform.PlatformCacheTopologyChangeTest.TestPrimaryNodeLeaveClearsPlatformCache
>  is flaky.
> https://ci.ignite.apache.org/test/-4466167631530075752?currentProjectId=IgniteTests24Java8=%3Cdefault%3E



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (IGNITE-18189) Merge ignite-spark 3.2 and 2.4 extensions into a single module

2022-11-17 Thread Alexandr Shapkin (Jira)
Alexandr Shapkin created IGNITE-18189:
-

 Summary: Merge ignite-spark 3.2 and 2.4 extensions into a single 
module
 Key: IGNITE-18189
 URL: https://issues.apache.org/jira/browse/IGNITE-18189
 Project: Ignite
  Issue Type: Task
  Components: extensions
Reporter: Alexandr Shapkin
Assignee: Alexandr Shapkin


We need to do the following

a) release ignite-spark 1.0.0 extension 

b) merge ignite-spark and ignite-spark-3.2 modules

c) release ignite-spark 2.0.0 extension (with spark 3.2)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (IGNITE-18302) ignite-spring-sessions: IgniteSession serialization drags its parent class

2022-12-01 Thread Alexandr Shapkin (Jira)
Alexandr Shapkin created IGNITE-18302:
-

 Summary: ignite-spring-sessions: IgniteSession serialization drags 
its parent class
 Key: IGNITE-18302
 URL: https://issues.apache.org/jira/browse/IGNITE-18302
 Project: Ignite
  Issue Type: Bug
  Components: extensions
Reporter: Alexandr Shapkin


In short, there is a bug in ignite-spring-session-ext implementation.

We store IgniteIndexedSessionRepository${{{}IgniteSession{}}} in the cache, but 
it’s an internal non-static class, having a reference to the parent 
[{{{}IgniteIndexedSessionRepository{}}}] indirectly.

Hence, during the serialization Ignite also writes {{{}name=this$0, 
type=Object, fieldId=0xCBDD23AA (-874699862){}}}, which is the reference to 
{{{}IgniteIndexedSessionRepository{}}}. That leads to the following issues:
 * we are serializing and saving internal utility data, like{{{} Ignite 
ignite{}}}, {{private IndexResolver indexResolver}} etc

 * one of the IgniteIndexedSessionRepository’s fields is IgniteCache itself - 
{{IgniteCache sessions}} that basically keeps every 
session so far leading to a StackOverflow error after some time. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-18302) ignite-spring-sessions: IgniteSession serialization drags its parent class

2022-12-01 Thread Alexandr Shapkin (Jira)


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

Alexandr Shapkin updated IGNITE-18302:
--
Description: 
In short, there is a bug in ignite-spring-session-ext implementation.

We store IgniteIndexedSessionRepository${{{}IgniteSession{}}} in the cache, but 
it’s an internal non-static class, having a reference to the parent 
[\{{{}IgniteIndexedSessionRepository{}}}] indirectly.

Hence, during the serialization Ignite also writes {{{}name=this$0, 
type=Object, fieldId=0xCBDD23AA (-874699862){}}}, which is the reference to 
{{{}IgniteIndexedSessionRepository{}}}. That leads to the following issues:
 * we are serializing and saving internal utility data, like}} Ignite 
ignite{}}}, {{private IndexResolver indexResolver}} etc

 * one of the IgniteIndexedSessionRepository’s fields is IgniteCache itself - 
{{IgniteCache sessions}} that basically keeps every 
session so far leading to a StackOverflow error after some time. 

 
{code:java}
[2022-11-25T17:27:29,268][ERROR][sys-stripe-0-#1%USERS_IGNITE%][GridCacheIoManager]
 Failed processing message [senderId=0f0ca915-d6cd-4580-92a3-1fbc3d2a5722, 
msg=GridNearSingleGetResponse [futId=1669397231378, res=-547701325, 
topVer=null, err=null, flags=0]] 2java.lang.StackOverflowError: null 3 at 
org.apache.ignite.internal.marshaller.optimized.OptimizedMarshallerUtils.descriptorFromCache(OptimizedMarshallerUtils.java:328)
 ~[ignite-core-8.8.22.jar:8.8.22] 4 at 
org.apache.ignite.internal.marshaller.optimized.OptimizedMarshallerUtils.classDescriptor(OptimizedMarshallerUtils.java:273)
 ~[ignite-core-8.8.22.jar:8.8.22] 5 at 
org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObject0(OptimizedObjectInputStream.java:354)
 ~[ignite-core-8.8.22.jar:8.8.22] 6 at 
org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObjectOverride(OptimizedObjectInputStream.java:211)
 ~[ignite-core-8.8.22.jar:8.8.22] 7 at 
java.io.ObjectInputStream.readObject(ObjectInputStream.java:480) ~[?:?] 8 at 
java.io.ObjectInputStream.readObject(ObjectInputStream.java:447) ~[?:?] 9 at 
org.apache.ignite.internal.processors.cache.GridCacheProxyImpl.readExternal(GridCacheProxyImpl.java:1662)
 ~[ignite-core-8.8.22.jar:8.8.22] 10 at 
org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readExternalizable(OptimizedObjectInputStream.java:569)
 ~[ignite-core-8.8.22.jar:8.8.22] 11 at 
org.apache.ignite.internal.marshaller.optimized.OptimizedClassDescriptor.read(OptimizedClassDescriptor.java:979)
 ~[ignite-core-8.8.22.jar:8.8.22] 12 at 
org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObject0(OptimizedObjectInputStream.java:359)
 ~[ignite-core-8.8.22.jar:8.8.22] 13 at 
org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObjectOverride(OptimizedObjectInputStream.java:211)
 ~[ignite-core-8.8.22.jar:8.8.22] 14 at 
java.io.ObjectInputStream.readObject(ObjectInputStream.java:480) ~[?:?] 15 at 
java.io.ObjectInputStream.readObject(ObjectInputStream.java:447) ~[?:?] 16... 
17[2022-11-25T17:27:29,276][ERROR][sys-stripe-0-#1%USERS_IGNITE%][] 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=java.lang.StackOverflowError]]{code}

  was:
In short, there is a bug in ignite-spring-session-ext implementation.

We store IgniteIndexedSessionRepository${{{}IgniteSession{}}} in the cache, but 
it’s an internal non-static class, having a reference to the parent 
[{{{}IgniteIndexedSessionRepository{}}}] indirectly.

Hence, during the serialization Ignite also writes {{{}name=this$0, 
type=Object, fieldId=0xCBDD23AA (-874699862){}}}, which is the reference to 
{{{}IgniteIndexedSessionRepository{}}}. That leads to the following issues:
 * we are serializing and saving internal utility data, like{{{} Ignite 
ignite{}}}, {{private IndexResolver indexResolver}} etc

 * one of the IgniteIndexedSessionRepository’s fields is IgniteCache itself - 
{{IgniteCache sessions}} that basically keeps every 
session so far leading to a StackOverflow error after some time. 


> ignite-spring-sessions: IgniteSession serialization drags its parent class
> --
>
> Key: IGNITE-18302
> URL: https://issues.apache.org/jira/browse/IGNITE-18302
> Project: Ignite
>  Issue Type: Bug
>  Components: extensions
>Reporter: Alexandr Shapkin
>Priority: Major
>
> In short, there is a bug in ignite-spring-session-ext implementation.
> We store IgniteIndexedSessionRepository${{{}IgniteSession{}}} 

[jira] [Assigned] (IGNITE-18315) [Extensions] Release Ignite Spring Extensions

2022-12-01 Thread Alexandr Shapkin (Jira)


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

Alexandr Shapkin reassigned IGNITE-18315:
-

Component/s: extensions
   Assignee: Alexandr Shapkin
Description: 
We need to release Ithe following Ignite Spring extensions:

- 2.0.0 (Spark 2.4)

- 3.0.0 (Spark 3.2)

> [Extensions] Release Ignite Spring Extensions 
> --
>
> Key: IGNITE-18315
> URL: https://issues.apache.org/jira/browse/IGNITE-18315
> Project: Ignite
>  Issue Type: Task
>  Components: extensions
>Reporter: Alexandr Shapkin
>Assignee: Alexandr Shapkin
>Priority: Major
>
> We need to release Ithe following Ignite Spring extensions:
> - 2.0.0 (Spark 2.4)
> - 3.0.0 (Spark 3.2)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (IGNITE-18315) [Extensions] Release Ignite Spring Extensions

2022-12-01 Thread Alexandr Shapkin (Jira)
Alexandr Shapkin created IGNITE-18315:
-

 Summary: [Extensions] Release Ignite Spring Extensions 
 Key: IGNITE-18315
 URL: https://issues.apache.org/jira/browse/IGNITE-18315
 Project: Ignite
  Issue Type: Task
Reporter: Alexandr Shapkin






--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-18189) Merge ignite-spark 3.2 and 2.4 extensions into a single module

2022-12-01 Thread Alexandr Shapkin (Jira)


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

Alexandr Shapkin updated IGNITE-18189:
--
Fix Version/s: 2.14

> Merge ignite-spark 3.2 and 2.4 extensions into a single module
> --
>
> Key: IGNITE-18189
> URL: https://issues.apache.org/jira/browse/IGNITE-18189
> Project: Ignite
>  Issue Type: Task
>  Components: extensions
>Reporter: Alexandr Shapkin
>Assignee: Alexandr Shapkin
>Priority: Major
> Fix For: 2.14
>
>
> We need to do the following
> a) release ignite-spark 1.0.0 extension 
> b) merge ignite-spark and ignite-spark-3.2 modules
> c) release ignite-spark 2.0.0 extension (with spark 3.2)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (IGNITE-19203) NPE on inserting data concurrently with table deletion

2023-04-04 Thread Alexandr Shapkin (Jira)
Alexandr Shapkin created IGNITE-19203:
-

 Summary: NPE on inserting data concurrently with table deletion
 Key: IGNITE-19203
 URL: https://issues.apache.org/jira/browse/IGNITE-19203
 Project: Ignite
  Issue Type: Task
  Components: sql
Reporter: Alexandr Shapkin


Occasionally, the following errors can be reproduced: The program that executes 
the Insert statement does not report an error, The server node reported the 
following error:

 

{{}}
{code:java}

{code}
{{四月 03, 2023 5:27:43 下午 org.apache.ignite.logger.java.JavaLogger error
严重: Received message without registered handler (will ignore) [futId=2, 
writeVer=null, msg=GridNearAtomicSingleUpdateFilterRequest 
[filter=[o.a.i.i.processors.cache.CacheEntrySerializablePredicate@6ff66670], 
parent=GridNearAtomicSingleUpdateRequest [key=null, 
parent=GridNearAtomicAbstractSingleUpdateRequest [nodeId=null, futId=2, 
topVer=AffinityTopologyVersion [topVer=2, minorTopVer=2], 
parent=GridNearAtomicAbstractUpdateRequest [res=null, 
flags=needRes|keepBinary, node=01ece6ae-c041-4325-ae6a-810233d0a684, 
locTopVer=AffinityTopologyVersion [topVer=4, minorTopVer=0], 
msgTopVer=AffinityTopologyVersion [topVer=2, minorTopVer=2], desc=null]
Registered listeners:
95945896=[GridNearAtomicAbstractUpdateRequest handler [msgIdx=0], 
GridNearAtomicUpdateResponse handler [msgIdx=1], GridDhtAtomicUpdateRequest 
handler [msgIdx=2], GridDhtAtomicUpdateResponse handler [msgIdx=3], 
GridDhtAtomicDeferredUpdateResponse handler [msgIdx=4], 
GridDhtAtomicNearResponse handler [msgIdx=5], GridNearAtomicCheckUpdateRequest 
handler [msgIdx=6]]
四月 03, 2023 5:27:43 下午 org.apache.ignite.logger.java.JavaLogger error
严重: Failed to process failed message: java.lang.NullPointerException
java.lang.NullPointerException
at 
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.UpdateErrors.prepareMarshal(UpdateErrors.java:134)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateResponse.prepareMarshal(GridNearAtomicUpdateResponse.java:370)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.onSend(GridCacheIoManager.java:1239)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.send(GridCacheIoManager.java:1274)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.send(GridCacheIoManager.java:1325)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.sendResponseOnFailedMessage(GridCacheIoManager.java:652)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.processFailedMessage(GridCacheIoManager.java:1065)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:403)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:319)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:110)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:309)
at 
org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1725)
at 
org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1332)
at 
org.apache.ignite.internal.managers.communication.GridIoManager.access$4800(GridIoManager.java:157)
at 
org.apache.ignite.internal.managers.communication.GridIoManager$8.execute(GridIoManager.java:1217)
at 
org.apache.ignite.internal.managers.communication.TraceRunnable.run(TraceRunnable.java:54)
at 
org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedExecutor.java:564)
at 
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:119)
at java.lang.Thread.run(Thread.java:748) }}




 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-19203) NPE on inserting data concurrently with table deletion

2023-04-04 Thread Alexandr Shapkin (Jira)


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

Alexandr Shapkin updated IGNITE-19203:
--
Description: 
Occasionally, the following errors can be reproduced: The program that executes 
the Insert statement does not report an error, The server node reported the 
following error:
{code:java}
四月 03, 2023 5:27:43 下午 org.apache.ignite.logger.java.JavaLogger error
严重: Received message without registered handler (will ignore) [futId=2, 
writeVer=null, msg=GridNearAtomicSingleUpdateFilterRequest 
[filter=[o.a.i.i.processors.cache.CacheEntrySerializablePredicate@6ff66670], 
parent=GridNearAtomicSingleUpdateRequest [key=null, 
parent=GridNearAtomicAbstractSingleUpdateRequest [nodeId=null, futId=2, 
topVer=AffinityTopologyVersion [topVer=2, minorTopVer=2], 
parent=GridNearAtomicAbstractUpdateRequest [res=null, 
flags=needRes|keepBinary, node=01ece6ae-c041-4325-ae6a-810233d0a684, 
locTopVer=AffinityTopologyVersion [topVer=4, minorTopVer=0], 
msgTopVer=AffinityTopologyVersion [topVer=2, minorTopVer=2], desc=null]
Registered listeners:
95945896=[GridNearAtomicAbstractUpdateRequest handler [msgIdx=0], 
GridNearAtomicUpdateResponse handler [msgIdx=1], GridDhtAtomicUpdateRequest 
handler [msgIdx=2], GridDhtAtomicUpdateResponse handler [msgIdx=3], 
GridDhtAtomicDeferredUpdateResponse handler [msgIdx=4], 
GridDhtAtomicNearResponse handler [msgIdx=5], GridNearAtomicCheckUpdateRequest 
handler [msgIdx=6]]
四月 03, 2023 5:27:43 下午 org.apache.ignite.logger.java.JavaLogger error
严重: Failed to process failed message: java.lang.NullPointerException
java.lang.NullPointerException
at 
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.UpdateErrors.prepareMarshal(UpdateErrors.java:134)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateResponse.prepareMarshal(GridNearAtomicUpdateResponse.java:370)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.onSend(GridCacheIoManager.java:1239)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.send(GridCacheIoManager.java:1274)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.send(GridCacheIoManager.java:1325)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.sendResponseOnFailedMessage(GridCacheIoManager.java:652)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.processFailedMessage(GridCacheIoManager.java:1065)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:403)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:319)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:110)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:309)
at 
org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1725)
at 
org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1332)
at 
org.apache.ignite.internal.managers.communication.GridIoManager.access$4800(GridIoManager.java:157)
at 
org.apache.ignite.internal.managers.communication.GridIoManager$8.execute(GridIoManager.java:1217)
at 
org.apache.ignite.internal.managers.communication.TraceRunnable.run(TraceRunnable.java:54)
at 
org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedExecutor.java:564)
at 
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:119)
at java.lang.Thread.run(Thread.java:748){code}
 

test code:

{{}}
{code:java}
public class StartServer { 
   public static void main(String[] args) 
   { Ignite ignite = Ignition.start(); } }{code}
{{}}

  was:
Occasionally, the following errors can be reproduced: The program that executes 
the Insert statement does not report an error, The server node reported the 
following error:

 

{{}}
{code:java}

{code}
{{四月 03, 2023 5:27:43 下午 org.apache.ignite.logger.java.JavaLogger error
严重: Received message without registered handler (will ignore) [futId=2, 
writeVer=null, msg=GridNearAtomicSingleUpdateFilterRequest 
[filter=[o.a.i.i.processors.cache.CacheEntrySerializablePredicate@6ff66670], 
parent=GridNearAtomicSingleUpdateRequest [key=null, 
parent=GridNearAtomicAbstractSingleUpdateRequest [nodeId=null, futId=2, 
topVer=AffinityTopologyVersion [topVer=2, minorTopVer=2], 
parent=GridNearAtomicAbstractUpdateRequest [res=null, 
flags=needRes|keepBinary, node=01ece6ae-c041-4325-ae6a-810233d0a684, 
locTopVer=AffinityTopologyVersion [topVer=4, minorTopVer=0], 
msgTopVer=AffinityTopologyVersion [topVer=2, minorTopVer=2], desc=null]
Registered listeners:
95945896=[GridNearAtomicAbstractUpdateRequest handler [msgIdx=0], 

[jira] [Updated] (IGNITE-19203) NPE on inserting data concurrently with table deletion

2023-04-04 Thread Alexandr Shapkin (Jira)


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

Alexandr Shapkin updated IGNITE-19203:
--
Description: 
Occasionally, the following errors can be reproduced: The program that executes 
the Insert statement does not report an error, The server node reported the 
following error:
{code:java}
四月 03, 2023 5:27:43 下午 org.apache.ignite.logger.java.JavaLogger error
严重: Received message without registered handler (will ignore) [futId=2, 
writeVer=null, msg=GridNearAtomicSingleUpdateFilterRequest 
[filter=[o.a.i.i.processors.cache.CacheEntrySerializablePredicate@6ff66670], 
parent=GridNearAtomicSingleUpdateRequest [key=null, 
parent=GridNearAtomicAbstractSingleUpdateRequest [nodeId=null, futId=2, 
topVer=AffinityTopologyVersion [topVer=2, minorTopVer=2], 
parent=GridNearAtomicAbstractUpdateRequest [res=null, 
flags=needRes|keepBinary, node=01ece6ae-c041-4325-ae6a-810233d0a684, 
locTopVer=AffinityTopologyVersion [topVer=4, minorTopVer=0], 
msgTopVer=AffinityTopologyVersion [topVer=2, minorTopVer=2], desc=null]
Registered listeners:
95945896=[GridNearAtomicAbstractUpdateRequest handler [msgIdx=0], 
GridNearAtomicUpdateResponse handler [msgIdx=1], GridDhtAtomicUpdateRequest 
handler [msgIdx=2], GridDhtAtomicUpdateResponse handler [msgIdx=3], 
GridDhtAtomicDeferredUpdateResponse handler [msgIdx=4], 
GridDhtAtomicNearResponse handler [msgIdx=5], GridNearAtomicCheckUpdateRequest 
handler [msgIdx=6]]
四月 03, 2023 5:27:43 下午 org.apache.ignite.logger.java.JavaLogger error
严重: Failed to process failed message: java.lang.NullPointerException
java.lang.NullPointerException
at 
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.UpdateErrors.prepareMarshal(UpdateErrors.java:134)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateResponse.prepareMarshal(GridNearAtomicUpdateResponse.java:370)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.onSend(GridCacheIoManager.java:1239)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.send(GridCacheIoManager.java:1274)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.send(GridCacheIoManager.java:1325)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.sendResponseOnFailedMessage(GridCacheIoManager.java:652)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.processFailedMessage(GridCacheIoManager.java:1065)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:403)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:319)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:110)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:309)
at 
org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1725)
at 
org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1332)
at 
org.apache.ignite.internal.managers.communication.GridIoManager.access$4800(GridIoManager.java:157)
at 
org.apache.ignite.internal.managers.communication.GridIoManager$8.execute(GridIoManager.java:1217)
at 
org.apache.ignite.internal.managers.communication.TraceRunnable.run(TraceRunnable.java:54)
at 
org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedExecutor.java:564)
at 
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:119)
at java.lang.Thread.run(Thread.java:748){code}
 

test code:
{code:java}
public class StartServer { 
   public static void main(String[] args) 
   { Ignite ignite = Ignition.start(); } }{code}
 

 
{code:java}
public class StartClient01 {
public static void main(String[] args) {
Ignition.setClientMode(true);
Ignite ignite = Ignition.start();

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

cache.query(new SqlFieldsQuery("CREATE TABLE PRODUCT (" +
"  ID INT(11)," +
"  NAME CHAR(35)," +
"  PRODUCTCODE CHAR(10)," +
"  DISTRICT CHAR(100)," +
"  NUMBER INT(11)," +
"  PRIMARY KEY (ID)" +
") WITH \"TEMPLATE=REPLICATED, CACHE_NAME=PRODUCT\";"));

for (int i = 1; i <= 100; ++i) {
cache.query(new SqlFieldsQuery("INSERT INTO PRODUCT (ID, NAME, 
PRODUCTCODE, DISTRICT, NUMBER) VALUES (?, ?, ?, ?, ?);")
.setArgs(i, "product" + i, "p" + i, "a product", 
100)).getAll();

System.out.println(i);
}
}
} {code}
 
{code:java}
public class StartClient02 {
public static void main(String[] args) {
Ignition.setClientMode(true);
 

[jira] [Updated] (IGNITE-19203) NPE on inserting data concurrently with table deletion

2023-04-04 Thread Alexandr Shapkin (Jira)


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

Alexandr Shapkin updated IGNITE-19203:
--
Description: 
Occasionally, the following errors can be reproduced: The program that executes 
the Insert statement does not report an error, The server node reported the 
following error:
{code:java}
四月 03, 2023 5:27:43 下午 org.apache.ignite.logger.java.JavaLogger error
严重: Received message without registered handler (will ignore) [futId=2, 
writeVer=null, msg=GridNearAtomicSingleUpdateFilterRequest 
[filter=[o.a.i.i.processors.cache.CacheEntrySerializablePredicate@6ff66670], 
parent=GridNearAtomicSingleUpdateRequest [key=null, 
parent=GridNearAtomicAbstractSingleUpdateRequest [nodeId=null, futId=2, 
topVer=AffinityTopologyVersion [topVer=2, minorTopVer=2], 
parent=GridNearAtomicAbstractUpdateRequest [res=null, 
flags=needRes|keepBinary, node=01ece6ae-c041-4325-ae6a-810233d0a684, 
locTopVer=AffinityTopologyVersion [topVer=4, minorTopVer=0], 
msgTopVer=AffinityTopologyVersion [topVer=2, minorTopVer=2], desc=null]
Registered listeners:
95945896=[GridNearAtomicAbstractUpdateRequest handler [msgIdx=0], 
GridNearAtomicUpdateResponse handler [msgIdx=1], GridDhtAtomicUpdateRequest 
handler [msgIdx=2], GridDhtAtomicUpdateResponse handler [msgIdx=3], 
GridDhtAtomicDeferredUpdateResponse handler [msgIdx=4], 
GridDhtAtomicNearResponse handler [msgIdx=5], GridNearAtomicCheckUpdateRequest 
handler [msgIdx=6]]
四月 03, 2023 5:27:43 下午 org.apache.ignite.logger.java.JavaLogger error
严重: Failed to process failed message: java.lang.NullPointerException
java.lang.NullPointerException
at 
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.UpdateErrors.prepareMarshal(UpdateErrors.java:134)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateResponse.prepareMarshal(GridNearAtomicUpdateResponse.java:370)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.onSend(GridCacheIoManager.java:1239)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.send(GridCacheIoManager.java:1274)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.send(GridCacheIoManager.java:1325)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.sendResponseOnFailedMessage(GridCacheIoManager.java:652)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.processFailedMessage(GridCacheIoManager.java:1065)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:403)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:319)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:110)
at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:309)
at 
org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1725)
at 
org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1332)
at 
org.apache.ignite.internal.managers.communication.GridIoManager.access$4800(GridIoManager.java:157)
at 
org.apache.ignite.internal.managers.communication.GridIoManager$8.execute(GridIoManager.java:1217)
at 
org.apache.ignite.internal.managers.communication.TraceRunnable.run(TraceRunnable.java:54)
at 
org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedExecutor.java:564)
at 
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:119)
at java.lang.Thread.run(Thread.java:748){code}
 

test code:
{code:java}
public class StartServer { 
   public static void main(String[] args) 
   { Ignite ignite = Ignition.start(); } }{code}
 

 
{code:java}
public class StartClient01 {
public static void main(String[] args) {
Ignition.setClientMode(true);
Ignite ignite = Ignition.start();

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

cache.query(new SqlFieldsQuery("CREATE TABLE PRODUCT (" +
"  ID INT(11)," +
"  NAME CHAR(35)," +
"  PRODUCTCODE CHAR(10)," +
"  DISTRICT CHAR(100)," +
"  NUMBER INT(11)," +
"  PRIMARY KEY (ID)" +
") WITH \"TEMPLATE=REPLICATED, CACHE_NAME=PRODUCT\";"));

for (int i = 1; i <= 100; ++i) {
cache.query(new SqlFieldsQuery("INSERT INTO PRODUCT (ID, NAME, 
PRODUCTCODE, DISTRICT, NUMBER) VALUES (?, ?, ?, ?, ?);")
.setArgs(i, "product" + i, "p" + i, "a product", 
100)).getAll();

System.out.println(i);
}
}
} {code}
{{}}
{code:java}
public class StartClient02 {
public static void main(String[] args) {

[jira] [Assigned] (IGNITE-18302) ignite-spring-sessions: IgniteSession serialization drags its parent class

2023-02-02 Thread Alexandr Shapkin (Jira)


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

Alexandr Shapkin reassigned IGNITE-18302:
-

Assignee: Alexandr Shapkin

> ignite-spring-sessions: IgniteSession serialization drags its parent class
> --
>
> Key: IGNITE-18302
> URL: https://issues.apache.org/jira/browse/IGNITE-18302
> Project: Ignite
>  Issue Type: Bug
>  Components: extensions
>Reporter: Alexandr Shapkin
>Assignee: Alexandr Shapkin
>Priority: Major
>
> In short, there is a bug in ignite-spring-session-ext implementation.
> We store IgniteIndexedSessionRepository${{{}IgniteSession{}}} in the cache, 
> but it’s an internal non-static class, having a reference to the parent 
> [\{{{}IgniteIndexedSessionRepository{}}}] indirectly.
> Hence, during the serialization Ignite also writes {{{}name=this$0, 
> type=Object, fieldId=0xCBDD23AA (-874699862){}}}, which is the reference to 
> {{{}IgniteIndexedSessionRepository{}}}. That leads to the following issues:
>  * we are serializing and saving internal utility data, like}} Ignite 
> ignite{}}}, {{private IndexResolver indexResolver}} etc
>  * one of the IgniteIndexedSessionRepository’s fields is IgniteCache itself - 
> {{IgniteCache sessions}} that basically keeps every 
> session so far leading to a StackOverflow error after some time. 
>  
> {code:java}
> [2022-11-25T17:27:29,268][ERROR][sys-stripe-0-#1%USERS_IGNITE%][GridCacheIoManager]
>  Failed processing message [senderId=0f0ca915-d6cd-4580-92a3-1fbc3d2a5722, 
> msg=GridNearSingleGetResponse [futId=1669397231378, res=-547701325, 
> topVer=null, err=null, flags=0]] 2java.lang.StackOverflowError: null 3 at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedMarshallerUtils.descriptorFromCache(OptimizedMarshallerUtils.java:328)
>  ~[ignite-core-8.8.22.jar:8.8.22] 4 at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedMarshallerUtils.classDescriptor(OptimizedMarshallerUtils.java:273)
>  ~[ignite-core-8.8.22.jar:8.8.22] 5 at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObject0(OptimizedObjectInputStream.java:354)
>  ~[ignite-core-8.8.22.jar:8.8.22] 6 at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObjectOverride(OptimizedObjectInputStream.java:211)
>  ~[ignite-core-8.8.22.jar:8.8.22] 7 at 
> java.io.ObjectInputStream.readObject(ObjectInputStream.java:480) ~[?:?] 8 at 
> java.io.ObjectInputStream.readObject(ObjectInputStream.java:447) ~[?:?] 9 at 
> org.apache.ignite.internal.processors.cache.GridCacheProxyImpl.readExternal(GridCacheProxyImpl.java:1662)
>  ~[ignite-core-8.8.22.jar:8.8.22] 10 at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readExternalizable(OptimizedObjectInputStream.java:569)
>  ~[ignite-core-8.8.22.jar:8.8.22] 11 at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedClassDescriptor.read(OptimizedClassDescriptor.java:979)
>  ~[ignite-core-8.8.22.jar:8.8.22] 12 at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObject0(OptimizedObjectInputStream.java:359)
>  ~[ignite-core-8.8.22.jar:8.8.22] 13 at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObjectOverride(OptimizedObjectInputStream.java:211)
>  ~[ignite-core-8.8.22.jar:8.8.22] 14 at 
> java.io.ObjectInputStream.readObject(ObjectInputStream.java:480) ~[?:?] 15 at 
> java.io.ObjectInputStream.readObject(ObjectInputStream.java:447) ~[?:?] 16... 
> 17[2022-11-25T17:27:29,276][ERROR][sys-stripe-0-#1%USERS_IGNITE%][] 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=java.lang.StackOverflowError]]{code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-20139) RandomForestClassifierTrainer accuracy issue

2023-08-09 Thread Alexandr Shapkin (Jira)


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

Alexandr Shapkin updated IGNITE-20139:
--
Description: 
We tried to use machine learning capabilities, and discovered a bug in 
implementation of Random Forest. When comparing Ignite's output with python 
prototype (scikit-learn lib), we noticed that Ignite's predictions have much 
lower accuracy despite using the same data set and model parameters. 

Further investigation showed that Ignite generates decision trees that kinda 
"loop". The tree starts checking the same condition over and over until it 
reaches the maximum tree depth.

I've attached a standalone reproducer which uses a small excerpt of our data 
set. 

It loads data from the csv file, then performs the training of the model for 
just 1 tree. Then the reproducer finds one of the looping branches and prints 
it. You will see that every single node in the branch uses the same feature, 
value and has then same calculated impurity. 

On my machine the code reproduces this issue 100% of time.

I've also attached an example of the tree generated by python's scikit-learn on 
the same data set with the same parameters. In python the tree usually doesn't 
get deeper than 20 nodes.

  was:
We tried to use GridGain's machine learning capabilities, and discovered a bug 
in GG's implementation of Random Forest. When comparing GG's output with python 
prototype (scikit-learn lib), we noticed that GG's predictions have much lower 
accuracy despite using the same data set and model parameters. 

Further investigation showed that GridGain generates decision trees that kinda 
"loop". The tree starts checking the same condition over and over until it 
reaches the maximum tree depth.

I've attached a standalone reproducer which uses a small excerpt of our data 
set. 

It loads data from the csv file, then performs the training of the model for 
just 1 tree. Then the reproducer finds one of the looping branches and prints 
it. You will see that every single node in the branch uses the same feature, 
value and has then same calculated impurity. 

On my machine the code reproduces this issue 100% of time.

I've also attached an example of the tree generated by python's scikit-learn on 
the same data set with the same parameters. In python the tree usually doesn't 
get deeper than 20 nodes.


> RandomForestClassifierTrainer accuracy issue
> 
>
> Key: IGNITE-20139
> URL: https://issues.apache.org/jira/browse/IGNITE-20139
> Project: Ignite
>  Issue Type: Bug
>  Components: ml
>Affects Versions: 2.15
>Reporter: Alexandr Shapkin
>Assignee: Igor Belyakov
>Priority: Major
> Attachments: TreeSample2_Portfolio_Change.png, random-forest.zip
>
>
> We tried to use machine learning capabilities, and discovered a bug in 
> implementation of Random Forest. When comparing Ignite's output with python 
> prototype (scikit-learn lib), we noticed that Ignite's predictions have much 
> lower accuracy despite using the same data set and model parameters. 
> Further investigation showed that Ignite generates decision trees that kinda 
> "loop". The tree starts checking the same condition over and over until it 
> reaches the maximum tree depth.
> I've attached a standalone reproducer which uses a small excerpt of our data 
> set. 
> It loads data from the csv file, then performs the training of the model for 
> just 1 tree. Then the reproducer finds one of the looping branches and prints 
> it. You will see that every single node in the branch uses the same feature, 
> value and has then same calculated impurity. 
> On my machine the code reproduces this issue 100% of time.
> I've also attached an example of the tree generated by python's scikit-learn 
> on the same data set with the same parameters. In python the tree usually 
> doesn't get deeper than 20 nodes.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (IGNITE-20139) RandomForestClassifierTrainer accuracy issue

2023-08-02 Thread Alexandr Shapkin (Jira)


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

Alexandr Shapkin commented on IGNITE-20139:
---

[~zaleslaw] could you please take a look? Seems to be a valid issue alongside 
the attached reproducer.

> RandomForestClassifierTrainer accuracy issue
> 
>
> Key: IGNITE-20139
> URL: https://issues.apache.org/jira/browse/IGNITE-20139
> Project: Ignite
>  Issue Type: Bug
>  Components: ml
>Affects Versions: 2.15
>Reporter: Alexandr Shapkin
>Priority: Major
> Attachments: TreeSample2_Portfolio_Change.png, random-forest.zip
>
>
> We tried to use GridGain's machine learning capabilities, and discovered a 
> bug in GG's implementation of Random Forest. When comparing GG's output with 
> python prototype (scikit-learn lib), we noticed that GG's predictions have 
> much lower accuracy despite using the same data set and model parameters. 
> Further investigation showed that GridGain generates decision trees that 
> kinda "loop". The tree starts checking the same condition over and over until 
> it reaches the maximum tree depth.
> I've attached a standalone reproducer which uses a small excerpt of our data 
> set. 
> It loads data from the csv file, then performs the training of the model for 
> just 1 tree. Then the reproducer finds one of the looping branches and prints 
> it. You will see that every single node in the branch uses the same feature, 
> value and has then same calculated impurity. 
> On my machine the code reproduces this issue 100% of time.
> I've also attached an example of the tree generated by python's scikit-learn 
> on the same data set with the same parameters. In python the tree usually 
> doesn't get deeper than 20 nodes.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-20139) RandomForestClassifierTrainer accuracy issue

2023-08-02 Thread Alexandr Shapkin (Jira)


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

Alexandr Shapkin updated IGNITE-20139:
--
Summary: RandomForestClassifierTrainer accuracy issue  (was: 
RandomForestClassifierTrainer is checking the same conditions)

> RandomForestClassifierTrainer accuracy issue
> 
>
> Key: IGNITE-20139
> URL: https://issues.apache.org/jira/browse/IGNITE-20139
> Project: Ignite
>  Issue Type: Bug
>  Components: ml
>Affects Versions: 2.15
>Reporter: Alexandr Shapkin
>Priority: Major
> Attachments: TreeSample2_Portfolio_Change.png, random-forest.zip
>
>
> We tried to use GridGain's machine learning capabilities, and discovered a 
> bug in GG's implementation of Random Forest. When comparing GG's output with 
> python prototype (scikit-learn lib), we noticed that GG's predictions have 
> much lower accuracy despite using the same data set and model parameters. 
> Further investigation showed that GridGain generates decision trees that 
> kinda "loop". The tree starts checking the same condition over and over until 
> it reaches the maximum tree depth.
> I've attached a standalone reproducer which uses a small excerpt of our data 
> set. 
> It loads data from the csv file, then performs the training of the model for 
> just 1 tree. Then the reproducer finds one of the looping branches and prints 
> it. You will see that every single node in the branch uses the same feature, 
> value and has then same calculated impurity. 
> On my machine the code reproduces this issue 100% of time.
> I've also attached an example of the tree generated by python's scikit-learn 
> on the same data set with the same parameters. In python the tree usually 
> doesn't get deeper than 20 nodes.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (IGNITE-20139) RandomForestClassifierTrainer is checking the same conditions

2023-08-02 Thread Alexandr Shapkin (Jira)
Alexandr Shapkin created IGNITE-20139:
-

 Summary: RandomForestClassifierTrainer is checking the same 
conditions
 Key: IGNITE-20139
 URL: https://issues.apache.org/jira/browse/IGNITE-20139
 Project: Ignite
  Issue Type: Bug
  Components: ml
Affects Versions: 2.15
Reporter: Alexandr Shapkin
 Attachments: TreeSample2_Portfolio_Change.png, random-forest.zip

We tried to use GridGain's machine learning capabilities, and discovered a bug 
in GG's implementation of Random Forest. When comparing GG's output with python 
prototype (scikit-learn lib), we noticed that GG's predictions have much lower 
accuracy despite using the same data set and model parameters. 

Further investigation showed that GridGain generates decision trees that kinda 
"loop". The tree starts checking the same condition over and over until it 
reaches the maximum tree depth.

I've attached a standalone reproducer which uses a small excerpt of our data 
set. 

It loads data from the csv file, then performs the training of the model for 
just 1 tree. Then the reproducer finds one of the looping branches and prints 
it. You will see that every single node in the branch uses the same feature, 
value and has then same calculated impurity. 

On my machine the code reproduces this issue 100% of time.

I've also attached an example of the tree generated by python's scikit-learn on 
the same data set with the same parameters. In python the tree usually doesn't 
get deeper than 20 nodes.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-20139) RandomForestClassifierTrainer is checking the same conditions

2023-08-02 Thread Alexandr Shapkin (Jira)


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

Alexandr Shapkin updated IGNITE-20139:
--
Attachment: random-forest.zip
TreeSample2_Portfolio_Change.png

> RandomForestClassifierTrainer is checking the same conditions
> -
>
> Key: IGNITE-20139
> URL: https://issues.apache.org/jira/browse/IGNITE-20139
> Project: Ignite
>  Issue Type: Bug
>  Components: ml
>Affects Versions: 2.15
>Reporter: Alexandr Shapkin
>Priority: Major
> Attachments: TreeSample2_Portfolio_Change.png, random-forest.zip
>
>
> We tried to use GridGain's machine learning capabilities, and discovered a 
> bug in GG's implementation of Random Forest. When comparing GG's output with 
> python prototype (scikit-learn lib), we noticed that GG's predictions have 
> much lower accuracy despite using the same data set and model parameters. 
> Further investigation showed that GridGain generates decision trees that 
> kinda "loop". The tree starts checking the same condition over and over until 
> it reaches the maximum tree depth.
> I've attached a standalone reproducer which uses a small excerpt of our data 
> set. 
> It loads data from the csv file, then performs the training of the model for 
> just 1 tree. Then the reproducer finds one of the looping branches and prints 
> it. You will see that every single node in the branch uses the same feature, 
> value and has then same calculated impurity. 
> On my machine the code reproduces this issue 100% of time.
> I've also attached an example of the tree generated by python's scikit-learn 
> on the same data set with the same parameters. In python the tree usually 
> doesn't get deeper than 20 nodes.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


<    1   2