[
https://issues.apache.org/jira/browse/IGNITE-9381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16626974#comment-16626974
]
Alexey Goncharuk commented on IGNITE-9381:
------------------------------------------
[~antonovsergey93],
1) {{Stream.of(sampleClassName(), deployedClassMap().keySet().stream())}} will
create a stream from two elements, the sample class name and the stream from
the key set. Your code will end up with {{toString()}} being called on the
second stream and passing it to the {{U.clearClassFromCache}}. A simple {{for}}
loop would be enough here, in my opinion.
2) You added a new class creation to the constructor of the predicate. This
will never be called on remote node because the predicate is {{Serializable}}
and constructors are not called during the object deserialization. Please add a
separate predicate for this test and create a new object inside {{apply()}}
method of the predicate.
> p2p does not undeploy ScanQuery IgniteBiPredicate filter on client node
> disconnect
> ----------------------------------------------------------------------------------
>
> Key: IGNITE-9381
> URL: https://issues.apache.org/jira/browse/IGNITE-9381
> Project: Ignite
> Issue Type: Bug
> Reporter: Andrew Medvedev
> Assignee: Sergey Antonov
> Priority: Major
> Fix For: 2.7
>
> Attachments: AndmedScanFilterClassLoadingTest.java, snapshots.xml
>
>
> Once deployed via scan query, an IgniteBiPredicate filter does not change if
> client reconnects (with a modified filter)
> Steps to reproduce:
> * start server node in separate jvm with attached configuration (persistence
> enabled)
> * run attached reproducer AndmedScanFilterClassLoadingTest. It includes a
> task and a scan filter, both print "FOO" on server side
> * modify FOO -> BAR for both
> * re-run modifed AndmedScanFilterClassLoadingTest .
> Expected: Both print "BAR".
> Actual behavior: task prints "BAR", scan filter prints "FOO"
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)