Grails under load

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Grails under load

Sergei Rahouski

Hi all,

 

We are executing a stress test of our Grails 1.3.7 application. We are finding some strange errors happening in taglibs. MissingMethodException doesn’t make much sense because the signatures of the actual method and “proposed solution” match.

 

Is see that a known issue of 1.3.7? Is there a workaround / fix that we could apply?


Thank you!

 

 

2013-06-10 09:35:34,391 - [http-bio-80-exec-198 ]  ERROR StackTrace  - Sanitizing stacktrace:

groovy.lang.MissingMethodException: No signature of method: static org.codehaus.groovy.grails.web.pages.GroovyPage.captureTagOutput() is applicable for argument types: (org.codehaus.groovy.grails.web.pages.TagLibraryLookup, java.lang.String, java.lang.String, java.util.LinkedHashMap, null, org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequest) values: [org.codehaus.groovy.grails.web.pages.TagLibraryLookup@44b5ff9, il, cssRowAlternator, [name:grpSummary], null, ServletWebRequest: uri=/webil/grails/customerSummary/miscInRent.dispatch;client=10.30.32.52;session=5998BCB5D821F67F43567EC6F9F87668;user=IDS]

Possible solutions: captureTagOutput(org.codehaus.groovy.grails.web.pages.TagLibraryLookup, java.lang.String, java.lang.String, java.util.Map, java.lang.Object, org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequest)

        at groovy.lang.MetaClassImpl.invokeStaticMissingMethod(MetaClassImpl.java:1357)

        at groovy.lang.MetaClassImpl.invokeStaticMethod(MetaClassImpl.java:1343)

        at groovy.lang.ExpandoMetaClass.invokeStaticMethod(ExpandoMetaClass.java:1082)

        at org.codehaus.groovy.runtime.callsite.StaticMetaClassSite.call(StaticMetaClassSite.java:50)

        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)

        at org.codehaus.groovy.grails.web.pages.GroovyPage$captureTagOutput.call(Unknown Source)

        at org.codehaus.groovy.grails.web.plugins.support.WebMetaUtils$_registerMethodMissingForTags_closure24.doCall(WebMetaUtils.groovy:247)

        at sun.reflect.GeneratedMethodAccessor6329.invoke(Unknown Source)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

        at java.lang.reflect.Method.invoke(Unknown Source)

        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)

        at org.codehaus.groovy.runtime.metaclass.ClosureMetaMethod.invoke(ClosureMetaMethod.java:80)

        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)

        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)

        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)

        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)

        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:706)

        at com.idsgrp.webil.taglibs.PanelTagLib.invokeMethod(PanelTagLib.groovy)

        at groovy.lang.GroovyObject$invokeMethod.call(Unknown Source)

        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)

        at groovy.lang.GroovyObject$invokeMethod.call(Unknown Source)

        at org.codehaus.groovy.grails.web.taglib.NamespacedTagDispatcher.invokeMethod(NamespacedTagDispatcher.groovy:49)

        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:45)

        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)

        at gsp_webil_customerSummary_summaryTable_gsp.run(gsp_webil_customerSummary_summaryTable_gsp.groovy:19)

 

Reply | Threaded
Open this post in threaded view
|

Re: Grails under load

Lari Hotari -

You can try to backport changes in WebMetaUtils from 2.0.x . I'm not sure if that helps.

What is keeping you back from upgrading to 2.1.x or 2.2.x ?

Lari

11.6.2013 21.53 "Sergei Rahouski" <[hidden email]> kirjoitti:

Hi all,

 

We are executing a stress test of our Grails 1.3.7 application. We are finding some strange errors happening in taglibs. MissingMethodException doesn’t make much sense because the signatures of the actual method and “proposed solution” match.

 

Is see that a known issue of 1.3.7? Is there a workaround / fix that we could apply?


Thank you!

 

 

2013-06-10 09:35:34,391 - [http-bio-80-exec-198 ]  ERROR StackTrace  - Sanitizing stacktrace:

