Re: ScanQuery throwing Exception for java Thin client while peerclassloading is enabled

2018-09-20 Thread Ilya Kasnacheev
Hello!

Not unless you have value class on server nodes. If you don't have value
class available (or key for that matter) you are restricted ro
BinaryObject's.

Regards,
-- 
Ilya Kasnacheev


ср, 19 сент. 2018 г. в 10:26, Saby :

> Hi Ilya,
> Thanks for your response, yes I had tried with withKeepBinary() option. If
> I
> call with withKeepBinary() option then there no deserialization related
> exception is coming but the returned entries are being wrapped to
> 'BinaryObjectImpl' and hence getting ClassCastException. Is there any
> option
> to get the entries of rawtype?
>
> I'm using the following code snippet to fetch the data:
>
>
> public class Predicate implements IgniteBiPredicate
> {
>
> /**
>  *
>  */
> private static final long serialVersionUID = 1L;
>
> @Override
> public boolean apply(K e1, V e2) {
> return true;
> }
> }
>
> public class IgniteValueClass implements Binarylizable, Serializable {
> private static final long serialVersionUID = 50283244369719L;
> @QuerySqlField(index = true)
> String id;
> @QuerySqlField(index = true)
> String val1;
>
> @QuerySqlField
> String val2;
>
> public String getId() {
> return id;
> }
>
> public void setId(String id) {
> this.id = id;
> }
>
> public String getVal1() {
> return val1;
> }
>
> public void setVal1(String val1) {
> this.val1 = val1;
> }
>
> public String getVal2() {
> return val2;
> }
>
> public void setVal2(String val2) {
> this.val2 = val2;
> }
>
> @Override
> public void writeBinary(BinaryWriter writer) throws
> BinaryObjectException {
> writer.writeString("id", id);
> writer.writeString("val1", val1);
> writer.writeString("val2", val2);
>
> }
>
> @Override
> public void readBinary(BinaryReader reader) throws
> BinaryObjectException {
> id = reader.readString("id");
> val1 = reader.readString("val1");
> val2 = reader.readString("val2");
>
> }
>
> }
>
> public Iterator> getAllEntries(String areaName)
> throws NotClientException {
> checkConnectedAndExists(areaName);
> Query> sql = new
> ScanQuery<>(new
> Predicate<>());
> try (QueryCursor> cursor =
> ignite.cache(areaName).withKeepBinary().query(sql)) {
> return returnEntry(cursor);
> }
> }
>
> Thanks
> Saby
>
>
>
>
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>


Re: ScanQuery throwing Exception for java Thin client while peerclassloading is enabled

2018-09-19 Thread Saby
Hi Ilya,
Thanks for your response, yes I had tried with withKeepBinary() option. If I
call with withKeepBinary() option then there no deserialization related
exception is coming but the returned entries are being wrapped to
'BinaryObjectImpl' and hence getting ClassCastException. Is there any option
to get the entries of rawtype?

I'm using the following code snippet to fetch the data:


public class Predicate implements IgniteBiPredicate
{

/**
 * 
 */
private static final long serialVersionUID = 1L;

@Override
public boolean apply(K e1, V e2) {
return true;
}
}

public class IgniteValueClass implements Binarylizable, Serializable {
private static final long serialVersionUID = 50283244369719L;
@QuerySqlField(index = true)
String id;
@QuerySqlField(index = true)
String val1;

@QuerySqlField
String val2;

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getVal1() {
return val1;
}

public void setVal1(String val1) {
this.val1 = val1;
}

public String getVal2() {
return val2;
}

public void setVal2(String val2) {
this.val2 = val2;
}

@Override
public void writeBinary(BinaryWriter writer) throws 
BinaryObjectException {
writer.writeString("id", id);
writer.writeString("val1", val1);
writer.writeString("val2", val2);

}

@Override
public void readBinary(BinaryReader reader) throws 
BinaryObjectException {
id = reader.readString("id");
val1 = reader.readString("val1");
val2 = reader.readString("val2");

}

}

public Iterator> getAllEntries(String areaName)
throws NotClientException {
checkConnectedAndExists(areaName);
Query> sql = new ScanQuery<>(new
Predicate<>());
try (QueryCursor> cursor =
ignite.cache(areaName).withKeepBinary().query(sql)) {
return returnEntry(cursor);
}
} 

Thanks
Saby




--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/


