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

Jan Lehnardt updated COUCHDB-1143:
----------------------------------

    Fix Version/s:     (was: 1.3)
    
> Improve query_server_config section
> -----------------------------------
>
>                 Key: COUCHDB-1143
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-1143
>             Project: CouchDB
>          Issue Type: Improvement
>          Components: Infrastructure, JavaScript View Server
>            Reporter: Alexander Shorin
>            Priority: Minor
>              Labels: features
>
> Situation:
> CouchDB query_server_config tells us that it holds all query server 
> configuration and at least js query server approves this by 
> State.query_config object.
> However, there couldn't be defined any options except of reduce_size and 
> os_timeout - others are just ignored.
> Idea:
> Allow to pass all options setted within query_server_config section to query 
> server!
> But, because one CouchDB server could have a lot of query servers, that may 
> have different and similar options in same time, placing all of them within 
> query_server_config set is not rational.
> So they could to be splitted to shared and specific ones:
> query_server_config
> ---> python_server_config
> ---> javascript_server_config
> ---> clojure_server_config
> ---> {server_name}_server_config
> Where {server_name} is same as key in query_servers option set. So there 
> could be a some kind standard of query server configuration that could be 
> easily extended or overrides by local query server configuration.
> Reasons why it could be useful:
> - Flexible customization of query server. 
> Better if CouchDB server restart wouldn't be required (that's could be done 
> via reset command). Current solution with command line query server arguments 
> requires of it and that's not good.
> - Each query server could have own configuration. There could be 
> debug/production query server sets for easily analyzing any problems or other 
> things.
> - Higher customization gives access to very very sweet things.
> For what it could be used?
> - Allow GET requests for _update functions without query server code change
> - Control log level and logging sources and destinations
> - Control query server language specific things such as json module, 
> optimizations.
> - If someday maps would work in async mode, there also could be defined how 
> many workers qs must have spawned.
> - Self monitoring for memory consuming and idle time to have suicide with cry 
> in logs
> Usage of this feature is limited only by query server developer fantasy.
> How to implement this?
> I suppose, that for this sections value field should be tracked as json 
> encoded value (not object or list required, just valid value) so this trick 
> should remove type guessing hell, just check if value is correct json one and 
> leave it processing for query server.
> However, while I've wrote this issue text, I've realized some flaws of this 
> feature.
> Reasons why it just wasting of time and should not being implemented:
> - Complex configurations makes relax time lesser.
> - Poorly couchapp portability due to specific server configuration and 
> debuging hell due to invalid of it.
> - Not all query servers would be use it - suddenly, a most part of them have 
> stopped at point of 0.8.0 release.
> - Not all query servers are really needs in them due to various reasons.
> - Not all couchapps would use all this customizations in full power. Only 
> news one and only may be.
> That's all my thoughts(: A little strange to finish issue description on 
> WONTFIX note, but may be I'm wrong about those reasons. Have someone more 
> thoughts about subject?

--
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

Reply via email to