Re: Thin Client Protocol documentation

2017-12-02 Thread Andrey Kornev
Pavel,

Great job on the Thin Client protocol design!

I'm a bit late to the party, but I'm wondering why none of the compute features 
are supported? Such omission is unfortunate. Is it intentional? If so, what are 
the reasons?

I think it would be useful for the clients to be able to invoke already 
deployed tasks/services, or send a closure (if the client happens to be written 
in Java) for execution.

Thanks
Andrey


From: Pavel Tupitsyn 
Sent: Friday, December 1, 2017 5:48 AM
To: dev@ignite.apache.org
Subject: Re: Thin Client Protocol documentation

There are no legacy formats. JDBC and ODBC clients are not "legacy", quite
the opposite.

In future we may even want to combine JDBC Thin and general-purpose Thin
clients since they have a lot in common.
So let's keep the handshake format consistent across clients.

> exceptions for message formats
Handshake is an exception anyway, it does not have (or need) requestId, etc.

On Fri, Dec 1, 2017 at 1:38 PM, Alexey Popov  wrote:

> Pavel,
>
> I believe ClientListenerNioListener.onHandshake() could support more than
> one Handshake request format (be backward compatible), for instance, if we
> will have a new handshake code = 0xABCD that differs from 0x01 byte.
>
> It is a design vs architecture question.
>
> I can’t understand why the legacy Handshake format should be used for a
> new protocol. If this protocol is supposed to be public it should have no
> exceptions for message formats.
>
> Thank you,
> Alexey
>
> From: Pavel Tupitsyn
> Sent: Thursday, November 30, 2017 12:11 PM
> To: dev@ignite.apache.org
> Subject: Re: Thin Client Protocol documentation
>
> Hi Alexey,
>
> 1,2,3 are related only to handshake. All other operations are consistent.
>
> Handshake request format is dictated by existing client connector that is
> shared with ODBC and JDBC clients (see
> ClientListenerNioListener.onHandshake).
> so we can't add magic numbers or change operation code.
>
> But yes, we can add server version to the handshake response, and I think
> this makes sense.
>
> > 4. The same comments for success flag (1 byte) and status code (4 bytes)
> in responses. Let's leave only status code.
> We don't have a success flag in responses, there is just a 4-byte status
> code, 0 indicates success, everything else is an error.
>
> Thanks,
> Pavel
>
> On Thu, Nov 30, 2017 at 12:01 PM, Alexey Popov 
> wrote:
>
> > Hi Pavel,
> >
> > Let me add my 5 cents.
> >
> > 1. It would be great if both Handshake request & response have some
> > "magic" number (2 or 4 bytes) inside their msg body. That will simplify
> > handling situations when non-Ignite client connects to Ignite server and
> > vice versa.
> >
> > 2. It makes sense to add server version to successful Handshake response
> > as well. It will help to understand & debug possible backward
> compatibility
> > issues in the field by *.pcap logs analysis & etc.
> >
> > 3. Can we have a more strict header for all message types?
> > As far as I understand,
> > Handshake request has:
> > 1) length - 4 byte
> > 2) Handshake code - 1 byte
> > 3) body - (length - 1) bytes
> >
> > while OP_CACHE_GET request has:
> > 1) length - 4 byte
> > 2) OP_CACHE_GET code - 2 bytes
> > 3) request id - 4 bytes
> > 4) body - (length - 2 - 4) bytes
> >
> > Why some messages have Operation code with 1 byte while others - 2 bytes?
> > Why some requests/responses have request-id while others don't? Let's
> > simplify parser work )
> >
> > 4. The same comments for success flag (1 byte) and status code (4 bytes)
> > in responses. Let's leave only status code.
> >
> > Thank you,
> > Alexey
> >
> > From: Pavel Tupitsyn
> > Sent: Wednesday, November 22, 2017 4:04 PM
> > To: dev@ignite.apache.org
> > Subject: Thin Client Protocol documentation
> >
> > Igniters,
> >
> > I've put together a detailed description of our Thin Client protocol
> > in form of IEP on wiki:
> > https://cwiki.apache.org/confluence/display/IGNITE/IEP-
> > 9+Thin+Client+Protocol
> >
> >
> > To clarify:
> > - Protocol implementation is in master (see ClientMessageParser class)
> > - Protocol has not been released yet, so we are free to change anything
> > - Protocol is only used by .NET Thin Client for now, but is supposed to
> be
> > used from other languages by third party contributors
> > - More operations will be added in future, this is a first set of them,
> > cache-related
> >
> >
> > Please review the document and let me know your thoughts.
> > Is there anything missing or wrong?
> >
> > We should make sure that the foundation is solid and extensible.
> >
> >
> > Thanks,
> > Pavel
> >
> >
>
>