Re: ScanQuery throwing Exception for java Thin client while peerclassloading is enabled

2018-09-18 Thread Ilya Kasnacheev
Hello!

Have you tried to do cache.withKeepBinary().query(yourScanQuery)? This will
avoid demarshalling of binary objects in predicate.

Regards,
-- 
Ilya Kasnacheev


вт, 18 сент. 2018 г. в 13:29, Saby :

> Hi Ilya,
> I tested it with nightly build of 17/09/2018(ver.
> 2.7.0.20180917#19700101-sha1:DEV), but getting the same exception. Getting
> the following exception  while trying to fetch the data from cache using
> ScanQuery from Java Thin client,  but SqlQuery giving the correct result.
> ScanQuery excepting cached class's description in the server class path.
>
> The definition of the cached class is-
>
> public class IgniteValueClass implements Binarylizable, Serializable {
> private static final long serialVersionUID = 50283244369719L;
> @QuerySqlField(index = true)
> String id;
> @QuerySqlField(index = true)
> String val1;
>
> @QuerySqlField
> String val2;
>
> public String getId() {
> return id;
> }
>
> public void setId(String id) {
> this.id = id;
> }
>
> public String getVal1() {
> return val1;
> }
>
> public void setVal1(String val1) {
> this.val1 = val1;
> }
>
> public String getVal2() {
> return val2;
> }
>
> public void setVal2(String val2) {
> this.val2 = val2;
> }
>
> @Override
> public boolean equals(Object obj) {
> if (obj == null)
> return false;
> IgniteValueClass newObj = (IgniteValueClass) obj;
> if (newObj == this)
> return true;
> return check(id, newObj.id) && check(val1, newObj.val1) &&
> check(val2,
> newObj.val2);
> }
>
> private boolean check(String v1, String v2) {
> if (v1 == v2 || (v1 != null && v1.equals(v2)))
> return true;
> return false;
> }
>
> @Override
> public void writeBinary(BinaryWriter writer) throws
> BinaryObjectException {
> writer.writeString("id", id);
> writer.writeString("val1", val1);
> writer.writeString("val2", val2);
>
> }
>
> @Override
> public void readBinary(BinaryReader reader) throws
> BinaryObjectException {
> id = reader.readString("id");
> val1 = reader.readString("val1");
> val2 = reader.readString("val2");
>
> }
>
> @Override
> public String toString() {
> return "ID:" + id + " Val1:" + val1 + " Val2:" + val2;
> }
> }
>
> The server is throwing this exception:
>
> [13:05:12,104][SEVERE][client-connector-#75][ClientListenerNioListener]
> Failed to process client request
>
> [req=o.a.i.i.processors.platform.client.cache.ClientCacheScanQueryRequest@490c852e
> ]
> class org.apache.ignite.binary.BinaryInvalidTypeException:
> xxx.imdg.ignite.test.IgniteValueClass
> at
>
> org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:707)
> at
>
> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1757)
> at
>
> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1716)
> at
>
> org.apache.ignite.internal.binary.BinaryObjectImpl.deserializeValue(BinaryObjectImpl.java:798)
> at
>
> org.apache.ignite.internal.binary.BinaryObjectImpl.value(BinaryObjectImpl.java:143)
> at
>
> org.apache.ignite.internal.processors.cache.CacheObjectUtils.unwrapBinary(CacheObjectUtils.java:177)
> at
>
> org.apache.ignite.internal.processors.cache.CacheObjectUtils.unwrapBinaryIfNeeded(CacheObjectUtils.java:39)
> at
>
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$ScanQueryIterator.advance(GridCacheQueryManager.java:3082)
> at
>
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$ScanQueryIterator.onHasNext(GridCacheQueryManager.java:2984)
> at
>
> org.apache.ignite.internal.util.GridCloseableIteratorAdapter.hasNextX(GridCloseableIteratorAdapter.java:53)
> at
>
> org.apache.ignite.internal.util.lang.GridIteratorAdapter.hasNext(GridIteratorAdapter.java:45)
> at
>
> org.apache.ignite.internal.processors.platform.client.cache.ClientCacheQueryCursor.writePage(ClientCacheQueryCursor.java:77)
> at
>
> org.apache.ignite.internal.processors.platform.client.cache.ClientCacheQueryResponse.encode(ClientCacheQueryResponse.java:50)
> at
>
> org.apache.ignite.internal.processors.platform.client.ClientMessageParser.encode(ClientMessageParser.java:387)
> at
>
> org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:172)
> at
>
> 

