[ 
https://issues.apache.org/jira/browse/SOLR-4136?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Hoss Man updated SOLR-4136:
---------------------------

    Attachment: SOLR-4136.patch

New patch...

1) implements the "less kludgy-kludge" idea i mentioned above.  I put the new 
public method for getting the baseURL of a nodeName in SolrZkClient in case we 
want to change it to be a live lookup from ZK at some point (and marked it 
@lucene.experimental in case we want completely move/remove it at some point)

2) improved ZkController to allow both leading and trailing "/" in the 
hostContext -- both of which get striped off _after_ the "empty string defaults 
to 'solr'" logic, and _before_ the generation of the nodeName.  As as result, 
specifying {{hostContext="/"}} in solr.xml is now a viable way to tell solr 
it's running in the root context.  (In general i think this makes things easier 
to use, but 

3) enhanced the hostContext randomization logic in 
BaseDistributedSearchTestCase so that it randomly uses: the root context (eg: 
"/"), one level paths (eg: "/as"), two level paths (eg: "/s/bf"), and, 
sometimes including an "_" character in a path (eg: "/as_", "/s_d", "/_d/bf", 
etc..)

4) Changed BaseDistributedSearchTestCase to us the context path randomization 
logic by default.  This is something i had left out of my previous patch 
because i wa worried about users who might have their own tests extending 
BaseDistributedSearchTestCase that were then making assumptions about the 
context being "/solr" -- but i decided having more test coverage using these 
random context paths was more important -- we can include an upgrade note along 
the lines of...

{noformat}
BaseDistributedSearchTestCase now randomizes the servlet context it uses when 
creating Jetty instances.  Subclasses that assume a hard coded context of 
"/solr" should either be fixed to use the "String context" variable, or should 
take advantage of the new BaseDistributedSearchTestCase(String) constructor
to explicitly specify a fixed servlet context path.
{noformat}

5) Fixed test bugs exposed by 3 & 4 above.

--

Mark: would really appreciate it if you could take this bad-boy for a spin and 
let me know what you think

                
> SolrCloud bugs when servlet context contains "/" or "_"
> -------------------------------------------------------
>
>                 Key: SOLR-4136
>                 URL: https://issues.apache.org/jira/browse/SOLR-4136
>             Project: Solr
>          Issue Type: Bug
>          Components: SolrCloud
>    Affects Versions: 4.0
>            Reporter: Hoss Man
>            Assignee: Hoss Man
>         Attachments: SOLR-4136.patch, SOLR-4136.patch
>
>
> SolrCloud does not work properly with non-trivial values for "hostContext" 
> (ie: the servlet context path).  In particular...
> * Using a hostContext containing a  "/" (ie: a servlet context with a subdir 
> path, semi-common among people who organize webapps hierarchically for lod 
> blanacer rules) is explicitly forbidden in ZkController because of how the 
> hostContext is used to build a ZK nodeName
> * Using a hostContext containing a "\_" causes problems in 
> OverseerCollectionProcessor where it assumes all "\_" characters should be 
> converted to "/" to reconstitute a URL from nodeName (NOTE: this code 
> specifically has a TODO to fix this, and then has a subsequent TODO about 
> assuming "http://"; labeled "this sucks")

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to