Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 372195

Summary: Call of combo.setItems terminates the session
Product: [RT] RAP Reporter: juergen.panser
Component: RWTAssignee: Project Inbox <rap-inbox>
Status: RESOLVED WONTFIX QA Contact:
Severity: normal    
Priority: P3 CC: ivan, jon
Version: 1.5   
Target Milestone: ---   
Hardware: PC   
OS: Windows 7   
Whiteboard:

Description juergen.panser CLA 2012-02-22 04:54:26 EST
RAP 1.5M5 + IE 9 or Firefox 10

Call of combo.setItems terminates the session when setting a large amount of items (array with 2500 or more strings). In RAP 1.5M4 the same code works, but in RAP 1.5M5 the following error message is logged: "WARN:oeju.UrlEncoded:maxFormKeys limit exceeded keys>1000"
Comment 1 Ivan Furnadjiev CLA 2012-02-22 05:21:30 EST
Juergen, Combo is not designed to manage such amount of items. Probably, JFace content assist (ContentProposalAdapter) is the correct class to use. Nevertheless, if this code worked in RAP 1.5M4 but not in RAP 1.5M5 we will investigate it.
Comment 2 Ivan Furnadjiev CLA 2012-02-22 06:28:04 EST
Actually this is a Jetty warning and Jetty terminate the session. You could increase the default value of 1000 by setting a system property (VM argument) -Dorg.eclipse.jetty.server.Request.maxFormKeys=5000 for example. In any case, using a Combo with a such amount of items will definitely make your application unusable slow/unresponsive in all browsers.
Comment 3 Ivan Furnadjiev CLA 2012-02-22 06:43:31 EST
As this is a Jetty behavior and you can control the maxFormKeys with a system property (see comment#2) I will close this bug as WONTFIX.
Comment 4 juergen.panser CLA 2012-02-22 09:53:00 EST
To my opinion you are right: 2500 items in a combo are a nightmare. But that was a wish from our customer. He wants to see all attributes he can use in a inventory search.

I will try the VM argument. Thanks.
Comment 5 Ralf Sternberg CLA 2012-02-23 08:45:13 EST
(In reply to comment #4)
> I will try the VM argument. Thanks.
This is will only be the first hurdle. If you really manage to put 2500 items in a Combo, this will ruin the performance.
If you need to display all these items in a list, use a virtual Table instead, if needed you can put it in a drop-down shell.  As an alternative, you could try the content assist API in JFace.
Comment 6 juergen.panser CLA 2012-02-23 09:32:29 EST
Thanks for the suggestion, but the virtul table is too buggy.
Comment 7 Ivan Furnadjiev CLA 2012-02-23 10:03:41 EST
(In reply to comment #6)
> Thanks for the suggestion, but the virtul table is too buggy.
Virtual table is too buggy??!! This is something new for as. Could you explain what is buggy in the virtual Table? Can you give as examples? Even better - open a bug reports.
Comment 8 juergen.panser CLA 2012-02-23 10:35:42 EST
For the virtual table see bug 338696
Comment 9 Ivan Furnadjiev CLA 2012-02-23 10:48:06 EST
(In reply to comment #8)
> For the virtual table see bug 338696
Juergen, this is only a single issue. If you search bugzilla for "virtual", you will see that there are only two bugs related to the virtual table. Sorry, but I can't say that a component is "too buggy" with only one or two known bugs.
Comment 10 Ivan Furnadjiev CLA 2012-09-05 05:02:27 EDT
*** Bug 388796 has been marked as a duplicate of this bug. ***