Re: ScanQuery throwing Exception for java Thin client while peerclassloading is enabled

2018-09-18 Thread Saby
Hi Ilya,
I tested it with nightly build of 17/09/2018(ver.
2.7.0.20180917#19700101-sha1:DEV), but getting the same exception. Getting
the following exception  while trying to fetch the data from cache using
ScanQuery from Java Thin client,  but SqlQuery giving the correct result.
ScanQuery excepting cached class's description in the server class path.

The definition of the cached class is-

public class IgniteValueClass implements Binarylizable, Serializable {
private static final long serialVersionUID = 50283244369719L;
@QuerySqlField(index = true)
String id;
@QuerySqlField(index = true)
String val1;

@QuerySqlField
String val2;

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getVal1() {
return val1;
}

public void setVal1(String val1) {
this.val1 = val1;
}

public String getVal2() {
return val2;
}

public void setVal2(String val2) {
this.val2 = val2;
}

@Override
public boolean equals(Object obj) {
if (obj == null)
return false;
IgniteValueClass newObj = (IgniteValueClass) obj;
if (newObj == this)
return true;
return check(id, newObj.id) && check(val1, newObj.val1) && 
check(val2,
newObj.val2);
}

private boolean check(String v1, String v2) {
if (v1 == v2 || (v1 != null && v1.equals(v2)))
return true;
return false;
}

@Override
public void writeBinary(BinaryWriter writer) throws 
BinaryObjectException {
writer.writeString("id", id);
writer.writeString("val1", val1);
writer.writeString("val2", val2);

}

@Override
public void readBinary(BinaryReader reader) throws 
BinaryObjectException {
id = reader.readString("id");
val1 = reader.readString("val1");
val2 = reader.readString("val2");

}

@Override
public String toString() {
return "ID:" + id + " Val1:" + val1 + " Val2:" + val2;
}
}

The server is throwing this exception:

[13:05:12,104][SEVERE][client-connector-#75][ClientListenerNioListener]
Failed to process client request
[req=o.a.i.i.processors.platform.client.cache.ClientCacheScanQueryRequest@490c852e]
class org.apache.ignite.binary.BinaryInvalidTypeException:
xxx.imdg.ignite.test.IgniteValueClass
at
org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:707)
at
org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1757)
at
org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1716)
at
org.apache.ignite.internal.binary.BinaryObjectImpl.deserializeValue(BinaryObjectImpl.java:798)
at
org.apache.ignite.internal.binary.BinaryObjectImpl.value(BinaryObjectImpl.java:143)
at
org.apache.ignite.internal.processors.cache.CacheObjectUtils.unwrapBinary(CacheObjectUtils.java:177)
at
org.apache.ignite.internal.processors.cache.CacheObjectUtils.unwrapBinaryIfNeeded(CacheObjectUtils.java:39)
at
org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$ScanQueryIterator.advance(GridCacheQueryManager.java:3082)
at
org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$ScanQueryIterator.onHasNext(GridCacheQueryManager.java:2984)
at
org.apache.ignite.internal.util.GridCloseableIteratorAdapter.hasNextX(GridCloseableIteratorAdapter.java:53)
at
org.apache.ignite.internal.util.lang.GridIteratorAdapter.hasNext(GridIteratorAdapter.java:45)
at
org.apache.ignite.internal.processors.platform.client.cache.ClientCacheQueryCursor.writePage(ClientCacheQueryCursor.java:77)
at
org.apache.ignite.internal.processors.platform.client.cache.ClientCacheQueryResponse.encode(ClientCacheQueryResponse.java:50)
at
org.apache.ignite.internal.processors.platform.client.ClientMessageParser.encode(ClientMessageParser.java:387)
at
org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:172)
at
org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:45)
at
org.apache.ignite.internal.util.nio.GridNioFilterChain$TailFilter.onMessageReceived(GridNioFilterChain.java:279)
at
org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:109)
at

Re: ScanQuery throwing Exception for java Thin client while peerclassloading is enabled

2018-09-03 Thread Ilya Kasnacheev
Hello!

It's not resolved so it's not in Nightly yet! Please check again once it is
in Resolved state.

Regards,
-- 
Ilya Kasnacheev


пн, 3 сент. 2018 г. в 14:25, Saby :

