Re: Server Node comes down with : (err) Failed to notify listener: GridDhtTxPrepareFuture Error

2020-03-27 Thread VeenaMithare
>>As a temporary solution you can stop relying on peer class loading for
continuous queries and provide the code of remote filters to the classpath
of server nodes.

Yes.. I was thinking of a solution on similar lines. Thank you for the
reply.




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


Re: Server Node comes down with : (err) Failed to notify listener: GridDhtTxPrepareFuture Error

2020-03-26 Thread Denis Mekhanikov
Thanks for the report!

The issue here is that a remote filter for a continuous query is loaded
using peer class loading, and other classes that this remote filter depends
on can be lazily loaded during its work.
Loading every dependency class involves going to the node where the
originating class was loading from, and asking that node to send missing
classes over the network.
The issues begin when this node is not in the cluster anymore, and the
continuous query wasn't undeployed yet.
A server sends a request for a class to a node that is not available, but
wasn't kicked out of the topology yet, since a failure detection timeout
hasn't elapsed yet.
It leads to a NoClasDefFound exception that you observe in the logs.

The biggest issue here is that this exception triggers a failure handler
that makes the whole node go down.
I would expect that only one request would fail, but not the whole node.

As a temporary solution you can stop relying on peer class loading for
continuous queries and provide the code of remote filters to the classpath
of server nodes.
This way no lazy class loading will be performed over the network since
they will all be available locally.

Denis

пт, 13 мар. 2020 г. в 20:39, VeenaMithare :

> Raised this jira :
> https://issues.apache.org/jira/browse/IGNITE-12784
>
> Observed in 2.7.6. Unable to easily test in 2.8.0 because of other issues.
> One of them being -
>
> http://apache-ignite-users.70518.x6.nabble.com/2-8-0-JDBC-Thin-Client-Unable-to-load-the-tables-via-DBeaver-td31681.html
> Please note this happens
>
>
>
> --
> Sent from: http://apache-ignite-developers.2346864.n4.nabble.com/
>


Re: Server Node comes down with : (err) Failed to notify listener: GridDhtTxPrepareFuture Error

2020-03-13 Thread VeenaMithare
Raised this jira : 
https://issues.apache.org/jira/browse/IGNITE-12784

Observed in 2.7.6. Unable to easily test in 2.8.0 because of other issues.
One of them being - 
http://apache-ignite-users.70518.x6.nabble.com/2-8-0-JDBC-Thin-Client-Unable-to-load-the-tables-via-DBeaver-td31681.html
Please note this happens 



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


[jira] [Created] (IGNITE-12784) Server Node comes down with : (err) Failed to notify listener: GridDhtTxPrepareFuture Error

2020-03-13 Thread Veena Mithare (Jira)
Veena Mithare created IGNITE-12784:
--

 Summary: Server Node comes down with : (err) Failed to notify 
listener: GridDhtTxPrepareFuture Error
 Key: IGNITE-12784
 URL: https://issues.apache.org/jira/browse/IGNITE-12784
 Project: Ignite
  Issue Type: Bug
Affects Versions: 2.7.6
Reporter: Veena Mithare


