You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by Yakov Zhdanov <yz...@apache.org> on 2015/06/02 12:03:44 UTC

Re: Failed to unmarshal service method arguments

Hi! I reproduced the issue and filed a ticket:
https://issues.apache.org/jira/browse/IGNITE-976

In the meantime, turn off peer-loading and make all classes available on
all nodes. This configuration is much better from performance standpoint
and is recommended in production.

I am also cross-posting this thread to dev list in order to raise a
question - should services support peer-deployment? My answer is no.
Service may be implemented in the way that missing classes may be required
after master node leaves, but service may be configured to stay after
master leaves. So, even CONTINUOUS deployment mode does not help.




--Yakov

2015-06-02 2:36 GMT+03:00 tcostasouza <tc...@gmail.com>:

> Hello,
>
> It seems that, even with peer class loading enabled, Ignite is searching
> for
> a Service's method argument classes from it's root classpath. Consider de
> following example:
>
>
>
> Now, start 2 Ignite nodes with peer class loading enabled. From one node,
> deploy and invoke service:
>
>
> Invocation will fail with Ignite complaining that it couldn't find
> TestServiceImpl class in sun.misc.Launcher$AppClassLoader (full log  here
> <
> http://apache-ignite-users.70518.x6.nabble.com/file/n437/ignite_exception.log
> >
> )
>
> Now, if I change from TestService.execute(TestRequest) to something like
> TestService.execute(int), then it works as expected.
>
> Any clue?
>
> Thanks
>
>
>
>
>
>
> --
> View this message in context:
> http://apache-ignite-users.70518.x6.nabble.com/Failed-to-unmarshal-service-method-arguments-tp437.html
> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
>

Re: Failed to unmarshal service method arguments

Posted by tcostasouza <tc...@gmail.com>.
Hello,

Ok, in the end I do agree with you, peer deployment with services is a bad
idea for production enviroment.

I'm currently building a rest framework on top of Ignite's distributed
services. One of the requirements is to update the services with zero
downtime. Now, I should consider that ignite node should be restarted for
this to work.

Regards

On Tue, Jun 2, 2015 at 11:09 AM dsetrakyan [via Apache Ignite Users] <
ml-node+s70518n445h11@n6.nabble.com> wrote:

> On Tue, Jun 2, 2015 at 3:03 AM, Yakov Zhdanov <[hidden email]
> <http:///user/SendEmail.jtp?type=node&node=445&i=0>> wrote:
>
>> Hi! I reproduced the issue and filed a ticket:
>> https://issues.apache.org/jira/browse/IGNITE-976
>>
>> In the meantime, turn off peer-loading and make all classes available on
>> all nodes. This configuration is much better from performance standpoint
>> and is recommended in production.
>>
>> I am also cross-posting this thread to dev list in order to raise a
>> question - should services support peer-deployment? My answer is no.
>> Service may be implemented in the way that missing classes may be required
>> after master node leaves, but service may be configured to stay after
>> master leaves. So, even CONTINUOUS deployment mode does not help.
>>
>
> I also don't think that services should support peer-deployment. However,
> if users get missing class exceptions for service deployments, a proper
> error message should be given explaining this.
>
>
>>
>>
>>
>>
>> --Yakov
>>
>> 2015-06-02 2:36 GMT+03:00 tcostasouza <[hidden email]
>> <http:///user/SendEmail.jtp?type=node&node=445&i=1>>:
>>
>> > Hello,
>> >
>> > It seems that, even with peer class loading enabled, Ignite is searching
>> > for
>> > a Service's method argument classes from it's root classpath. Consider
>> de
>> > following example:
>> >
>> >
>> >
>> > Now, start 2 Ignite nodes with peer class loading enabled. From one
>> node,
>> > deploy and invoke service:
>> >
>> >
>> > Invocation will fail with Ignite complaining that it couldn't find
>> > TestServiceImpl class in sun.misc.Launcher$AppClassLoader (full log
>> here
>> > <
>> >
>> http://apache-ignite-users.70518.x6.nabble.com/file/n437/ignite_exception.log
>> > >
>> > )
>> >
>> > Now, if I change from TestService.execute(TestRequest) to something like
>> > TestService.execute(int), then it works as expected.
>> >
>> > Any clue?
>> >
>> > Thanks
>> >
>> >
>> >
>> >
>> >
>> >
>> > --
>> > View this message in context:
>> >
>> http://apache-ignite-users.70518.x6.nabble.com/Failed-to-unmarshal-service-method-arguments-tp437.html
>> > Sent from the Apache Ignite Users mailing list archive at Nabble.com.
>> >
>>
>
>  D.
>
>
> ------------------------------
>  If you reply to this email, your message will be added to the discussion
> below:
>
> http://apache-ignite-users.70518.x6.nabble.com/Failed-to-unmarshal-service-method-arguments-tp437p445.html
>  To unsubscribe from Failed to unmarshal service method arguments, click
> here
> <http://apache-ignite-users.70518.x6.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=437&code=dGNvc3Rhc291emFAZ21haWwuY29tfDQzN3wtMTI3MjQ2NDcyNQ==>
> .
> NAML
> <http://apache-ignite-users.70518.x6.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>