> Hi Ilya,
> Thanks for your response.
> Is the fix included in the Nightly build? I took the nightly build of 3rt
> Sep, but it didn't work. It(ScanQuery) is still expecting all the pojos and
> predicate classes in the Server lib when trying to fetch the data using
> Thin
> client.
>
> [16:50:15,180][SEVERE][client-connector-#64][ClientListenerNioListener]
> Failed to process client request
>
> [req=o.a.i.i.processors.platform.client.cache.ClientCacheScanQueryRequest@32b13991
> ]
> class org.apache.ignite.binary.BinaryInvalidTypeException:
> XXX.dm.imdg.ignite.test.IgniteValueClass
> at
>
> org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:707)
> at
>
> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1757)
> at
>
> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1716)
> at
>
> org.apache.ignite.internal.binary.BinaryObjectImpl.deserializeValue(BinaryObjectImpl.java:798)
> at
>
> org.apache.ignite.internal.binary.BinaryObjectImpl.value(BinaryObjectImpl.java:143)
> at
>
> org.apache.ignite.internal.processors.cache.CacheObjectUtils.unwrapBinary(CacheObjectUtils.java:177)
> at
>
> org.apache.ignite.internal.processors.cache.CacheObjectUtils.unwrapBinaryIfNeeded(CacheObjectUtils.java:39)
> at
>
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$ScanQueryIterator.advance(GridCacheQueryManager.java:3080)
> at
>
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$ScanQueryIterator.onHasNext(GridCacheQueryManager.java:2982)
> at
>
> org.apache.ignite.internal.util.GridCloseableIteratorAdapter.hasNextX(GridCloseableIteratorAdapter.java:53)
> at
>
> org.apache.ignite.internal.util.lang.GridIteratorAdapter.hasNext(GridIteratorAdapter.java:45)
> at
>
> org.apache.ignite.internal.processors.platform.client.cache.ClientCacheQueryCursor.writePage(ClientCacheQueryCursor.java:77)
> at
>
> org.apache.ignite.internal.processors.platform.client.cache.ClientCacheQueryResponse.encode(ClientCacheQueryResponse.java:50)
> at
>
> org.apache.ignite.internal.processors.platform.client.ClientMessageParser.encode(ClientMessageParser.java:387)
> at
>
> org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:172)
> at
>
> org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:45)
> at
>
> org.apache.ignite.internal.util.nio.GridNioFilterChain$TailFilter.onMessageReceived(GridNioFilterChain.java:279)
> at
>
> org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:109)
> at
>
> org.apache.ignite.internal.util.nio.GridNioAsyncNotifyFilter$3.body(GridNioAsyncNotifyFilter.java:97)
> at
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
> at
>
> org.apache.ignite.internal.util.worker.GridWorkerPool$1.run(GridWorkerPool.java:70)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown
> Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
> Source)
> at java.lang.Thread.run(Unknown Source)
> Caused by: java.lang.ClassNotFoundException:
> XXX.dm.imdg.ignite.test.IgniteValueClass
> at java.net.URLClassLoader.findClass(Unknown Source)
> at java.lang.ClassLoader.loadClass(Unknown Source)
> at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
> at java.lang.ClassLoader.loadClass(Unknown Source)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Unknown Source)
> at
> org.apache.ignite.internal.util.IgniteUtils.forName(IgniteUtils.java:8665)
> at
>
> org.apache.ignite.internal.MarshallerContextImpl.getClass(MarshallerContextImpl.java:349)
> at
>
> org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:698)
> ... 23 more
>
> Thanks
> Saby
>
>
>
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>


Re: ScanQuery throwing Exception for java Thin client while peerclassloading is enabled

2018-09-03 Thread Saby
Hi Ilya,
Thanks for your response. 
Is the fix included in the Nightly build? I took the nightly build of 3rt
Sep, but it didn't work. It(ScanQuery) is still expecting all the pojos and
predicate classes in the Server lib when trying to fetch the data using Thin
client.

