You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-dev@lucene.apache.org by "Noble Paul (JIRA)" <ji...@apache.org> on 2009/05/09 07:24:45 UTC

[jira] Commented: (SOLR-1154) allow specifying solr configuration file through system property to simplify deployment procedure in certain cases

    [ https://issues.apache.org/jira/browse/SOLR-1154?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12707610#action_12707610 ] 

Noble Paul commented on SOLR-1154:
----------------------------------

is your master and slave running on the same tomcat? 

did you try running multicore? solr.xml can let you specify different solconfig/schema xml for each core.




> allow specifying solr configuration file through system property to simplify deployment procedure in certain cases
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: SOLR-1154
>                 URL: https://issues.apache.org/jira/browse/SOLR-1154
>             Project: Solr
>          Issue Type: Improvement
>    Affects Versions: 1.4
>            Reporter: Jianhan
>            Priority: Minor
>             Fix For: 1.4
>
>         Attachments: SOLR-1154.patch
>
>   Original Estimate: 5h
>  Remaining Estimate: 5h
>
> Hi,
> I wanted to use this parameter to specify different solr configuration files for master and slave to simplify deployment procedure. Unfortunately, I can't dynamically replace the value of this parameter. Basically, what I want is
>   <filter>
>     <filter-name>SolrRequestFilter</filter-name>
>     <filter-class>org.apache.solr.servlet.SolrDispatchFilter</filter-class>
>     <init-param>
>       <param-name>solrconfig-filename</param-name>
>       <param-value>solrconfig-master.xml</param-value>
>     </init-param>
> </filter>
> for master instance, and
>   <filter>
>     <filter-name>SolrRequestFilter</filter-name>
>     <filter-class>org.apache.solr.servlet.SolrDispatchFilter</filter-class>
>     <init-param>
>       <param-name>solrconfig-filename</param-name>
>       <param-value>solrconfig-slave.xml</param-value>
>     </init-param>
> </filter>
> for slave instance.
> Ideally, if I can use system property for its value like in solrconfig.xml. For example,
>   <filter>
>     <filter-name>SolrRequestFilter</filter-name>
>     <filter-class>org.apache.solr.servlet.SolrDispatchFilter</filter-class>
>     <init-param>
>       <param-name>solrconfig-filename</param-name>
>       <param-value>${solr.config.filename: solrconfig.xml}</param-value>
>     </init-param>
> </filter>
> but I learned that in general we can't use system property in web.xml.
> I realize that I can use replication of config file to achieve this, but I thought that creates unnecessary dependencies for slaves on master instance.
> So here is my proposal:
> make SolrDispatchFilter look up another init parameter, say 'solrconfig-filename-property', and its value is a system property name, and if this property is set, we get the file name, otherwise nothing happens (of course, if both exist, 'solrconfig-filename' takes precedence). This will give us maximum flexibility of specifying configuration files for different instances.
> Your thoughts?
> Thanks,
> Jianhan

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Re: [jira] Commented: (SOLR-1154) allow specifying solr configuration file through system property to simplify deployment procedure in certain cases

Posted by Jian Han Guo <ji...@gmail.com>.
In our environment, master and slave instances are running in different
boxes. We package everything in a single tar file and push it to production
boxes and expand the tar file there. After that, operation team just needs
to run a commend to start/restart the application without making any
changes. There is no difference between master and slave instances other
than a launch argument. In other words, we have to distinguish master from
slave by a launch argument and have master and slave use different
configuration files.

I have never used solr.xml, but it sounds for different purpose, correct?

Thanks,

Jianhan



On Fri, May 8, 2009 at 10:24 PM, Noble Paul (JIRA) <ji...@apache.org> wrote:

>
>    [
> https://issues.apache.org/jira/browse/SOLR-1154?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12707610#action_12707610]
>
> Noble Paul commented on SOLR-1154:
> ----------------------------------
>
> is your master and slave running on the same tomcat?
>
> did you try running multicore? solr.xml can let you specify different
> solconfig/schema xml for each core.
>
>
>
>
> > allow specifying solr configuration file through system property to
> simplify deployment procedure in certain cases
> >
> ------------------------------------------------------------------------------------------------------------------
> >
> >                 Key: SOLR-1154
> >                 URL: https://issues.apache.org/jira/browse/SOLR-1154
> >             Project: Solr
> >          Issue Type: Improvement
> >    Affects Versions: 1.4
> >            Reporter: Jianhan
> >            Priority: Minor
> >             Fix For: 1.4
> >
> >         Attachments: SOLR-1154.patch
> >
> >   Original Estimate: 5h
> >  Remaining Estimate: 5h
> >
> > Hi,
> > I wanted to use this parameter to specify different solr configuration
> files for master and slave to simplify deployment procedure. Unfortunately,
> I can't dynamically replace the value of this parameter. Basically, what I
> want is
> >   <filter>
> >     <filter-name>SolrRequestFilter</filter-name>
> >
> <filter-class>org.apache.solr.servlet.SolrDispatchFilter</filter-class>
> >     <init-param>
> >       <param-name>solrconfig-filename</param-name>
> >       <param-value>solrconfig-master.xml</param-value>
> >     </init-param>
> > </filter>
> > for master instance, and
> >   <filter>
> >     <filter-name>SolrRequestFilter</filter-name>
> >
> <filter-class>org.apache.solr.servlet.SolrDispatchFilter</filter-class>
> >     <init-param>
> >       <param-name>solrconfig-filename</param-name>
> >       <param-value>solrconfig-slave.xml</param-value>
> >     </init-param>
> > </filter>
> > for slave instance.
> > Ideally, if I can use system property for its value like in
> solrconfig.xml. For example,
> >   <filter>
> >     <filter-name>SolrRequestFilter</filter-name>
> >
> <filter-class>org.apache.solr.servlet.SolrDispatchFilter</filter-class>
> >     <init-param>
> >       <param-name>solrconfig-filename</param-name>
> >       <param-value>${solr.config.filename: solrconfig.xml}</param-value>
> >     </init-param>
> > </filter>
> > but I learned that in general we can't use system property in web.xml.
> > I realize that I can use replication of config file to achieve this, but
> I thought that creates unnecessary dependencies for slaves on master
> instance.
> > So here is my proposal:
> > make SolrDispatchFilter look up another init parameter, say
> 'solrconfig-filename-property', and its value is a system property name, and
> if this property is set, we get the file name, otherwise nothing happens (of
> course, if both exist, 'solrconfig-filename' takes precedence). This will
> give us maximum flexibility of specifying configuration files for different
> instances.
> > Your thoughts?
> > Thanks,
> > Jianhan
>
> --
> This message is automatically generated by JIRA.
> -
> You can reply to this email to add a comment to the issue online.
>
>