--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/Failed-to-unmarshal-service-method-arguments-tp437p446.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Re: Failed to unmarshal service method arguments

Posted by Dmitriy Setrakyan <ds...@apache.org>.
On Tue, Jun 2, 2015 at 3:03 AM, Yakov Zhdanov <yz...@apache.org> wrote:

> Hi! I reproduced the issue and filed a ticket:
> https://issues.apache.org/jira/browse/IGNITE-976
>
> In the meantime, turn off peer-loading and make all classes available on
> all nodes. This configuration is much better from performance standpoint
> and is recommended in production.
>
> I am also cross-posting this thread to dev list in order to raise a
> question - should services support peer-deployment? My answer is no.
> Service may be implemented in the way that missing classes may be required
> after master node leaves, but service may be configured to stay after
> master leaves. So, even CONTINUOUS deployment mode does not help.
>

I also don't think that services should support peer-deployment. However,
if users get missing class exceptions for service deployments, a proper
error message should be given explaining this.


>
>
>
>
> --Yakov
>
> 2015-06-02 2:36 GMT+03:00 tcostasouza <tc...@gmail.com>:
>
> > Hello,
> >
> > It seems that, even with peer class loading enabled, Ignite is searching
> > for
> > a Service's method argument classes from it's root classpath. Consider de
> > following example:
> >
> >
> >
> > Now, start 2 Ignite nodes with peer class loading enabled. From one node,
> > deploy and invoke service:
> >
> >
> > Invocation will fail with Ignite complaining that it couldn't find
> > TestServiceImpl class in sun.misc.Launcher$AppClassLoader (full log  here
> > <
> >
> http://apache-ignite-users.70518.x6.nabble.com/file/n437/ignite_exception.log
> > >
> > )
> >
> > Now, if I change from TestService.execute(TestRequest) to something like
> > TestService.execute(int), then it works as expected.
> >
> > Any clue?
> >
> > Thanks
> >
> >
> >
> >
> >
> >
> > --
> > View this message in context:
> >
> http://apache-ignite-users.70518.x6.nabble.com/Failed-to-unmarshal-service-method-arguments-tp437.html
> > Sent from the Apache Ignite Users mailing list archive at Nabble.com.
> >
>

Re: Failed to unmarshal service method arguments

Posted by tcostasouza <tc...@gmail.com>.
Hello,

Well, it seems that peer deployment does work with peer class loading. The
problem I described is with method invocation with arguments that includes
classes from the service classpath.

Regards
On Tue, Jun 2, 2015, 08:04 yakov [via Apache Ignite Users] <
ml-node+s70518n440h56@n6.nabble.com> wrote:

> Correct link is https://issues.apache.org/jira/browse/IGNITE-975
>
> --Yakov
>
> 2015-06-02 13:03 GMT+03:00 Yakov Zhdanov <[hidden email]
> <http:///user/SendEmail.jtp?type=node&node=440&i=0>>:
>
>> Hi! I reproduced the issue and filed a ticket:
>> https://issues.apache.org/jira/browse/IGNITE-976
>>
>> In the meantime, turn off peer-loading and make all classes available on
>> all nodes. This configuration is much better from performance standpoint
>> and is recommended in production.
>>
>> I am also cross-posting this thread to dev list in order to raise a
>> question - should services support peer-deployment? My answer is no.
>> Service may be implemented in the way that missing classes may be required
>> after master node leaves, but service may be configured to stay after
>> master leaves. So, even CONTINUOUS deployment mode does not help.
>>
>>
>>
>>
>> --Yakov
>>
>> 2015-06-02 2:36 GMT+03:00 tcostasouza <[hidden email]
>> <http:///user/SendEmail.jtp?type=node&node=440&i=1>>:
>>
>>> Hello,
>>>
>>> It seems that, even with peer class loading enabled, Ignite is searching
>>> for
>>> a Service's method argument classes from it's root classpath. Consider de
>>> following example:
>>>
>>>
>>>
>>> Now, start 2 Ignite nodes with peer class loading enabled. From one node,
>>> deploy and invoke service:
>>>
>>>
>>> Invocation will fail with Ignite complaining that it couldn't find
>>> TestServiceImpl class in sun.misc.Launcher$AppClassLoader (full log  here
>>> <
>>> http://apache-ignite-users.70518.x6.nabble.com/file/n437/ignite_exception.log
>>> >
>>> )
>>>
>>> Now, if I change from TestService.execute(TestRequest) to something like
>>> TestService.execute(int), then it works as expected.
>>>
>>> Any clue?
>>>
>>> Thanks
>>>
>>>
>>>
>>>
>>>
>>>
>>> --
>>> View this message in context:
>>> http://apache-ignite-users.70518.x6.nabble.com/Failed-to-unmarshal-service-method-arguments-tp437.html
>>> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
>>>
>>
>>
> If you reply to this email, your message will be added to the discussion
> below:
>
> http://apache-ignite-users.70518.x6.nabble.com/Failed-to-unmarshal-service-method-arguments-tp437p440.html
>  To unsubscribe from Failed to unmarshal service method arguments, click
> here
> <http://apache-ignite-users.70518.x6.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=437&code=dGNvc3Rhc291emFAZ21haWwuY29tfDQzN3wtMTI3MjQ2NDcyNQ==>
> .
> NAML
> <http://apache-ignite-users.70518.x6.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>




--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/Failed-to-unmarshal-service-method-arguments-tp437p441.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Re: Failed to unmarshal service method arguments

Posted by tcostasouza <tc...@gmail.com>.
Hello,

Well, if you change TestService.execute method to receive an argument that
is reachable from ignite's standard classpath (i.e. an int) and also wait a
bit (e.g. 1sec) between service deployment and TestService.execute
invocation then the method will be properly executed on remote node.

I could successfully run this test with peer class loading enabled and
making sure that the remote node does not contains any of the related
classes.

I'm also running Ignite v1.0.6 (from GridGain's maven repository). I don't
know if this is works with Ignite v1.0.0. Maybe that's the difference.

Regards

On Tue, Jun 2, 2015 at 9:49 AM yakov [via Apache Ignite Users] <
ml-node+s70518n443h49@n6.nabble.com> wrote:

> Disagree. I see exceptions described in the ticket, if peer-node class
> path does not have service implementation class in it.
>
> --Yakov
>
> 2015-06-02 14:46 GMT+03:00 tcostasouza <[hidden email]
> <http:///user/SendEmail.jtp?type=node&node=443&i=0>>:
>
>> Sorry, I meant "service deployment does work with peer deployment"
>>
>> On Tue, Jun 2, 2015, 08:21 Thiago Souza <[hidden email]
>> <http:///user/SendEmail.jtp?type=node&node=442&i=0>> wrote:
>>
> Hello,
>>>
>>> Well, it seems that peer deployment does work with peer class loading.
>>> The problem I described is with method invocation with arguments that
>>> includes classes from the service classpath.
>>>
>>> Regards
>>>
>> On Tue, Jun 2, 2015, 08:04 yakov [via Apache Ignite Users] <[hidden
>>> email] <http:///user/SendEmail.jtp?type=node&node=442&i=1>> wrote:
>>>
>> Correct link is https://issues.apache.org/jira/browse/IGNITE-975
>>>>
>>>> --Yakov
>>>>
>>>> 2015-06-02 13:03 GMT+03:00 Yakov Zhdanov <[hidden email]
>>>> <http:///user/SendEmail.jtp?type=node&node=440&i=0>>:
>>>> Hi! I reproduced the issue and filed a ticket:
>>>> https://issues.apache.org/jira/browse/IGNITE-976
>>>>
>>>> In the meantime, turn off peer-loading and make all classes available
>>>> on all nodes. This configuration is much better from performance standpoint
>>>> and is recommended in production.
>>>>
>>>> I am also cross-posting this thread to dev list in order to raise a
>>>> question - should services support peer-deployment? My answer is no.
>>>> Service may be implemented in the way that missing classes may be required
>>>> after master node leaves, but service may be configured to stay after
>>>> master leaves. So, even CONTINUOUS deployment mode does not help.
>>>>
>>>>
>>>>
>>>>
>>>> --Yakov
>>>>
>>>> 2015-06-02 2:36 GMT+03:00 tcostasouza <[hidden email]
>>>> <http:///user/SendEmail.jtp?type=node&node=440&i=1>>:
>>>> Hello,
>>>>
>>>> It seems that, even with peer class loading enabled, Ignite is
>>>> searching for
>>>> a Service's method argument classes from it's root classpath. Consider
>>>> de
>>>> following example:
>>>>
>>>>
>>>>
>>>> Now, start 2 Ignite nodes with peer class loading enabled. From one
>>>> node,
>>>> deploy and invoke service:
>>>>
>>>>
>>>> Invocation will fail with Ignite complaining that it couldn't find
>>>> TestServiceImpl class in sun.misc.Launcher$AppClassLoader (full log
>>>> here
>>>> <
>>>> http://apache-ignite-users.70518.x6.nabble.com/file/n437/ignite_exception.log
>>>> >
>>>> )
>>>>
>>>> Now, if I change from TestService.execute(TestRequest) to something like
>>>> TestService.execute(int), then it works as expected.
>>>>
>>>> Any clue?
>>>>
>>>> Thanks
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://apache-ignite-users.70518.x6.nabble.com/Failed-to-unmarshal-service-method-arguments-tp437.html
>>>> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
>>>>
>>>
>>>
>> If you reply to this email, your message will be added to the discussion
>>> below:
>>>
>>> http://apache-ignite-users.70518.x6.nabble.com/Failed-to-unmarshal-service-method-arguments-tp437p440.html
>>>  To unsubscribe from Failed to unmarshal service method arguments, click
>>> here.
>>> NAML
>>> <http://apache-ignite-users.70518.x6.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>>>
>>
>> ------------------------------
>> View this message in context: Re: Failed to unmarshal service method
>> arguments
>> <http://apache-ignite-users.70518.x6.nabble.com/Failed-to-unmarshal-service-method-arguments-tp437p442.html>
>>
> Sent from the Apache Ignite Users mailing list archive
>> <http://apache-ignite-users.70518.x6.nabble.com/> at Nabble.com.
>>
> If you reply to this email, your message will be added to the discussion
> below:
>
http://apache-ignite-users.70518.x6.nabble.com/Failed-to-unmarshal-service-method-arguments-tp437p443.html
>  To unsubscribe from Failed to unmarshal service method arguments, click
> here
> <http://apache-ignite-users.70518.x6.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=437&code=dGNvc3Rhc291emFAZ21haWwuY29tfDQzN3wtMTI3MjQ2NDcyNQ==>
> .
> NAML
> <http://apache-ignite-users.70518.x6.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>




--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/Failed-to-unmarshal-service-method-arguments-tp437p444.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Re: Failed to unmarshal service method arguments

Posted by Yakov Zhdanov <yz...@apache.org>.
Disagree. I see exceptions described in the ticket, if peer-node class path
does not have service implementation class in it.

--Yakov

2015-06-02 14:46 GMT+03:00 tcostasouza <tc...@gmail.com>:

> Sorry, I meant "service deployment does work with peer deployment"
>
> On Tue, Jun 2, 2015, 08:21 Thiago Souza <[hidden email]
> <http:///user/SendEmail.jtp?type=node&node=442&i=0>> wrote:
>
>> Hello,
>>
>> Well, it seems that peer deployment does work with peer class loading.
>> The problem I described is with method invocation with arguments that
>> includes classes from the service classpath.
>>
>> Regards
>> On Tue, Jun 2, 2015, 08:04 yakov [via Apache Ignite Users] <[hidden
>> email] <http:///user/SendEmail.jtp?type=node&node=442&i=1>> wrote:
>>
>>> Correct link is https://issues.apache.org/jira/browse/IGNITE-975
>>>
>>> --Yakov
>>>
>>> 2015-06-02 13:03 GMT+03:00 Yakov Zhdanov <[hidden email]
>>> <http:///user/SendEmail.jtp?type=node&node=440&i=0>>:
>>> Hi! I reproduced the issue and filed a ticket:
>>> https://issues.apache.org/jira/browse/IGNITE-976
>>>
>>> In the meantime, turn off peer-loading and make all classes available on
>>> all nodes. This configuration is much better from performance standpoint
>>> and is recommended in production.
>>>
>>> I am also cross-posting this thread to dev list in order to raise a
>>> question - should services support peer-deployment? My answer is no.
>>> Service may be implemented in the way that missing classes may be required
>>> after master node leaves, but service may be configured to stay after
>>> master leaves. So, even CONTINUOUS deployment mode does not help.
>>>
>>>
>>>
>>>
>>> --Yakov
>>>
>>> 2015-06-02 2:36 GMT+03:00 tcostasouza <[hidden email]
>>> <http:///user/SendEmail.jtp?type=node&node=440&i=1>>:
>>> Hello,
>>>
>>> It seems that, even with peer class loading enabled, Ignite is searching
>>> for
>>> a Service's method argument classes from it's root classpath. Consider de
>>> following example:
>>>
>>>
>>>
>>> Now, start 2 Ignite nodes with peer class loading enabled. From one node,
>>> deploy and invoke service:
>>>
>>>
>>> Invocation will fail with Ignite complaining that it couldn't find
>>> TestServiceImpl class in sun.misc.Launcher$AppClassLoader (full log  here
>>> <
>>> http://apache-ignite-users.70518.x6.nabble.com/file/n437/ignite_exception.log
>>> >
>>> )
>>>
>>> Now, if I change from TestService.execute(TestRequest) to something like
>>> TestService.execute(int), then it works as expected.
>>>
>>> Any clue?
>>>
>>> Thanks
>>>
>>>
>>>
>>>
>>>
>>>
>>> --
>>> View this message in context:
>>> http://apache-ignite-users.70518.x6.nabble.com/Failed-to-unmarshal-service-method-arguments-tp437.html
>>> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
>>>
>>
>>
> If you reply to this email, your message will be added to the discussion
>> below:
>>
>> http://apache-ignite-users.70518.x6.nabble.com/Failed-to-unmarshal-service-method-arguments-tp437p440.html
>>  To unsubscribe from Failed to unmarshal service method arguments, click
>> here.
>> NAML
>> <http://apache-ignite-users.70518.x6.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>>
>
> ------------------------------
> View this message in context: Re: Failed to unmarshal service method
> arguments
> <http://apache-ignite-users.70518.x6.nabble.com/Failed-to-unmarshal-service-method-arguments-tp437p442.html>
> Sent from the Apache Ignite Users mailing list archive
> <http://apache-ignite-users.70518.x6.nabble.com/> at Nabble.com.
>

Re: Failed to unmarshal service method arguments

Posted by Yakov Zhdanov <yz...@apache.org>.
Disagree. I see exceptions described in the ticket, if peer-node class path
does not have service implementation class in it.

--Yakov

2015-06-02 14:46 GMT+03:00 tcostasouza <tc...@gmail.com>:

> Sorry, I meant "service deployment does work with peer deployment"
>
> On Tue, Jun 2, 2015, 08:21 Thiago Souza <[hidden email]
> <http:///user/SendEmail.jtp?type=node&node=442&i=0>> wrote:
>
>> Hello,
>>
>> Well, it seems that peer deployment does work with peer class loading.
>> The problem I described is with method invocation with arguments that
>> includes classes from the service classpath.
>>
>> Regards
>> On Tue, Jun 2, 2015, 08:04 yakov [via Apache Ignite Users] <[hidden
>> email] <http:///user/SendEmail.jtp?type=node&node=442&i=1>> wrote:
>>
>>> Correct link is https://issues.apache.org/jira/browse/IGNITE-975
>>>
>>> --Yakov
>>>
>>> 2015-06-02 13:03 GMT+03:00 Yakov Zhdanov <[hidden email]
>>> <http:///user/SendEmail.jtp?type=node&node=440&i=0>>:
>>> Hi! I reproduced the issue and filed a ticket:
>>> https://issues.apache.org/jira/browse/IGNITE-976
>>>
>>> In the meantime, turn off peer-loading and make all classes available on
>>> all nodes. This configuration is much better from performance standpoint
>>> and is recommended in production.
>>>
>>> I am also cross-posting this thread to dev list in order to raise a
>>> question - should services support peer-deployment? My answer is no.
>>> Service may be implemented in the way that missing classes may be required
>>> after master node leaves, but service may be configured to stay after
>>> master leaves. So, even CONTINUOUS deployment mode does not help.
>>>
>>>
>>>
>>>
>>> --Yakov
>>>
>>> 2015-06-02 2:36 GMT+03:00 tcostasouza <[hidden email]
>>> <http:///user/SendEmail.jtp?type=node&node=440&i=1>>:
>>> Hello,
>>>
>>> It seems that, even with peer class loading enabled, Ignite is searching
>>> for
>>> a Service's method argument classes from it's root classpath. Consider de
>>> following example:
>>>
>>>
>>>
>>> Now, start 2 Ignite nodes with peer class loading enabled. From one node,
>>> deploy and invoke service:
>>>
>>>
>>> Invocation will fail with Ignite complaining that it couldn't find
>>> TestServiceImpl class in sun.misc.Launcher$AppClassLoader (full log  here
>>> <
>>> http://apache-ignite-users.70518.x6.nabble.com/file/n437/ignite_exception.log
>>> >
>>> )
>>>
>>> Now, if I change from TestService.execute(TestRequest) to something like
>>> TestService.execute(int), then it works as expected.
>>>
>>> Any clue?
>>>
>>> Thanks
>>>
>>>
>>>
>>>
>>>
>>>
>>> --
>>> View this message in context:
>>> http://apache-ignite-users.70518.x6.nabble.com/Failed-to-unmarshal-service-method-arguments-tp437.html
>>> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
>>>
>>
>>
> If you reply to this email, your message will be added to the discussion
>> below:
>>
>> http://apache-ignite-users.70518.x6.nabble.com/Failed-to-unmarshal-service-method-arguments-tp437p440.html
>>  To unsubscribe from Failed to unmarshal service method arguments, click
>> here.
>> NAML
>> <http://apache-ignite-users.70518.x6.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>>
>
> ------------------------------
> View this message in context: Re: Failed to unmarshal service method
> arguments
> <http://apache-ignite-users.70518.x6.nabble.com/Failed-to-unmarshal-service-method-arguments-tp437p442.html>
> Sent from the Apache Ignite Users mailing list archive
> <http://apache-ignite-users.70518.x6.nabble.com/> at Nabble.com.
>

Re: Failed to unmarshal service method arguments

Posted by tcostasouza <tc...@gmail.com>.
Sorry, I meant "service deployment does work with peer deployment"

On Tue, Jun 2, 2015, 08:21 Thiago Souza <tc...@gmail.com> wrote:

> Hello,
>
> Well, it seems that peer deployment does work with peer class loading. The
> problem I described is with method invocation with arguments that includes
> classes from the service classpath.
>
> Regards
> On Tue, Jun 2, 2015, 08:04 yakov [via Apache Ignite Users] <
> ml-node+s70518n440h56@n6.nabble.com> wrote:
>
>> Correct link is https://issues.apache.org/jira/browse/IGNITE-975
>>
>> --Yakov
>>
>> 2015-06-02 13:03 GMT+03:00 Yakov Zhdanov <[hidden email]
>> <http:///user/SendEmail.jtp?type=node&node=440&i=0>>:
>>
>>> Hi! I reproduced the issue and filed a ticket:
>>> https://issues.apache.org/jira/browse/IGNITE-976
>>>
>>> In the meantime, turn off peer-loading and make all classes available on
>>> all nodes. This configuration is much better from performance standpoint
>>> and is recommended in production.
>>>
>>> I am also cross-posting this thread to dev list in order to raise a
>>> question - should services support peer-deployment? My answer is no.
>>> Service may be implemented in the way that missing classes may be required
>>> after master node leaves, but service may be configured to stay after
>>> master leaves. So, even CONTINUOUS deployment mode does not help.
>>>
>>>
>>>
>>>
>>> --Yakov
>>>
>>> 2015-06-02 2:36 GMT+03:00 tcostasouza <[hidden email]
>>> <http:///user/SendEmail.jtp?type=node&node=440&i=1>>:
>>>
>>>> Hello,
>>>>
>>>> It seems that, even with peer class loading enabled, Ignite is
>>>> searching for
>>>> a Service's method argument classes from it's root classpath. Consider
>>>> de
>>>> following example:
>>>>
>>>>
>>>>
>>>> Now, start 2 Ignite nodes with peer class loading enabled. From one
>>>> node,
>>>> deploy and invoke service:
>>>>
>>>>
>>>> Invocation will fail with Ignite complaining that it couldn't find
>>>> TestServiceImpl class in sun.misc.Launcher$AppClassLoader (full log
>>>> here
>>>> <
>>>> http://apache-ignite-users.70518.x6.nabble.com/file/n437/ignite_exception.log
>>>> >
>>>> )
>>>>
>>>> Now, if I change from TestService.execute(TestRequest) to something like
>>>> TestService.execute(int), then it works as expected.
>>>>
>>>> Any clue?
>>>>
>>>> Thanks
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://apache-ignite-users.70518.x6.nabble.com/Failed-to-unmarshal-service-method-arguments-tp437.html
>>>> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
>>>>
>>>
>>>
>> If you reply to this email, your message will be added to the discussion
>> below:
>>
>> http://apache-ignite-users.70518.x6.nabble.com/Failed-to-unmarshal-service-method-arguments-tp437p440.html
>>  To unsubscribe from Failed to unmarshal service method arguments, click
>> here
>> <http://apache-ignite-users.70518.x6.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=437&code=dGNvc3Rhc291emFAZ21haWwuY29tfDQzN3wtMTI3MjQ2NDcyNQ==>
>> .
>> NAML
>> <http://apache-ignite-users.70518.x6.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>>
>




--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/Failed-to-unmarshal-service-method-arguments-tp437p442.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Re: Failed to unmarshal service method arguments

Posted by Yakov Zhdanov <yz...@apache.org>.
Correct link is https://issues.apache.org/jira/browse/IGNITE-975

--Yakov

2015-06-02 13:03 GMT+03:00 Yakov Zhdanov <yz...@apache.org>:

> Hi! I reproduced the issue and filed a ticket:
> https://issues.apache.org/jira/browse/IGNITE-976
>
> In the meantime, turn off peer-loading and make all classes available on
> all nodes. This configuration is much better from performance standpoint
> and is recommended in production.
>
> I am also cross-posting this thread to dev list in order to raise a
> question - should services support peer-deployment? My answer is no.
> Service may be implemented in the way that missing classes may be required
> after master node leaves, but service may be configured to stay after
> master leaves. So, even CONTINUOUS deployment mode does not help.
>
>
>
>
> --Yakov
>
> 2015-06-02 2:36 GMT+03:00 tcostasouza <tc...@gmail.com>:
>
>> Hello,
>>
>> It seems that, even with peer class loading enabled, Ignite is searching
>> for
>> a Service's method argument classes from it's root classpath. Consider de
>> following example:
>>
>>
>>
>> Now, start 2 Ignite nodes with peer class loading enabled. From one node,
>> deploy and invoke service:
>>
>>
>> Invocation will fail with Ignite complaining that it couldn't find
>> TestServiceImpl class in sun.misc.Launcher$AppClassLoader (full log  here
>> <
>> http://apache-ignite-users.70518.x6.nabble.com/file/n437/ignite_exception.log
>> >
>> )
>>
>> Now, if I change from TestService.execute(TestRequest) to something like
>> TestService.execute(int), then it works as expected.
>>
>> Any clue?
>>
>> Thanks
>>
>>
>>
>>
>>
>>
>> --
>> View this message in context:
>> http://apache-ignite-users.70518.x6.nabble.com/Failed-to-unmarshal-service-method-arguments-tp437.html
>> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
>>
>
>