[16:50:15,180][SEVERE][client-connector-#64][ClientListenerNioListener]
Failed to process client request
[req=o.a.i.i.processors.platform.client.cache.ClientCacheScanQueryRequest@32b13991]
class org.apache.ignite.binary.BinaryInvalidTypeException:
XXX.dm.imdg.ignite.test.IgniteValueClass
at
org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:707)
at
org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1757)
at
org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1716)
at
org.apache.ignite.internal.binary.BinaryObjectImpl.deserializeValue(BinaryObjectImpl.java:798)
at
org.apache.ignite.internal.binary.BinaryObjectImpl.value(BinaryObjectImpl.java:143)
at
org.apache.ignite.internal.processors.cache.CacheObjectUtils.unwrapBinary(CacheObjectUtils.java:177)
at
org.apache.ignite.internal.processors.cache.CacheObjectUtils.unwrapBinaryIfNeeded(CacheObjectUtils.java:39)
at
org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$ScanQueryIterator.advance(GridCacheQueryManager.java:3080)
at
org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$ScanQueryIterator.onHasNext(GridCacheQueryManager.java:2982)
at
org.apache.ignite.internal.util.GridCloseableIteratorAdapter.hasNextX(GridCloseableIteratorAdapter.java:53)
at
org.apache.ignite.internal.util.lang.GridIteratorAdapter.hasNext(GridIteratorAdapter.java:45)
at
org.apache.ignite.internal.processors.platform.client.cache.ClientCacheQueryCursor.writePage(ClientCacheQueryCursor.java:77)
at
org.apache.ignite.internal.processors.platform.client.cache.ClientCacheQueryResponse.encode(ClientCacheQueryResponse.java:50)
at
org.apache.ignite.internal.processors.platform.client.ClientMessageParser.encode(ClientMessageParser.java:387)
at
org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:172)
at
org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:45)
at
org.apache.ignite.internal.util.nio.GridNioFilterChain$TailFilter.onMessageReceived(GridNioFilterChain.java:279)
at
org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:109)
at
org.apache.ignite.internal.util.nio.GridNioAsyncNotifyFilter$3.body(GridNioAsyncNotifyFilter.java:97)
at
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
at
org.apache.ignite.internal.util.worker.GridWorkerPool$1.run(GridWorkerPool.java:70)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException:
XXX.dm.imdg.ignite.test.IgniteValueClass
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at
org.apache.ignite.internal.util.IgniteUtils.forName(IgniteUtils.java:8665)
at
org.apache.ignite.internal.MarshallerContextImpl.getClass(MarshallerContextImpl.java:349)
at
org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:698)
... 23 more

Thanks
Saby



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/


Re: ScanQuery throwing Exception for java Thin client while peerclassloading is enabled

2018-08-30 Thread Ilya Kasnacheev
Hello!

I think you are affected by
https://issues.apache.org/jira/browse/IGNITE-9054 which is being worked on.

Regards,
-- 
Ilya Kasnacheev


чт, 30 авг. 2018 г. в 11:47, Serty J :