[GitHub] ignite pull request #3132: IGNITE-7096: Missed dependencies in examples pom ...

2017-12-02 Thread asfgit
Github user asfgit closed the pull request at:

https://github.com/apache/ignite/pull/3132


---


[GitHub] ignite pull request #3132: IGNITE-7096: Missed dependencies in examples pom ...

2017-12-02 Thread ybabak
GitHub user ybabak opened a pull request:

https://github.com/apache/ignite/pull/3132

IGNITE-7096: Missed dependencies in examples pom files

fixed

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/gridgain/apache-ignite ignite-7096

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/ignite/pull/3132.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #3132


commit 9a2e8e88b49601f0c6ec39f0d92572b6729bcf17
Author: YuriBabak 
Date:   2017-12-02T14:48:44Z

IGNITE-7096: Missed dependencies in examples pom files

fixed




---


[jira] [Created] (IGNITE-7096) Missed dependencies in examples pom files

2017-12-02 Thread Yury Babak (JIRA)
Yury Babak created IGNITE-7096:
--

 Summary: Missed dependencies in examples pom files
 Key: IGNITE-7096
 URL: https://issues.apache.org/jira/browse/IGNITE-7096
 Project: Ignite
  Issue Type: Bug
Reporter: Yury Babak
Assignee: Yury Babak
 Fix For: 2.4


Missed dependencies in ML profiles in pom-standalone.xml and 
pom-standalone-lgpl.xml.

missed:

commons-cli
commons-cli
1.2




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


[GitHub] ignite pull request #3131: Ignite-7094: Javadoc warnings in ml module

2017-12-02 Thread asfgit
Github user asfgit closed the pull request at:

https://github.com/apache/ignite/pull/3131


---


[GitHub] ignite pull request #3131: Ignite-7094: Javadoc warnings in ml module

2017-12-02 Thread ybabak
GitHub user ybabak opened a pull request:

https://github.com/apache/ignite/pull/3131

Ignite-7094: Javadoc warnings in ml module

fixed

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/gridgain/apache-ignite ignite-7094

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/ignite/pull/3131.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #3131


commit dd34e95d8835153d25f8e6acebf22e86ec049324
Author: YuriBabak 
Date:   2017-12-02T14:11:17Z

Ignite-7094:Javadoc warnings in ml module

fixed




---


Re: Are there any access control for ignite rest api

2017-12-02 Thread Ken Cheng
my case is that I just want the external can use get cmd as I dont want to
the data to be updated or deleted.

Thanks,
Ken Cheng

On Sat, Dec 2, 2017 at 1:49 AM, Denis Magda  wrote:

> Hi,
>
> What’s Ignite Access Control? I’ve never heard about this tool/component.
>
> —
> Denis
>
> > On Dec 1, 2017, at 8:00 AM, kcmvp  wrote:
> >
> > Hi All,
> >
> > Are there any access control fro Ignite Access Control? For my case I
> just
> > want get related rest api can be accessed ?
> > Of course it's better to have fine control
> >
> >
> >
> > --
> > Sent from: http://apache-ignite-developers.2346864.n4.nabble.com/
>
>


Re: Request for Participation: The Right Metrics for the Right Project

2017-12-02 Thread Daniel Gruno
I'll also note, that if people create their own accounts, please let us
know at the kibble project, so we can add you to the demo organisation
on the demo - otherwise you won't be able to see much :)