groovy.lang.MissingMethodException: No signature of method: static org.codehaus.groovy.grails.web.pages.GroovyPage.captureTagOutput() is applicable for argument types: (org.codehaus.groovy.grails.web.pages.TagLibraryLookup, java.lang.String, java.lang.String, java.util.LinkedHashMap, null, org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequest) values: [org.codehaus.groovy.grails.web.pages.TagLibraryLookup@44b5ff9, il, cssRowAlternator, [name:grpSummary], null, ServletWebRequest: uri=/webil/grails/customerSummary/miscInRent.dispatch;client=10.30.32.52;session=5998BCB5D821F67F43567EC6F9F87668;user=IDS]

Possible solutions: captureTagOutput(org.codehaus.groovy.grails.web.pages.TagLibraryLookup, java.lang.String, java.lang.String, java.util.Map, java.lang.Object, org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequest)

        at groovy.lang.MetaClassImpl.invokeStaticMissingMethod(MetaClassImpl.java:1357)

        at groovy.lang.MetaClassImpl.invokeStaticMethod(MetaClassImpl.java:1343)

        at groovy.lang.ExpandoMetaClass.invokeStaticMethod(ExpandoMetaClass.java:1082)

        at org.codehaus.groovy.runtime.callsite.StaticMetaClassSite.call(StaticMetaClassSite.java:50)

        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)

        at org.codehaus.groovy.grails.web.pages.GroovyPage$captureTagOutput.call(Unknown Source)

        at org.codehaus.groovy.grails.web.plugins.support.WebMetaUtils$_registerMethodMissingForTags_closure24.doCall(WebMetaUtils.groovy:247)

        at sun.reflect.GeneratedMethodAccessor6329.invoke(Unknown Source)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

        at java.lang.reflect.Method.invoke(Unknown Source)

        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)

        at org.codehaus.groovy.runtime.metaclass.ClosureMetaMethod.invoke(ClosureMetaMethod.java:80)

        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)

        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)

        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)

        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)

        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:706)

        at com.idsgrp.webil.taglibs.PanelTagLib.invokeMethod(PanelTagLib.groovy)

        at groovy.lang.GroovyObject$invokeMethod.call(Unknown Source)

        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)

        at groovy.lang.GroovyObject$invokeMethod.call(Unknown Source)

        at org.codehaus.groovy.grails.web.taglib.NamespacedTagDispatcher.invokeMethod(NamespacedTagDispatcher.groovy:49)

        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:45)

        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)

        at gsp_webil_customerSummary_summaryTable_gsp.run(gsp_webil_customerSummary_summaryTable_gsp.groovy:19)

 

Reply | Threaded
Open this post in threaded view
|

Re: Grails under load

Lari Hotari -

You would have to backport quite a few changes to get the problems fixed in Grails 1.3.x.

Here are some of the issues:
http://jira.grails.org/browse/GRAILS-8208
http://jira.grails.org/browse/GRAILS-8309
http://jira.grails.org/browse/GRAILS-8064

A blog post about these problems:
http://www.objectpartners.com/2013/06/11/a-tail-from-the-grails-trenches-nasty-1-3-x-bug/

You can find out the commits in the "Git commits" tab in Jira.

It's possible to backport these fixes to Grails 1.3.x but you would have to do that yourself or pay someone to do it.

What is keeping you back from upgrading to 2.1.x or 2.2.x ?


Lari


12.06.2013 09:54, Lari Hotari wrote:

You can try to backport changes in WebMetaUtils from 2.0.x . I'm not sure if that helps.

What is keeping you back from upgrading to 2.1.x or 2.2.x ?

Lari

11.6.2013 21.53 "Sergei Rahouski" <[hidden email]> kirjoitti:

Hi all,

 

We are executing a stress test of our Grails 1.3.7 application. We are finding some strange errors happening in taglibs. MissingMethodException doesn’t make much sense because the signatures of the actual method and “proposed solution” match.

 

Is see that a known issue of 1.3.7? Is there a workaround / fix that we could apply?