> Hello Danis,
> Thanks for your reply, but SqlQuery is working fine, is there any
> difference in P2P class loading mechanism between  SqlQuery and ScanQuery?
> Thanks
> Saby
>
> On Thu, Aug 30, 2018 at 1:44 PM Denis Mekhanikov 
> wrote:
>
>> The client protocol doesn't imply P2P class loading.
>> So, you need to provide the implementation of the scan query on the
>> server side.
>> P2P class loading works only for regular nodes, server or client as well.
>>
>> Denis
>>
>> чт, 30 авг. 2018 г. в 9:14, Saby :
>>
>>> ScanQuery is reporting the following exception while trying to fetch the
>>> data
>>> from remote Ignite Server through the Java thing client keeping the
>>> peerClassLoading is enabled, But SqlQuery is fetching the correct result
>>> and
>>> is sending it back to the client.
>>> If Lamda expression is used as filter in the ScanQuery then Ignite Server
>>> reporting "java.lang.IllegalArgumentException: Invalid lambda
>>> deserialization"
>>>
>>> Is there any way to use ScanQuery to fetch data from remote server using
>>> Thin Client without copying jar(s) to the remote server(s)?
>>>
>>> public class Predicate implements IgniteBiPredicate
>>> {
>>> public boolean apply(K e1, V e2) {
>>> return true;
>>> }
>>> }
>>>
>>>
>>> [10:48:39,126][SEVERE][client-connector-#65][ClientListenerNioListener]
>>> Failed to process client request
>>>
>>> [req=o.a.i.i.processors.platform.client.cache.ClientCacheScanQueryRequest@504d875d
>>> ]
>>> class org.apache.ignite.binary.BinaryInvalidTypeException:
>>> XXX.datamigration.imdg.abstractionlayer.connections.impl.ignite.Predicate
>>> at
>>>
>>> org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:697)
>>> at
>>>
>>> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1755)
>>> at
>>>
>>> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1714)
>>> at
>>>
>>> org.apache.ignite.internal.binary.BinaryObjectImpl.deserializeValue(BinaryObjectImpl.java:798)
>>> at
>>>
>>> org.apache.ignite.internal.binary.BinaryObjectImpl.deserialize(BinaryObjectImpl.java:640)
>>> at
>>>
>>> org.apache.ignite.internal.processors.platform.client.cache.ClientCacheScanQueryRequest.createFilter(ClientCacheScanQueryRequest.java:126)
>>> at
>>>
>>> org.apache.ignite.internal.processors.platform.client.cache.ClientCacheScanQueryRequest.process(ClientCacheScanQueryRequest.java:92)
>>> at
>>>
>>> org.apache.ignite.internal.processors.platform.client.ClientRequestHandler.handle(ClientRequestHandler.java:57)
>>> at
>>>
>>> org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:160)
>>> at
>>>
>>> org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:44)
>>> at
>>>
>>> org.apache.ignite.internal.util.nio.GridNioFilterChain$TailFilter.onMessageReceived(GridNioFilterChain.java:279)
>>> at
>>>
>>> org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:109)
>>> at
>>>
>>> org.apache.ignite.internal.util.nio.GridNioAsyncNotifyFilter$3.body(GridNioAsyncNotifyFilter.java:97)
>>> at
>>>
>>> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>>> at
>>>
>>> org.apache.ignite.internal.util.worker.GridWorkerPool$1.run(GridWorkerPool.java:70)
>>> at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown
>>> Source)
>>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
>>> Source)
>>> at java.lang.Thread.run(Unknown Source)
>>> Caused by: java.lang.ClassNotFoundException:
>>> XXX.datamigration.imdg.abstractionlayer.connections.impl.ignite.Predicate
>>> at java.net.URLClassLoader.findClass(Unknown Source)
>>> at java.lang.ClassLoader.loadClass(Unknown Source)
>>> at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
>>> at java.lang.ClassLoader.loadClass(Unknown Source)
>>> at java.lang.Class.forName0(Native Method)
>>> at java.lang.Class.forName(Unknown Source)
>>> at
>>>
>>> org.apache.ignite.internal.util.IgniteUtils.forName(IgniteUtils.java:8608)
>>> at
>>>
>>> org.apache.ignite.internal.MarshallerContextImpl.getClass(MarshallerContextImpl.java:349)
>>> at
>>>
>>> org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:688)
>>>
>>>
>>>
>>>
>>> --
>>> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>>>
>>


Re: ScanQuery throwing Exception for java Thin client while peerclassloading is enabled

2018-08-30 Thread Serty J
Hello Danis,
Thanks for your reply, but SqlQuery is working fine, is there any
difference in P2P class loading mechanism between  SqlQuery and ScanQuery?
Thanks
Saby

On Thu, Aug 30, 2018 at 1:44 PM Denis Mekhanikov 
wrote:

> The client protocol doesn't imply P2P class loading.
> So, you need to provide the implementation of the scan query on the server
> side.
> P2P class loading works only for regular nodes, server or client as well.
>
> Denis
>
> чт, 30 авг. 2018 г. в 9:14, Saby :
>
>> ScanQuery is reporting the following exception while trying to fetch the
>> data
>> from remote Ignite Server through the Java thing client keeping the
>> peerClassLoading is enabled, But SqlQuery is fetching the correct result
>> and
>> is sending it back to the client.
>> If Lamda expression is used as filter in the ScanQuery then Ignite Server
>> reporting "java.lang.IllegalArgumentException: Invalid lambda
>> deserialization"
>>
>> Is there any way to use ScanQuery to fetch data from remote server using
>> Thin Client without copying jar(s) to the remote server(s)?
>>
>> public class Predicate implements IgniteBiPredicate
>> {
>> public boolean apply(K e1, V e2) {
>> return true;
>> }
>> }
>>
>>
>> [10:48:39,126][SEVERE][client-connector-#65][ClientListenerNioListener]
>> Failed to process client request
>>
>> [req=o.a.i.i.processors.platform.client.cache.ClientCacheScanQueryRequest@504d875d
>> ]
>> class org.apache.ignite.binary.BinaryInvalidTypeException:
>> XXX.datamigration.imdg.abstractionlayer.connections.impl.ignite.Predicate
>> at
>>
>> org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:697)
>> at
>>
>> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1755)
>> at
>>
>> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1714)
>> at
>>
>> org.apache.ignite.internal.binary.BinaryObjectImpl.deserializeValue(BinaryObjectImpl.java:798)
>> at
>>
>> org.apache.ignite.internal.binary.BinaryObjectImpl.deserialize(BinaryObjectImpl.java:640)
>> at
>>
>> org.apache.ignite.internal.processors.platform.client.cache.ClientCacheScanQueryRequest.createFilter(ClientCacheScanQueryRequest.java:126)
>> at
>>
>> org.apache.ignite.internal.processors.platform.client.cache.ClientCacheScanQueryRequest.process(ClientCacheScanQueryRequest.java:92)
>> at
>>
>> org.apache.ignite.internal.processors.platform.client.ClientRequestHandler.handle(ClientRequestHandler.java:57)
>> at
>>
>> org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:160)
>> at
>>
>> org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:44)
>> at
>>
>> org.apache.ignite.internal.util.nio.GridNioFilterChain$TailFilter.onMessageReceived(GridNioFilterChain.java:279)
>> at
>>
>> org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:109)
>> at
>>
>> org.apache.ignite.internal.util.nio.GridNioAsyncNotifyFilter$3.body(GridNioAsyncNotifyFilter.java:97)
>> at
>> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>> at
>>
>> org.apache.ignite.internal.util.worker.GridWorkerPool$1.run(GridWorkerPool.java:70)
>> at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown
>> Source)
>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
>> Source)
>> at java.lang.Thread.run(Unknown Source)
>> Caused by: java.lang.ClassNotFoundException:
>> XXX.datamigration.imdg.abstractionlayer.connections.impl.ignite.Predicate
>> at java.net.URLClassLoader.findClass(Unknown Source)
>> at java.lang.ClassLoader.loadClass(Unknown Source)
>> at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
>> at java.lang.ClassLoader.loadClass(Unknown Source)
>> at java.lang.Class.forName0(Native Method)
>> at java.lang.Class.forName(Unknown Source)
>> at
>> org.apache.ignite.internal.util.IgniteUtils.forName(IgniteUtils.java:8608)
>> at
>>
>> org.apache.ignite.internal.MarshallerContextImpl.getClass(MarshallerContextImpl.java:349)
>> at
>>
>> org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:688)
>>
>>
>>
>>
>> --
>> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>>
>


Re: ScanQuery throwing Exception for java Thin client while peerclassloading is enabled

2018-08-30 Thread Denis Mekhanikov
The client protocol doesn't imply P2P class loading.
So, you need to provide the implementation of the scan query on the server
side.
P2P class loading works only for regular nodes, server or client as well.

Denis

чт, 30 авг. 2018 г. в 9:14, Saby :