We have a 3 node server cluster ( Issue observed in 2.7.6, could not test in 
2.8.0 because I am unable to bring up the dbeaver in 2.8.0 with securityplugin 
enabled 
)([http://apache-ignite-users.70518.x6.nabble.com/2-8-0-JDBC-Thin-Client-Unable-to-load-the-tables-via-DBeaver-td31681.html])

A 4th node joins as a client with a continuous query on a Table A(
Transaction_mode = transactional ).

Now If I bring the client down and issue an update to the Table A within
failureDetectionTimeout 3 , I get the following error and *this error*
*brings the server down:*

"(err) Failed to notify listener: GridDhtTxPrepareFuture Error"
===
Basically the server , tries to update the record on the Table A, and tries
to  notify Client since it had registered a continuous query for Table A.  
But since the Client Node has been brought down, it undeploys the
remotefilterfactory lambda. Hence the server is no longer able to complete the
transaction .

*/This also brings the server down./
*
How can I resolve this issue ?
===
Please find the complete stack trace for this error :
2020-03-13 17:13:40,145 [sys-stripe-19-#20] ERROR [] - Critical system error 
detected. Will be handled accordingly to configured handler 
[hnd=StopNodeOrHaltFailureHandler [tryStop=false, timeout=0, 
super=AbstractFailureHandler [ignoredFailureTypes=[SYSTEM_WORKER_BLOCKED, 
SYSTEM_CRITICAL_OPERATION_TIMEOUT]]], failureCtx=FailureContext 
[type=CRITICAL_ERROR, err=java.lang.NoClassDefFoundError: 
com/companyname/projectname/Module/helper/ContinuousQueryHelper]]
java.lang.NoClassDefFoundError: 
com/companyname/projectname/Module/helper/ContinuousQueryHelper
 at 
com.companyname.projectname.Module.helper.ContinuousQueryHelper$ModuleTableRemoteFilterFactory$1.evaluate(ContinuousQueryHelper.java:289)
 ~[?:?]
 at 
org.apache.ignite.internal.processors.cache.query.continuous.CacheContinuousQueryHandler.filter(CacheContinuousQueryHandler.java:833)
 ~[ignite-core-2.7.6.jar:2.7.6]
 at 
org.apache.ignite.internal.processors.cache.query.continuous.CacheContinuousQueryHandler$2.onEntryUpdated(CacheContinuousQueryHandler.java:422)
 ~[ignite-core-2.7.6.jar:2.7.6]
 at 
org.apache.ignite.internal.processors.cache.query.continuous.CacheContinuousQueryManager.onEntryUpdated(CacheContinuousQueryManager.java:426)
 ~[ignite-core-2.7.6.jar:2.7.6]
 at 
org.apache.ignite.internal.processors.cache.GridCacheMapEntry.innerSet(GridCacheMapEntry.java:1584)
 ~[ignite-core-2.7.6.jar:2.7.6]
 at 
org.apache.ignite.internal.processors.cache.transactions.IgniteTxLocalAdapter.userCommit(IgniteTxLocalAdapter.java:741)
 ~[ignite-core-2.7.6.jar:2.7.6]
 at 
org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal.localFinish(GridNearTxLocal.java:3646)
 ~[ignite-core-2.7.6.jar:2.7.6]
 at 
org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxFinishFuture.doFinish(GridNearTxFinishFuture.java:475)
 ~[ignite-core-2.7.6.jar:2.7.6]
 at 
org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxFinishFuture.finish(GridNearTxFinishFuture.java:425)
 ~[ignite-core-2.7.6.jar:2.7.6]
 at 
org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal$25.apply(GridNearTxLocal.java:3788)
 ~[ignite-core-2.7.6.jar:2.7.6]
 at 
org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal$25.apply(GridNearTxLocal.java:3782)
 ~[ignite-core-2.7.6.jar:2.7.6]
 at 
org.apache.ignite.internal.util.future.GridFutureAdapter.notifyListener(GridFutureAdapter.java:385)
 ~[ignite-core-2.7.6.jar:2.7.6]
 at 
org.apache.ignite.internal.util.future.GridFutureAdapter.unblock(GridFutureAdapter.java:349)
 ~[ignite-core-2.7.6.jar:2.7.6]
 at 
org.apache.ignite.internal.util.future.GridFutureAdapter.unblockAll(GridFutureAdapter.java:337)
 ~[ignite-core-2.7.6.jar:2.7.6]
 at 
org.apache.ignite.internal.util.future.GridFutureAdapter.onDone(GridFutureAdapter.java:497)
 ~[ignite-core-2.7.6.jar:2.7.6]
 at 
org.apache.ignite.internal.processors.cache.GridCacheCompoundFuture.onDone(GridCacheCompoundFuture.java:56)
 ~[ignite-core-2.7.6.jar:2.7.6]
 at 
org.apache.ignite.internal.util.future.GridFutureAdapter.onDone(GridFutureAdapter.java:476)
 ~[ignite-core-2.7.6.jar:2.7.6]
 at 
org.apache.ignite.internal.processors.cache.distributed.near.GridNearOptimisticTxPrepareFuture.onComplete(GridNearOptimisticTxPrepareFuture.java:307)
 ~[ignite-core-2.7.6.jar:2.7.6]
 at 
org.apache.ignite.internal.processors.cache.distributed.near.GridNearOptimisticTxPrepareFut

Re: Server Node comes down with : (err) Failed to notify listener: GridDhtTxPrepareFuture Error

2020-03-12 Thread Ilya Kasnacheev
Hello!

But why the node was down?

Was it due to failure handler? Unhandled exception in critical thread?
Anything else? Did you find any work-around?

I have not heard about Continuous Query issues such as the one you are
describing, and I suggest filing an IGNITE ticket with details.

Regards,
-- 
Ilya Kasnacheev


чт, 12 мар. 2020 г. в 16:39, VeenaMithare :

> Hi ,
>
> Did anyone get a chance to look at this ?
> Summary of the issue I am facing. :
>
> We have a 3 node server cluster
>
> A 4th node joins as a client with a continuous query on a Table A(
> Transaction_mode = transactional ).
>
> Now If I bring the client down and issue an update to the Table A within
> failureDetectionTimeout 3 , I get the following error and */this error
> brings the server down/*:
>
> "(err) Failed to notify listener: GridDhtTxPrepareFuture Error"
> ===
> Basically the server , tries to update the record on the Table A, and tries
> to  notify Client since it had registered a continuous query for Table A.
> But since the Client Node has been brought down, it undeploys the
> remotefilterfactory lambda. Hence the server is no longer able to complete
> the
> transaction .
>
> */This also brings the server down./
> *
> regards,
> Veena.
>
>
>
> --
> Sent from: http://apache-ignite-developers.2346864.n4.nabble.com/
>


Re: Server Node comes down with : (err) Failed to notify listener: GridDhtTxPrepareFuture Error

2020-03-12 Thread VeenaMithare
Hi , 

Did anyone get a chance to look at this ?
Summary of the issue I am facing. :

We have a 3 node server cluster

A 4th node joins as a client with a continuous query on a Table A(
Transaction_mode = transactional ).

Now If I bring the client down and issue an update to the Table A within
failureDetectionTimeout 3 , I get the following error and */this error
brings the server down/*:

"(err) Failed to notify listener: GridDhtTxPrepareFuture Error"
===
Basically the server , tries to update the record on the Table A, and tries
to  notify Client since it had registered a continuous query for Table A.  
But since the Client Node has been brought down, it undeploys the
remotefilterfactory lambda. Hence the server is no longer able to complete
the
transaction .

*/This also brings the server down./
*
regards,
Veena.



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


Server Node comes down with : (err) Failed to notify listener: GridDhtTxPrepareFuture Error

2020-03-11 Thread VeenaMithare
Hi Team, 

We have a 3 node server cluster 

A 4th node joins as a client with a continuous query on a Table A(
Transaction_mode = transactional ). 

Now If I bring the client down and issue an update to the Table A within
failureDetectionTimeout 3 , I get the following error and */this error
brings the server down/*: 

"(err) Failed to notify listener: GridDhtTxPrepareFuture Error"
===
Basically the server , tries to update the record on the Table A, and tries
to  notify Client since it had registered a continuous query for Table A.  
But since the Client Node has been brought down, and it undeploys the
remotefilterfactory lambda, and the server is no longer able to complete the
transaction . 

*/This also brings the server down./ 
*
How can I resolve this issue ?
===
Please find the complete stack trace for this error : 

[12:14:12] (err) Failed to notify listener: GridDhtTxPrepareFuture
[futId=0a69e79c071-93faf34d-a776-4166-9f3b-4b5a0f54b8f9, err=null,
replied=1, mapped=1, req=GridNearTxPrepareRequest
[futId=4250e79c071-51438f4f-c061-45f7-b34e-57c90f2055e9, miniId=1,
topVer=AffinityTopologyVersion [topVer=7, minorTopVer=0],
subjId=da486d0b-36a1-43d4-b05b-47d126fd880e, taskNameHash=0,
flags=[implicitSingle], super=GridDistributedTxPrepareRequest [threadId=382,
concurrency=OPTIMISTIC, isolation=READ_COMMITTED, writeVer=GridCacheVersion
[topVer=195408427, order=1583928843624, nodeOrder=1], timeout=1000,
reads=null, writes=[IgniteTxEntry [key=ABCKEY [idHash=1413504800,
hash=-1419375634, VALUETYPE=somevaluetype, NAME=TEST4375234],
cacheId=-1512899836, txKey=IgniteTxKey [key=ABCKEY [idHash=1413504800,
hash=-1419375634, VALUETYPE=somevaluetype, NAME=TEST4375234],
cacheId=-1512899836], val=[op=CREATE, val=ABC [idHash=108633195,
hash=-965148880, ACTIVE=true, MODIFICATIONDATE=2020-02-03 18:29:03.501,
VALUETYPE=null, SCHEMAREF=null, VALUE=DEV, MACHINENAME=null, COMMENT=null,
NAME=null, APPLICATIONNAME=null, SCHEMANAME=null, KEYNAME=ENVIRONMENT,
USERNAME=null, INTERNALVERSION=null, MODIFICATIONTYPE=null]],
prevVal=[op=NOOP, val=null], oldVal=[op=NOOP, val=null],
entryProcessorsCol=null, ttl=-1, conflictExpireTime=-1, conflictVer=null,
explicitVer=null, dhtVer=null,
filters=[o.a.i.i.processors.cache.CacheEntrySerializablePredicate@388c822f],
filtersPassed=false, filtersSet=false, entry=GridDhtCacheEntry [rdrs=[],
part=136, super=GridDistributedCacheEntry [super=GridCacheMapEntry
[key=ABCKEY [idHash=1413504800, hash=-1419375634, VALUETYPE=somevaluetype,
NAME=TEST4375234], val=null, ver=GridCacheVersion [topVer=195408427,
order=1583928843625, nodeOrder=4], hash=-1419375634,
extras=GridCacheObsoleteEntryExtras [obsoleteVer=GridCacheVersion
[topVer=2147483647, order=0, nodeOrder=0]], flags=2]]], prepared=1,
locked=false, nodeId=null, locMapped=false, expiryPlc=null,
transferExpiryPlc=false, flags=2, partUpdateCntr=0, serReadVer=null,
xidVer=null]], dhtVers=null, txSize=0, plc=2,
txState=IgniteTxImplicitSingleStateImpl [init=true, recovery=false],
flags=onePhase|last, super=GridDistributedBaseMessage [ver=GridCacheVersion
[topVer=195408427, order=1583928843624, nodeOrder=1], committedVers=null,
rolledbackVers=null, cnt=0, super=GridCacheIdMessage [cacheId=0,
trackable=true, nearMiniId=1, last=true, retVal=false, ret=GridCacheReturn
[v=null, cacheObj=null, success=true, invokeRes=false, loc=false,
cacheId=0], lockKeys=[], forceKeysFut=null, locksReady=true, invoke=false,
timeoutObj=PrepareTimeoutObject [timeout=1000], xid=GridCacheVersion
[topVer=195408427, order=1583928843625, nodeOrder=4],
innerFuts=[[node=da486d0b-36a1-43d4-b05b-47d126fd880e, loc=false,
done=true]], super=GridCompoundFuture
[rdc=o.a.i.i.processors.cache.distributed.dht.GridDhtTxPrepareFuture$1@73415bf,
initFlag=1, lsnrCalls=1, done=true, cancelled=false, err=null,
futs=[true]]]java.lang.NoClassDefFoundError:
com/companyname/abc/configstore/helper/ContinuousQueryHelper
at
com.companyname.abc.configstore.helper.ContinuousQueryHelper$ConfigStoreTableRemoteFilterFactory$1.evaluate(ContinuousQueryHelper.java:293)
at
org.apache.ignite.internal.processors.cache.query.continuous.CacheContinuousQueryHandler.filter(CacheContinuousQueryHandler.java:833)
at
org.apache.ignite.internal.processors.cache.query.continuous.CacheContinuousQueryHandler$2.onEntryUpdated(CacheContinuousQueryHandler.java:422)
at
org.apache.ignite.internal.processors.cache.query.continuous.CacheContinuousQueryManager.onEntryUpdated(CacheContinuousQueryManager.java:426)
at
org.apache.ignite.internal.processors.cache.GridCacheMapEntry.innerSet(GridCacheMapEntry.java:1584)
at
org.apache.ignite.internal.processors.cache.transactions.IgniteTxLocalAdapter.userCommit(IgniteTxLocalAdapter.java:741)
at
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxLocalAdapter.localFinish(GridDhtTxLocalAdapter.java:796)
at