Thank you!

 

 

2013-06-10 09:35:34,391 - [http-bio-80-exec-198 ]  ERROR StackTrace  - Sanitizing stacktrace:

groovy.lang.MissingMethodException: No signature of method: static org.codehaus.groovy.grails.web.pages.GroovyPage.captureTagOutput() is applicable for argument types: (org.codehaus.groovy.grails.web.pages.TagLibraryLookup, java.lang.String, java.lang.String, java.util.LinkedHashMap, null, org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequest) values: [org.codehaus.groovy.grails.web.pages.TagLibraryLookup@44b5ff9, il, cssRowAlternator, [name:grpSummary], null, ServletWebRequest: uri=/webil/grails/customerSummary/miscInRent.dispatch;client=10.30.32.52;session=5998BCB5D821F67F43567EC6F9F87668;user=IDS]

Possible solutions: captureTagOutput(org.codehaus.groovy.grails.web.pages.TagLibraryLookup, java.lang.String, java.lang.String, java.util.Map, java.lang.Object, org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequest)

        at groovy.lang.MetaClassImpl.invokeStaticMissingMethod(MetaClassImpl.java:1357)

        at groovy.lang.MetaClassImpl.invokeStaticMethod(MetaClassImpl.java:1343)

        at groovy.lang.ExpandoMetaClass.invokeStaticMethod(ExpandoMetaClass.java:1082)

        at org.codehaus.groovy.runtime.callsite.StaticMetaClassSite.call(StaticMetaClassSite.java:50)

        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)

        at org.codehaus.groovy.grails.web.pages.GroovyPage$captureTagOutput.call(Unknown Source)

        at org.codehaus.groovy.grails.web.plugins.support.WebMetaUtils$_registerMethodMissingForTags_closure24.doCall(WebMetaUtils.groovy:247)

        at sun.reflect.GeneratedMethodAccessor6329.invoke(Unknown Source)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

        at java.lang.reflect.Method.invoke(Unknown Source)

        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)

        at org.codehaus.groovy.runtime.metaclass.ClosureMetaMethod.invoke(ClosureMetaMethod.java:80)

        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)

        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)

        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)

        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)

        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:706)

        at com.idsgrp.webil.taglibs.PanelTagLib.invokeMethod(PanelTagLib.groovy)

        at groovy.lang.GroovyObject$invokeMethod.call(Unknown Source)

        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)

        at groovy.lang.GroovyObject$invokeMethod.call(Unknown Source)

        at org.codehaus.groovy.grails.web.taglib.NamespacedTagDispatcher.invokeMethod(NamespacedTagDispatcher.groovy:49)

        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:45)

        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)

        at gsp_webil_customerSummary_summaryTable_gsp.run(gsp_webil_customerSummary_summaryTable_gsp.groovy:19)

 


Reply | Threaded
Open this post in threaded view
|

RE: Grails under load

Sergei Rahouski

Thanks Lari.

 

We’ve been talking about upgrade for long time. However there is not enough justification:

-          the performance didn’t improve with 2.x across the board as we expected (some things improved , some degraded).

-          IDEA 11 doesn’t seem to have good support for Grails 2 (we had to use remote debugging to attach to running console). Pretty clunky setup to rollout to many developers

-          some of our hacks broke and needed to be revised

-          we are about to release the project and all the changes put it at risk

 

We may be thinking upgrade more seriously in July.

 

Thanks for the references I will check them out.

 

From: Lari Hotari [mailto:[hidden email]]
Sent: Wednesday, June 12, 2013 3:55 AM
To: Grails Users
Cc: Sergei Rahouski
Subject: Re: [grails-user] Grails under load

 


You would have to backport quite a few changes to get the problems fixed in Grails 1.3.x.

Here are some of the issues:
http://jira.grails.org/browse/GRAILS-8208
http://jira.grails.org/browse/GRAILS-8309
http://jira.grails.org/browse/GRAILS-8064

