Hi Rico,

This should be fixed in 10742:3de162c29e7e.

Thanks for reporting this,

Greg Von Kuster

On Sep 27, 2013, at 12:18 PM, Richard Burhans <r...@bx.psu.edu> wrote:

> Greg,
> 
> I was mistaken.  It wasn't a GET, it was a POST.  Here's the POST request:
> 
> POST 
> /admin_toolshed/prepare_for_install?includes_tools_for_display_in_tool_panel=True&encoded_repo_info_dicts=722fdbb60840f8caa6f7dd248a9f08b927df4325%3A7b22746573745f6c6f6e675f757269223a205b227465737420&includes_tools=True&tool_shed_url=http%3A%2F%2Fdevshed.bx.psu.edu%2F&includes_tool_dependencies=True
>  HTTP/1.1
> 
> Here is the POSTed data:
> 
> install_repository_dependencies=true&install_repository_dependencies=true&install_tool_dependencies=true&install_tool_dependencies=true&shed_tool_conf=.%2Fshed_tool_conf.xml&new_tool_panel_section=Test&select_tool_panel_section_button=Install
> 
> The POSTed URI is 8,320 bytes.  The encoded_repo_info_dicts account for 8,113 
> (97.5%) of these bytes.
> 
> In this particular case, it appears that the relevant code can be found in 
> install_repositories_by_revision() in 
> lib/galaxy/webapps/tool_shed/controllers/repository.py and in 
> prepare_for_install() in 
> lib/galaxy/webapps/galaxy/controllers/admin_toolshed.py.
> 
> It's possible that there's code elsewhere that also passes the 
> encoded_repo_info_dicts in the request, which would trigger the same issue.
> 
> -rico
> 
> On Sep 26, 2013, at 9:21 AM, Greg Von Kuster wrote:
> 
>> Hi Rico,
>> 
>> Can you provide the specific GET request URL with which you encountered this 
>> problem?  There are very few GET requests when installing repositories from 
>> the tool shed - the only one I can locate without a lot of digging is the 
>> following, which I don't think is causing the problem.
>> 
>> # Get the information necessary to install each repository.
>> url = suc.url_join( tool_shed_url,
>>                   
>> 'repository/get_repository_information?repository_ids=%s&changeset_revisions=%s'
>>  % \
>>                   ( repository_ids, changeset_revisions ) )
>> 
>> 
>> Thanks,
>> 
>> Greg Von Kuster
>> 
>> 
>> On Sep 13, 2013, at 10:59 AM, Richard Burhans <r...@bx.psu.edu> wrote:
>> 
>>> Folks,
>>> 
>>> After checking a little closer last night, I have one clarification.
>>> The Tool Shed does use POSTs as well as GETs, but even when it's
>>> POSTing, the encoded dictionaries (encoded_repo_info_dicts) are part
>>> of the query string.  The encoded_repo_info_dicts should probably
>>> become part of the POSTed data.
>>> 
>>> -rico
>>> 
>>> On Sep 12, 2013, at 3:55 PM, Richard Burhans wrote:
>>> 
>>>> When installing Galaxy Tool Shed repositories into a local Galaxy
>>>> instance, tool shed dependecies are exchanged as an encoded python
>>>> dictionary via the HTTP GET method.
>>>> 
>>>> If a tool shed repository contains enough dependencies, the length
>>>> of this encoded dictionary can become extremely long.  In my case,
>>>> it became long enough for my Apache server to choke on it:
>>>> 
>>>> [Wed Sep 11 15:34:53 2013] [error] [client XXX.XXX.XXX.XXX] request 
>>>> failed: URI too long (longer than 8190)
>>>> 
>>>> The HTTP standard does not place a limit on the length of a URI,
>>>> but the de facto limit is 2000 characters.  See the following
>>>> stackoverflow answer:
>>>> 
>>>> http://stackoverflow.com/a/417184
>>>> 
>>>> I would recommend either:
>>>> 1) communicating toolshed dependencies via an HTTP POST
>>>> 2) redesigning tool shed <-> instance communications
>>>> 
>>>> As a stopgap measure, I've modified lib/tool_shed/util/encoding_util.py
>>>> to use a more compact encoding scheme.  I'm attaching a copy in
>>>> case someone else runs into the same problem.
>>>> 
>>>> -rico<encoding_util.py>
>>> 
>>> ___________________________________________________________
>>> Please keep all replies on the list by using "reply all"
>>> in your mail client.  To manage your subscriptions to this
>>> and other Galaxy lists, please use the interface at:
>>> http://lists.bx.psu.edu/
>>> 
>>> To search Galaxy mailing lists use the unified search at:
>>> http://galaxyproject.org/search/mailinglists/
>> 
> 
> ___________________________________________________________
> Please keep all replies on the list by using "reply all"
> in your mail client.  To manage your subscriptions to this
> and other Galaxy lists, please use the interface at:
> http://lists.bx.psu.edu/
> 
> To search Galaxy mailing lists use the unified search at:
> http://galaxyproject.org/search/mailinglists/


___________________________________________________________
Please keep all replies on the list by using "reply all"
in your mail client.  To manage your subscriptions to this
and other Galaxy lists, please use the interface at:
  http://lists.bx.psu.edu/

To search Galaxy mailing lists use the unified search at:
  http://galaxyproject.org/search/mailinglists/

Reply via email to