On 12/02/2017 12:24 PM, Daniel Gruno wrote:
> On 12/02/2017 01:33 AM, Denis Magda wrote:
>> + Ignite dev
>>
>> Rafael,
>>
>> That’s a really useful project. I would use it for Ignite metrics analysis.
>>
>> How do you measure the pony-factor (contributors/committers breakdown per 
>> specific organization)?
> 
> You can read an article on the original pony factor math at David
> Nalley's blog; https://ke4qqq.wordpress.com/2015/02/08/pony-factor-math/
> 
>>
>> Is there a way to see user/dev list specific metrics such as most active 
>> participants (senders and responders), number of signs-up, etc.?
> 
> Yes and no, but mostly yes :)
> There are three mail-related pages you can look at (please log in before
> you proceed to the URLs below):
> 
> - The first is the basic email metrics (Data Points -> Mailing Lists),
> such as this URL for ignite:
> https://demo.kibble.apache.org/dashboard.html?page=mail=ignite
> You can zoom in on a specific user/dev list by simply changing the
> sub-filter to dev@ignite or user@ignite and clicking the green
> 'sub-filter' button.
> 
> - The second is the mail mapping, which shows you who is discussing with
> whom, at Relationships -> Discussion author maps. An example of this is:
> https://demo.kibble.apache.org/relationships.html?page=mail-map=dev@ignite
> for dev@ignite over the past (default) 6 months. It's advised that you
> zoom in on the timespan to the last month or so, to not get as cluttered
> a view.
> 
> - Finally, while Kibble doesn't have access to who subscribes or
> unsubscribes (that's infra only!), it can extrapolate activity based off
> when people send email, and approximate how many people are currently
> active as mail authors. This retention/activity chart is found under
> Engagement -> Contributor Retention, such as:
> https://demo.kibble.apache.org/engagement.html?page=retention=ignite
> 
> While we also have the fun and interesting mood mapping, it's not
> currently been done for ignite, as that costs us a bit of money each
> time we do that scan.
> 
> I hope you find something worth looking at :)
> 
> With regards,
> Daniel.
> 
>>
>> Igniters, please log in and provide your feedback. The details are below.
>>
>> —
>> Denis
>>
>>> On Nov 30, 2017, at 4:30 PM, Rafael Weingärtner 
>>>  wrote:
>>>
>>> https://demo.kibble.apache.org/dashboard.html?page=repos=true=d58d1803c1337bc2762059eb4d6bd72cca53c4a3c981dcf48d1f7412
>>>  
>>> 
>>>
>>> You need to log in as guest. The username and password are presented in the 
>>> login interface.
>>>
>>> On Thu, Nov 30, 2017 at 9:53 PM, Denis Magda >> > wrote:
>>> Rafael,
>>>
>>> Where should I go to see Ignite metrics? Tried to look for data here but 
>>> this seems to be a wrong place:
>>> https://demo.kibble.apache.org/ 
>>>
>>> —
>>> Denis
>>>
 On Nov 30, 2017, at 11:43 AM, Rafael Weingärtner 
 > wrote:

 sure.
 You can already see Ignite status there ;)

 On Thu, Nov 30, 2017 at 5:41 PM, Denis Magda > wrote:
 Hi Rafael,

 Confirming that the information is correct. Please CC me in all the 
 related discussions directly.

 —
 Denis

> On Nov 30, 2017, at 5:30 AM, Rafael Weingärtner 
> > wrote:
>
>
> -- Forwarded message --
> From: Rafael Weingärtner  >
> Date: Thu, Nov 30, 2017 at 11:29 AM
> Subject: Re: Request for Participation: The Right Metrics for the Right 
> Project
> To: d...@kibble.apache.org 
>
>
> Hi Denis, 
> Can you confirm the Apache Ignite information? so I can add it
>
> GitHub repo(s):
> https://github.com/apache/ignite.git 
> 
>
> Jira:
> https://issues.apache.org/jira/browse/IGNITE 
> 
>
> Mailing lists:
> https://lists.apache.org/list.html?u...@ignite.apache.org 
> 
> https://lists.apache.org/list.html?dev@ignite.apache.org 
> 
> https://lists.apache.org/list.html?iss...@ignite.apache.org 
> 
>
> On Mon, Nov 27, 2017 at 9:48 PM, Denis 

[jira] [Created] (IGNITE-7094) Javadoc warnings in ml module

2017-12-02 Thread Aleksey Chetaev (JIRA)
Aleksey Chetaev created IGNITE-7094:
---

 Summary: Javadoc warnings in ml module 
 Key: IGNITE-7094
 URL: https://issues.apache.org/jira/browse/IGNITE-7094
 Project: Ignite
  Issue Type: Bug
  Components: ml
Affects Versions: 2.4
Reporter: Aleksey Chetaev