A blog post about these problems:
http://www.objectpartners.com/2013/06/11/a-tail-from-the-grails-trenches-nasty-1-3-x-bug/

You can find out the commits in the "Git commits" tab in Jira.

It's possible to backport these fixes to Grails 1.3.x but you would have to do that yourself or pay someone to do it.

What is keeping you back from upgrading to 2.1.x or 2.2.x ?


Lari


12.06.2013 09:54, Lari Hotari wrote:

You can try to backport changes in WebMetaUtils from 2.0.x . I'm not sure if that helps.

What is keeping you back from upgrading to 2.1.x or 2.2.x ?

Lari

11.6.2013 21.53 "Sergei Rahouski" <[hidden email]> kirjoitti:

Hi all,

 

We are executing a stress test of our Grails 1.3.7 application. We are finding some strange errors happening in taglibs. MissingMethodException doesn’t make much sense because the signatures of the actual method and “proposed solution” match.

 

Is see that a known issue of 1.3.7? Is there a workaround / fix that we could apply?


Thank you!

 

 

2013-06-10 09:35:34,391 - [http-bio-80-exec-198 ]  ERROR StackTrace  - Sanitizing stacktrace:

groovy.lang.MissingMethodException: No signature of method: static org.codehaus.groovy.grails.web.pages.GroovyPage.captureTagOutput() is applicable for argument types: (org.codehaus.groovy.grails.web.pages.TagLibraryLookup, java.lang.String, java.lang.String, java.util.LinkedHashMap, null, org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequest) values: [org.codehaus.groovy.grails.web.pages.TagLibraryLookup@44b5ff9, il, cssRowAlternator, [name:grpSummary], null, ServletWebRequest: uri=/webil/grails/customerSummary/miscInRent.dispatch;client=10.30.32.52;session=5998BCB5D821F67F43567EC6F9F87668;user=IDS]

Possible solutions: captureTagOutput(org.codehaus.groovy.grails.web.pages.TagLibraryLookup, java.lang.String, java.lang.String, java.util.Map, java.lang.Object, org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequest)

        at groovy.lang.MetaClassImpl.invokeStaticMissingMethod(MetaClassImpl.java:1357)

        at groovy.lang.MetaClassImpl.invokeStaticMethod(MetaClassImpl.java:1343)

        at groovy.lang.ExpandoMetaClass.invokeStaticMethod(ExpandoMetaClass.java:1082)

        at org.codehaus.groovy.runtime.callsite.StaticMetaClassSite.call(StaticMetaClassSite.java:50)

        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)

        at org.codehaus.groovy.grails.web.pages.GroovyPage$captureTagOutput.call(Unknown Source)

        at org.codehaus.groovy.grails.web.plugins.support.WebMetaUtils$_registerMethodMissingForTags_closure24.doCall(WebMetaUtils.groovy:247)

        at sun.reflect.GeneratedMethodAccessor6329.invoke(Unknown Source)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

        at java.lang.reflect.Method.invoke(Unknown Source)

        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)

        at org.codehaus.groovy.runtime.metaclass.ClosureMetaMethod.invoke(ClosureMetaMethod.java:80)

        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)

        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)

        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)

        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)

        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:706)

        at com.idsgrp.webil.taglibs.PanelTagLib.invokeMethod(PanelTagLib.groovy)

        at groovy.lang.GroovyObject$invokeMethod.call(Unknown Source)

        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)

        at groovy.lang.GroovyObject$invokeMethod.call(Unknown Source)

        at org.codehaus.groovy.grails.web.taglib.NamespacedTagDispatcher.invokeMethod(NamespacedTagDispatcher.groovy:49)

        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:45)

        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)

        at gsp_webil_customerSummary_summaryTable_gsp.run(gsp_webil_customerSummary_summaryTable_gsp.groovy:19)

 

 

Reply | Threaded
Open this post in threaded view
|

Re: Grails under load

Bija R.
In reply to this post by Sergei Rahouski
Hi Sergei,

Did the solution described in this thread solved your problem ?

Thanks in advance.