Re: Failed to unmarshal service method arguments

Posted by Yakov Zhdanov <yz...@apache.org>.
Correct link is https://issues.apache.org/jira/browse/IGNITE-975

--Yakov

2015-06-02 13:03 GMT+03:00 Yakov Zhdanov <yz...@apache.org>:

> Hi! I reproduced the issue and filed a ticket:
> https://issues.apache.org/jira/browse/IGNITE-976
>
> In the meantime, turn off peer-loading and make all classes available on
> all nodes. This configuration is much better from performance standpoint
> and is recommended in production.
>
> I am also cross-posting this thread to dev list in order to raise a
> question - should services support peer-deployment? My answer is no.
> Service may be implemented in the way that missing classes may be required
> after master node leaves, but service may be configured to stay after
> master leaves. So, even CONTINUOUS deployment mode does not help.
>
>
>
>
> --Yakov
>
> 2015-06-02 2:36 GMT+03:00 tcostasouza <tc...@gmail.com>:
>
>> Hello,
>>
>> It seems that, even with peer class loading enabled, Ignite is searching
>> for
>> a Service's method argument classes from it's root classpath. Consider de
>> following example:
>>
>>
>>
>> Now, start 2 Ignite nodes with peer class loading enabled. From one node,
>> deploy and invoke service:
>>
>>
>> Invocation will fail with Ignite complaining that it couldn't find
>> TestServiceImpl class in sun.misc.Launcher$AppClassLoader (full log  here
>> <
>> http://apache-ignite-users.70518.x6.nabble.com/file/n437/ignite_exception.log
>> >
>> )
>>
>> Now, if I change from TestService.execute(TestRequest) to something like
>> TestService.execute(int), then it works as expected.
>>
>> Any clue?
>>
>> Thanks
>>
>>
>>
>>
>>
>>
>> --
>> View this message in context:
>> http://apache-ignite-users.70518.x6.nabble.com/Failed-to-unmarshal-service-method-arguments-tp437.html
>> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
>>
>
>

Re: Failed to unmarshal service method arguments

Posted by Dmitriy Setrakyan <ds...@apache.org>.
On Tue, Jun 2, 2015 at 3:03 AM, Yakov Zhdanov <yz...@apache.org> wrote:

> Hi! I reproduced the issue and filed a ticket:
> https://issues.apache.org/jira/browse/IGNITE-976
>
> In the meantime, turn off peer-loading and make all classes available on
> all nodes. This configuration is much better from performance standpoint
> and is recommended in production.
>
> I am also cross-posting this thread to dev list in order to raise a
> question - should services support peer-deployment? My answer is no.
> Service may be implemented in the way that missing classes may be required
> after master node leaves, but service may be configured to stay after
> master leaves. So, even CONTINUOUS deployment mode does not help.
>

I also don't think that services should support peer-deployment. However,
if users get missing class exceptions for service deployments, a proper
error message should be given explaining this.


>
>
>
>
> --Yakov
>
> 2015-06-02 2:36 GMT+03:00 tcostasouza <tc...@gmail.com>:
>
> > Hello,
> >
> > It seems that, even with peer class loading enabled, Ignite is searching
> > for
> > a Service's method argument classes from it's root classpath. Consider de
> > following example:
> >
> >
> >
> > Now, start 2 Ignite nodes with peer class loading enabled. From one node,
> > deploy and invoke service:
> >
> >
> > Invocation will fail with Ignite complaining that it couldn't find
> > TestServiceImpl class in sun.misc.Launcher$AppClassLoader (full log  here
> > <
> >
> http://apache-ignite-users.70518.x6.nabble.com/file/n437/ignite_exception.log
> > >
> > )
> >
> > Now, if I change from TestService.execute(TestRequest) to something like
> > TestService.execute(int), then it works as expected.
> >
> > Any clue?
> >
> > Thanks
> >
> >
> >
> >
> >
> >
> > --
> > View this message in context:
> >
> http://apache-ignite-users.70518.x6.nabble.com/Failed-to-unmarshal-service-method-arguments-tp437.html
> > Sent from the Apache Ignite Users mailing list archive at Nabble.com.
> >
>