Bug 418745 - Configure View form too big
Summary: Configure View form too big
Status: ASSIGNED
Alias: None
Product: Hudson
Classification: Technology
Component: Core (show other bugs)
Version: 3.1.0   Edit
Hardware: All Linux
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: Winston Prakash CLA
QA Contact: Geoff Waymark CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-10-05 13:43 EDT by Henrik Lynggaard Hansen CLA
Modified: 2013-10-11 13:37 EDT (History)
2 users (show)

See Also:


Attachments
Form data collected from chrome developer tools (218.45 KB, text/plain)
2013-10-10 04:19 EDT, Henrik Lynggaard Hansen CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Henrik Lynggaard Hansen CLA 2013-10-05 13:43:39 EDT
I am trying to configure a view, more specifically a secionview with multiple listview inside. Apparently I have too many jobs because on form submission I get the following exception:

java.lang.IllegalStateException: Form too large338007>200000
	at org.eclipse.jetty.server.Request.extractParameters(Request.java:285)
	at org.eclipse.jetty.server.Request.getParameter(Request.java:700)
	at javax.servlet.ServletRequestWrapper.getParameter(ServletRequestWrapper.java:184)
	at org.kohsuke.stapler.RequestImpl.getSubmittedForm(RequestImpl.java:762)
	at hudson.plugins.sectioned_view.SectionedView.submit(SectionedView.java:148)
	at hudson.model.View.doConfigSubmit(View.java:588)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:274)
	at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:141)
	at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:80)
	at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:95)
	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:45)
	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:565)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:650)
	at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:225)
	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:45)
	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:565)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:650)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:481)
	at org.kohsuke.stapler.Stapler.service(Stapler.java:152)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)

I suspect it is the number of check boxes that caused it. Would be nice with a quick fix of increasing the size of the allowed request, but in the long run the user experience of such long lists of checkboxes should be revisited.

I put this as major as I cannot edit view via the gui, and I need to edit the views to get the large number of jobs under control ;-)

Hudosn 3.1 (without team funcitonality)
Number of jobs: ~1500
Comment 1 Winston Prakash CLA 2013-10-07 23:03:45 EDT
Agree. I'll look in to it. If you have ideas feel free to throw it.

BTW, can you catch the HTTP submitted using firebug and attach it here (if legally ok)
Comment 2 Henrik Lynggaard Hansen CLA 2013-10-10 04:19:21 EDT
Created attachment 236311 [details]
Form data collected from chrome developer tools

I tried firebug but ironically got ".. Firebug request size limit has been reached by Firebug. ..."  ;-)

Note: this is a sectioned view with 3 embedded listViews. All 3 listviews are selecting jobs via the regular expression so no check boxes marked.
Comment 3 Winston Prakash CLA 2013-10-11 13:37:27 EDT
(In reply to Henrik Lynggaard Hansen from comment #2)

Thanks for the form data sample. It gives some idea. The JSON generated as part of form submission seems to include every job even if it is not selected and mark it as false. Ex

%22csps_edu_jbs_load_mail_templates%22%3Afal%2C
%22csps_edu_jbs_logstash_reconfigure%22%3Afalse%2C
%22csps_edu_jbs_logstash_restart%22%3Afalse%2C

Need to figure out if we can include only the selected job info in the form data and exclude unselected jobs.