> ScanQuery is reporting the following exception while trying to fetch the
> data
> from remote Ignite Server through the Java thing client keeping the
> peerClassLoading is enabled, But SqlQuery is fetching the correct result
> and
> is sending it back to the client.
> If Lamda expression is used as filter in the ScanQuery then Ignite Server
> reporting "java.lang.IllegalArgumentException: Invalid lambda
> deserialization"
>
> Is there any way to use ScanQuery to fetch data from remote server using
> Thin Client without copying jar(s) to the remote server(s)?
>
> public class Predicate implements IgniteBiPredicate
> {
> public boolean apply(K e1, V e2) {
> return true;
> }
> }
>
>
> [10:48:39,126][SEVERE][client-connector-#65][ClientListenerNioListener]
> Failed to process client request
>
> [req=o.a.i.i.processors.platform.client.cache.ClientCacheScanQueryRequest@504d875d
> ]
> class org.apache.ignite.binary.BinaryInvalidTypeException:
> XXX.datamigration.imdg.abstractionlayer.connections.impl.ignite.Predicate
> at
>
> org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:697)
> at
>
> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1755)
> at
>
> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1714)
> at
>
> org.apache.ignite.internal.binary.BinaryObjectImpl.deserializeValue(BinaryObjectImpl.java:798)
> at
>
> org.apache.ignite.internal.binary.BinaryObjectImpl.deserialize(BinaryObjectImpl.java:640)
> at
>
> org.apache.ignite.internal.processors.platform.client.cache.ClientCacheScanQueryRequest.createFilter(ClientCacheScanQueryRequest.java:126)
> at
>
> org.apache.ignite.internal.processors.platform.client.cache.ClientCacheScanQueryRequest.process(ClientCacheScanQueryRequest.java:92)
> at
>
> org.apache.ignite.internal.processors.platform.client.ClientRequestHandler.handle(ClientRequestHandler.java:57)
> at
>
> org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:160)
> at
>
> org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:44)
> at
>
> org.apache.ignite.internal.util.nio.GridNioFilterChain$TailFilter.onMessageReceived(GridNioFilterChain.java:279)
> at
>
> org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:109)
> at
>
> org.apache.ignite.internal.util.nio.GridNioAsyncNotifyFilter$3.body(GridNioAsyncNotifyFilter.java:97)
> at
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
> at
>
> org.apache.ignite.internal.util.worker.GridWorkerPool$1.run(GridWorkerPool.java:70)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown
> Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
> Source)
> at java.lang.Thread.run(Unknown Source)
> Caused by: java.lang.ClassNotFoundException:
> XXX.datamigration.imdg.abstractionlayer.connections.impl.ignite.Predicate
> at java.net.URLClassLoader.findClass(Unknown Source)
> at java.lang.ClassLoader.loadClass(Unknown Source)
> at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
> at java.lang.ClassLoader.loadClass(Unknown Source)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Unknown Source)
> at
> org.apache.ignite.internal.util.IgniteUtils.forName(IgniteUtils.java:8608)
> at
>
> org.apache.ignite.internal.MarshallerContextImpl.getClass(MarshallerContextImpl.java:349)
> at
>
> org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:688)
>
>
>
>
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>


ScanQuery throwing Exception for java Thin client while peerclassloading is enabled

2018-08-30 Thread Saby
ScanQuery is reporting the following exception while trying to fetch the data
from remote Ignite Server through the Java thing client keeping the
peerClassLoading is enabled, But SqlQuery is fetching the correct result and
is sending it back to the client. 
If Lamda expression is used as filter in the ScanQuery then Ignite Server
reporting "java.lang.IllegalArgumentException: Invalid lambda
deserialization"

Is there any way to use ScanQuery to fetch data from remote server using
Thin Client without copying jar(s) to the remote server(s)?

public class Predicate implements IgniteBiPredicate
{
public boolean apply(K e1, V e2) {
return true;
}
}


[10:48:39,126][SEVERE][client-connector-#65][ClientListenerNioListener]
Failed to process client request
[req=o.a.i.i.processors.platform.client.cache.ClientCacheScanQueryRequest@504d875d]
class org.apache.ignite.binary.BinaryInvalidTypeException:
XXX.datamigration.imdg.abstractionlayer.connections.impl.ignite.Predicate
at
org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:697)
at
org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1755)
at
org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1714)
at
org.apache.ignite.internal.binary.BinaryObjectImpl.deserializeValue(BinaryObjectImpl.java:798)
at
org.apache.ignite.internal.binary.BinaryObjectImpl.deserialize(BinaryObjectImpl.java:640)
at
org.apache.ignite.internal.processors.platform.client.cache.ClientCacheScanQueryRequest.createFilter(ClientCacheScanQueryRequest.java:126)
at
org.apache.ignite.internal.processors.platform.client.cache.ClientCacheScanQueryRequest.process(ClientCacheScanQueryRequest.java:92)
at
org.apache.ignite.internal.processors.platform.client.ClientRequestHandler.handle(ClientRequestHandler.java:57)
at
org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:160)
at
org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:44)
at
org.apache.ignite.internal.util.nio.GridNioFilterChain$TailFilter.onMessageReceived(GridNioFilterChain.java:279)
at
org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:109)
at
org.apache.ignite.internal.util.nio.GridNioAsyncNotifyFilter$3.body(GridNioAsyncNotifyFilter.java:97)
at
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
at
org.apache.ignite.internal.util.worker.GridWorkerPool$1.run(GridWorkerPool.java:70)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException:
XXX.datamigration.imdg.abstractionlayer.connections.impl.ignite.Predicate
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at
org.apache.ignite.internal.util.IgniteUtils.forName(IgniteUtils.java:8608)
at
org.apache.ignite.internal.MarshallerContextImpl.getClass(MarshallerContextImpl.java:349)
at
org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:688)




--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/