[14:20:11][Step 18/41] [WARNING] Javadoc Warnings
[14:20:11][Step 18/41] [WARNING] 
/var/lib/teamcity/data/work/6ae9d4bd0822354f/incubator-ignite/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/storage/vector/SparseDistributedVectorStorage.java:43:
 warning - Tag @link:illegal character: "47" in "/*SparseDistributedVector"
[14:20:11][Step 18/41] [WARNING] 
/var/lib/teamcity/data/work/6ae9d4bd0822354f/incubator-ignite/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/storage/vector/SparseDistributedVectorStorage.java:43:
 warning - Tag @link:illegal character: "42" in "/*SparseDistributedVector"
[14:20:11][Step 18/41] [WARNING] 
/var/lib/teamcity/data/work/6ae9d4bd0822354f/incubator-ignite/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/storage/vector/SparseDistributedVectorStorage.java:43:
 warning - Tag @link: reference not found: /*SparseDistributedVector
[14:20:11][Step 18/41] [WARNING] 
/var/lib/teamcity/data/work/6ae9d4bd0822354f/incubator-ignite/modules/ml/src/main/java/org/apache/ignite/ml/trees/ContinuousSplitCalculator.java:37:
 warning - Tag @see cannot be used in inline documentation.  It can only be 
used in the following types of documentation: overview, package, 
class/interface, constructor, field, method.
[14:20:11][Step 18/41] [WARNING] 
/var/lib/teamcity/data/work/6ae9d4bd0822354f/incubator-ignite/modules/ml/src/main/java/org/apache/ignite/ml/trees/ContinuousSplitCalculator.java:37:
 warning - Tag @see cannot be used in inline documentation.  It can only be 
used in the following types of documentation: overview, package, 
class/interface, constructor, field, method.
[14:20:11][Step 18/41] [WARNING] 
/var/lib/teamcity/data/work/6ae9d4bd0822354f/incubator-ignite/modules/ml/src/main/java/org/apache/ignite/ml/trees/ContinuousSplitCalculator.java:37:
 warning - Tag @see cannot be used in inline documentation.  It can only be 
used in the following types of documentation: overview, package, 
class/interface, constructor, field, method.
[14:20:11][Step 18/41] [WARNING] 
/var/lib/teamcity/data/work/6ae9d4bd0822354f/incubator-ignite/modules/ml/src/main/java/org/apache/ignite/ml/trees/trainers/columnbased/CacheColumnDecisionTreeTrainerInput.java:39:
 warning - Tag @see cannot be used in inline documentation.  It can only be 
used in the following types of documentation: overview, package, 
class/interface, constructor, field, method.
[14:20:11][Step 18/41] [WARNING] 
/var/lib/teamcity/data/work/6ae9d4bd0822354f/incubator-ignite/modules/ml/src/main/java/org/apache/ignite/ml/trees/trainers/columnbased/CacheColumnDecisionTreeTrainerInput.java:39:
 warning - Tag @see cannot be used in inline documentation.  It can only be 
used in the following types of documentation: overview, package, 
class/interface, constructor, field, method.
[14:20:11][Step 18/41] [WARNING] 
/var/lib/teamcity/data/work/6ae9d4bd0822354f/incubator-ignite/modules/ml/src/main/java/org/apache/ignite/ml/trees/trainers/columnbased/CacheColumnDecisionTreeTrainerInput.java:82:
 warning - Tag @see cannot be used in inline documentation.  It can only be 
used in the following types of documentation: overview, package, 
class/interface, constructor, field, method.
[14:20:11][Step 18/41] [WARNING] 
/var/lib/teamcity/data/work/6ae9d4bd0822354f/incubator-ignite/modules/ml/src/main/java/org/apache/ignite/ml/trees/trainers/columnbased/CacheColumnDecisionTreeTrainerInput.java:82:
 warning - Tag @see cannot be used in inline documentation.  It can only be 
used in the following types of documentation: overview, package, 
class/interface, constructor, field, method.
[14:20:11][Step 18/41] [WARNING] 
/var/lib/teamcity/data/work/6ae9d4bd0822354f/incubator-ignite/modules/ml/src/main/java/org/apache/ignite/ml/trees/trainers/columnbased/CacheColumnDecisionTreeTrainerInput.java:82:
 warning - Tag @see cannot be used in inline documentation.  It can only be 
used in the following types of documentation: overview, package, 
class/interface, constructor, field, method.
[14:20:11][Step 18/41] [WARNING] 
/var/lib/teamcity/data/work/6ae9d4bd0822354f/incubator-ignite/modules/ml/src/main/java/org/apache/ignite/ml/trees/trainers/columnbased/ColumnDecisionTreeTrainerInput.java:28:
 warning - Tag @see cannot be used in inline documentation.  It can only be 
used in the following types of documentation: overview, package, 
class/interface, constructor, field, method.
[14:20:11][Step 18/41] [WARNING] 

Re: Request for Participation: The Right Metrics for the Right Project

2017-12-02 Thread Daniel Gruno
On 12/02/2017 01:33 AM, Denis Magda wrote:
> + Ignite dev
> 
> Rafael,
> 
> That’s a really useful project. I would use it for Ignite metrics analysis.
> 
> How do you measure the pony-factor (contributors/committers breakdown per 
> specific organization)?

You can read an article on the original pony factor math at David
Nalley's blog; https://ke4qqq.wordpress.com/2015/02/08/pony-factor-math/

> 
> Is there a way to see user/dev list specific metrics such as most active 
> participants (senders and responders), number of signs-up, etc.?

Yes and no, but mostly yes :)
There are three mail-related pages you can look at (please log in before
you proceed to the URLs below):

- The first is the basic email metrics (Data Points -> Mailing Lists),
such as this URL for ignite:
https://demo.kibble.apache.org/dashboard.html?page=mail=ignite
You can zoom in on a specific user/dev list by simply changing the
sub-filter to dev@ignite or user@ignite and clicking the green
'sub-filter' button.

- The second is the mail mapping, which shows you who is discussing with
whom, at Relationships -> Discussion author maps. An example of this is:
https://demo.kibble.apache.org/relationships.html?page=mail-map=dev@ignite
for dev@ignite over the past (default) 6 months. It's advised that you
zoom in on the timespan to the last month or so, to not get as cluttered
a view.

- Finally, while Kibble doesn't have access to who subscribes or
unsubscribes (that's infra only!), it can extrapolate activity based off
when people send email, and approximate how many people are currently
active as mail authors. This retention/activity chart is found under
Engagement -> Contributor Retention, such as:
https://demo.kibble.apache.org/engagement.html?page=retention=ignite

While we also have the fun and interesting mood mapping, it's not
currently been done for ignite, as that costs us a bit of money each
time we do that scan.

I hope you find something worth looking at :)

With regards,
Daniel.

> 
> Igniters, please log in and provide your feedback. The details are below.
> 
> —
> Denis
> 
>> On Nov 30, 2017, at 4:30 PM, Rafael Weingärtner 
>>  wrote:
>>
>> https://demo.kibble.apache.org/dashboard.html?page=repos=true=d58d1803c1337bc2762059eb4d6bd72cca53c4a3c981dcf48d1f7412
>>  
>> 
>>
>> You need to log in as guest. The username and password are presented in the 
>> login interface.
>>
>> On Thu, Nov 30, 2017 at 9:53 PM, Denis Magda > > wrote:
>> Rafael,
>>
>> Where should I go to see Ignite metrics? Tried to look for data here but 
>> this seems to be a wrong place:
>> https://demo.kibble.apache.org/ 
>>
>> —
>> Denis
>>
>>> On Nov 30, 2017, at 11:43 AM, Rafael Weingärtner 
>>> > wrote:
>>>
>>> sure.
>>> You can already see Ignite status there ;)
>>>
>>> On Thu, Nov 30, 2017 at 5:41 PM, Denis Magda >> > wrote:
>>> Hi Rafael,
>>>
>>> Confirming that the information is correct. Please CC me in all the related 
>>> discussions directly.
>>>
>>> —
>>> Denis
>>>
 On Nov 30, 2017, at 5:30 AM, Rafael Weingärtner 
 > wrote:


 -- Forwarded message --
 From: Rafael Weingärtner >
 Date: Thu, Nov 30, 2017 at 11:29 AM
 Subject: Re: Request for Participation: The Right Metrics for the Right 
 Project
 To: d...@kibble.apache.org 


 Hi Denis, 
 Can you confirm the Apache Ignite information? so I can add it

 GitHub repo(s):
 https://github.com/apache/ignite.git 

 Jira:
 https://issues.apache.org/jira/browse/IGNITE 
 

 Mailing lists:
 https://lists.apache.org/list.html?u...@ignite.apache.org 
 
 https://lists.apache.org/list.html?dev@ignite.apache.org 
 
 https://lists.apache.org/list.html?iss...@ignite.apache.org 
 

 On Mon, Nov 27, 2017 at 9:48 PM, Denis Magda > wrote:
 Hi Daniel,

 Is there an easy way to hook Kibble with Ignite? We’re definitely 
 interested in such capabilities.

 —
 Denis

> On Nov 27, 2017, at 10:26 AM, Daniel Gruno  > wrote:
>
> Hi there, fellow Apache projects!
>
> The Apache 

Re: Caused by: class org.apache.ignite.internal.processors.query.IgniteSQLException: Failed to find SQL table for type: UserAppInfo

2017-12-02 Thread kcheng.mvp
by the way, here is my maven dependency.

the unit test starts two server node local and a client node.


org.apache.ignite
ignite-core
${ignite.version}



org.apache.ignite
ignite-spring
${ignite.version}



org.apache.ignite
ignite-indexing
${ignite.version}







--
Sent from: http://apache-ignite-developers.2346864.n4.nabble.com/


Caused by: class org.apache.ignite.internal.processors.query.IgniteSQLException: Failed to find SQL table for type: UserAppInfo

2017-12-02 Thread kcheng.mvp
I run into this issue, cache.put/cache.get works well. 

here is my configuration.

http://www.springframework.org/schema/beans;
xsi:schemaLocation=" http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util.xsd;
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance;>
  
Main Spring file for ignite configuration.
  
  



  

  

  

  

  

  


  


  

  


  

  
  
  
  


  
  
  
  


  
  
  
  


  
  
  
  

  

  


  http://www.springframework.org/schema/util;
id="caches" value-type="org.apache.ignite.configuration.CacheConfiguration"
list-class="java.util.ArrayList">

  
  


  
  


  
  


  
  

  

  
  


  


UserAppInfo.java

public class UserAppInfo implements Serializable{
private static final long serialVersionUID = -6137971973241293268L;

@QuerySqlField(index = true)
private String appId;

@QuerySqlField(index = true)
private String uid;


@QuerySqlField
private String platform;


@QuerySqlField
private Date registerTime;

@QuerySqlField
private Date lastAuthTime;

@QuerySqlField
private Integer authCount;


public String getAppId() {
return appId;
}

public void setAppId(String appId) {
this.appId = appId;
}

public String getUid() {
return uid;
}

public void setUid(String uid) {
this.uid = uid;
}

public String getPlatform() {
return platform;
}

public void setPlatform(String platform) {
this.platform = platform;
}

public Date getRegisterTime() {
return registerTime;
}

public void setRegisterTime(Date registerTime) {
this.registerTime = registerTime;
}

public Date getLastAuthTime() {
return lastAuthTime;
}

public void setLastAuthTime(Date lastAuthTime) {
this.lastAuthTime = lastAuthTime;
}

public Integer getAuthCount() {
return authCount;
}

public void setAuthCount(Integer authCount) {
this.authCount = authCount;
}


@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;

UserAppInfo that = (UserAppInfo) o;

if (appId != null ? !appId.equals(that.appId) : that.appId != null)
return false;
return uid != null ? uid.equals(that.uid) : that.uid == null;
}

@Override
public int hashCode() {
int result = appId != null ? appId.hashCode() : 0;
result = 31 * result + (uid != null ? uid.hashCode() : 0);
return result;
}

public AffinityKey affinityKey(){
return new AffinityKey(appId, uid);
}
}

3: test code

 @Test
public void happyFlow(){
UserAppInfo userAppInfo = dynamicUserAppInfo();
userAppInfoService.put(userAppInfo);
UserAppInfo userAppInfo1 =
userAppInfoService.get(userAppInfo.getAppId(), userAppInfo.getUid());
Assert.assertNotNull(userAppInfo1);
Assert.assertEquals(userAppInfo1, userAppInfo); //works well
SqlQuery sql = new SqlQuery(UserAppInfo.class, "appid =
?").setArgs(userAppInfo.getAppId());
   
userAppInfoService.getCache(PersistenceService.CacheName.USER_APP_INFO).query(sql);
// runs into the issue
}



--
Sent from: http://apache-ignite-developers.2346864.n4.nabble.com/