Hello! I'm not familiar with these areas very much, but if you had a reproducer project I could take a look.
Regards, -- Ilya Kasnacheev пн, 17 сент. 2018 г. в 19:32, Dave Harvey <[email protected]>: > I probably did not explain this clearly. When sending a message from > server to client using the message grid, from a context unrelated to any > client call, the server, as you would expect uses its installed libraries, > and userVersion 0. For some reason, when the client receives this > message, it require that the user version match it's current user version. > > The use case is we have a stable set of libraries on the server, and the > server wants to send a topic based message to the client, using only the > type "String". Unrelated to this, the client is using the compute grid, > where P2P is used, but that is interfering with basic functionality. > This, IGNITE-7905 <https://issues.apache.org/jira/browse/IGNITE-7905> , > and the paucity of results when I google for "ignite userVersion" makes > it clear that shooting down classes in CONTINUOUS mode with userVersion is > not completely thought through. We certainly never want to set a > userVersion on the servers. > > The documentation for P2P says: > " > > 1. Ignite will check if class is available on local classpath (i.e. if > it was loaded at system startup), and if it was, it will be returned. No > class loading from a peer node will take place in this case." > > Clearly, java.lang.String is on the local class path. So it seems like > a user version mismatch should not be a reason to reject a class that is on > the local classpath. > > On Mon, Sep 17, 2018 at 11:01 AM Ilya Kasnacheev < > [email protected]> wrote: > >> Hello! >> >> I think that Ignite cannot unload old version of code, unless it is >> loaded with something like URI deployment module. >> Version checking is there but server can't get rid of old code if it's on >> classpath. >> >> Regards, >> -- >> Ilya Kasnacheev >> >> >> пн, 17 сент. 2018 г. в 16:47, Dave Harvey <[email protected]>: >> >>> We have a client that uses the compute grid and message grid, as well as >>> the discovery API. It communicates with a server plugin. The cluster is >>> configured for CONTINUOUS peer class loading. In order to force the proper >>> code to be loaded for the compute tasks, we change the user version, e.g., >>> to 2. >>> >>> If the server sends the client a message on the message grid, using >>> java.lang.string, the client fails because the user version sent for >>> java.lang.string is 0, but the client insists on 2. >>> >>> How is this supposed to work? Our expectation was that the message >>> grid should not be affected by peer class loading settings. >>> >>> >>> >>> >>> *Disclaimer* >>> >>> The information contained in this communication from the sender is >>> confidential. It is intended solely for use by the recipient and others >>> authorized to receive it. If you are not the recipient, you are hereby >>> notified that any disclosure, copying, distribution or taking action in >>> relation of the contents of this information is strictly prohibited and may >>> be unlawful. >>> >>> This email has been scanned for viruses and malware, and may have been >>> automatically archived by *Mimecast Ltd*, an innovator in Software as a >>> Service (SaaS) for business. Providing a *safer* and *more useful* >>> place for your human generated data. Specializing in; Security, archiving >>> and compliance. To find out more Click Here >>> <http://www.mimecast.com/products/>. >>> >> > > *Disclaimer* > > The information contained in this communication from the sender is > confidential. It is intended solely for use by the recipient and others > authorized to receive it. If you are not the recipient, you are hereby > notified that any disclosure, copying, distribution or taking action in > relation of the contents of this information is strictly prohibited and may > be unlawful. > > This email has been scanned for viruses and malware, and may have been > automatically archived by *Mimecast Ltd*, an innovator in Software as a > Service (SaaS) for business. Providing a *safer* and *more useful* place > for your human generated data. Specializing in; Security, archiving and > compliance. To find out more Click Here > <http://www.mimecast.com/products/>. >
