我正在一個地圖/減少審查,我總是有reduce_overflow_error每次我運行視圖,如果我在couchdb配置中設置reduce_limit = false,它工作,我想知道如果我改變這是否有負面影響配置設置?謝謝可以在couchdb配置中設置reduce_limit = false配置嗎?
1
A
回答
1
設置reduce_limit=true
強制CouchDB控制每個減少步驟的減少輸出的大小。如果字符串化JSON輸出的縮減步驟的字符數超過200個字符和它比輸入長兩倍或更多,CouchDB的查詢服務器將引發錯誤。兩個數字,2個和200個字符,都是硬編碼的。
由於reduce函數在SpiderMonkey實例中運行,只有64Mb RAM可用,所以默認情況下設置的限制看起來合理。理論上,減少必須摺疊,而不是放棄所給的數據。
但是,在現實生活中,在所有情況下飛行都是非常困難的。您無法控制(再)減少步驟的塊數。這意味着你可能會遇到這樣的情況,當你輸出某個特定塊的字符長度超過兩倍時,儘管其他塊減少的時間要短得多。在這種情況下,如果設置了reduce_limit,那麼即使是一個不舒服的塊也會打破整個縮減。
因此,如果縮減器有時可以輸出比收到的更多數據,那麼取消設置reduce_limit可能會有所幫助。
常見大小寫 - 將數組展開到對象中。想象一下,您會收到像[[1,2,3...70], [5,6,7...], ...]
這樣的數組列表作爲輸入行。您想要以{key0:(sum of 0th elts), key1:(sum of 1st elts)...}
的方式彙總您的列表。
如果CouchDB決定向您發送1或2行的塊,則會出現錯誤。原因很簡單 - 對象鍵也計算結果長度。
可能(但很難實現)的負面影響是SpiderMonkey的實例不斷重新啓動/下降上RAM超過配額,試圖處理還原步驟或整個減少時。重新啓動SM是CPU和內存密集型和一般費用幾百毫秒。
相關問題
- 1. 我可以在配置文件中設置GPS配置的更改嗎?
- 2. 你可以在log4net配置中設置屬性值嗎?
- 3. 可以在Spring配置中配置兩個DataSoure嗎?
- 4. 可以編程設置java中的hibernate.cfg.xml文件配置嗎?
- 5. 我可以以編程方式設置Mercurial配置選項嗎?
- 6. 在application.ini中設置PHP配置設置
- 7. 在init.rb中設置配置
- 8. 在mrunit中設置配置
- 9. 您可以配置WCF使用的XmlWriter的默認設置嗎?
- 10. 配置設置
- 11. 設置配置?
- 12. IIS 7配置 - 一切都可以通過web.config配置嗎?
- 13. 我的iPhone可以配置兩個配置文件嗎?
- 14. 在JBoss中我可以配置一個「共享庫」位置嗎?
- 15. 我可以在web.config中放置Remoting配置嗎?
- 16. Jmeter分配配置設置
- 17. 在FitNesse中可以覆蓋根頁面中配置的設置嗎?
- 18. 可以在虛擬主機配置中讀取.htaccess中設置的值嗎?
- 19. 羣集配置Couchdb 2.0
- 20. 我可以在MobileFirst 8適配器中設置AuthenticatedUser嗎?
- 21. 是否可以在application.ini配置中設置Zend_Date選項?
- 22. 可以在web.config中配置客戶端證書設置
- 23. Maven - 我可以在配置文件定義中引用配置文件ID嗎?
- 24. Spree配置文件 - 設置可以在管理面板中設置的東西
- 25. 我可以在Eclipse Java項目運行配置中設置任意命令嗎?
- 26. 我可以在UWP應用桌面掃描儀中配置設置嗎?
- 27. Elasticsearch配置設置
- 28. config_test.yml設置:配置
- 29. 配置smtp設置