**EDIT** I've found the cause/solution to the bug I initially reported, so am adjusting this to a feature request: ## I want to suggest a feature: **Settings should be validated before attempting to push data** and meaningful feedback provided to allow someone to adjust bad config. ### What is your use case for such a feature? <!-- The more you can tell us about WHY you want to do this, the easier is will be for us to tell you HOW to do it. --> The original issue is fully outlined below. To summarize: a setting in the config was in the wrong format (a number was wrapped in quotes so was treated as a string instead of the number expected by code), however the error was a generic conversion error, which made troubleshooting difficult. In case someone else encounters this issue, I'm leaving the "bug details" below. # Original "bug report" below <!-- Hello and thank you for participating to jekyll-algolia! This form is to report issues or new features. For more generic questions about "How to do this or that?", you should rather check https://discourse.algolia.com/ where we'll be happy to help you. Please make sure you are using the latest version. Also don't hesitate to give us as much details about your issue or feature as you can, so we can have the needed context to give you the best possible answer. You can delete any HTML comment and non-relevant question. --> ## I want to report a bug: `--dry-run` flag gives the "Indexing Complete" status but actual build fails with error: `Error: no implicit conversion of String into Integer` ### What is the current behavior? Aftger running the command `bundle exec jekyll algolia` I get the following output: ``` Configuration file: E:/Documentation/jekyll-deployment-scripts/jekyll-layout/_config.yml Processing site... Progress: |====================================================================| Progress: |====================================================================| Settings are already up to date. Getting list of existing records Updating records in index stg_help... Records to delete: 655 Records to add: 1406 jekyll 3.7.4 | Error: no implicit conversion of String into Integer ``` To troubleshoot, I used the `--dry-run` flag (`bundle exec jekyll algolia --dry-run`) which displays "Indexing complete" ``` Configuration file: E:/Documentation/jekyll-deployment-scripts/jekyll-layout/_config.yml Processing site... Progress: |====================================================================| Progress: |====================================================================| Settings are already up to date. Getting list of existing records Updating records in index stg_help... Records to delete: 655 Records to add: 1406 ✔ Indexing complete ``` To troubleshoot further I used the solution mentioned here: https://github.com/algolia/jekyll-algolia/issues/22#issuecomment-353566802 Using the json data file generated by the plugin linked above, I was successfully able to manually upload the whole data set in one go - I assumed that something about the data was off but there were no error messages when I submitted via the "manual upload" option on the web. At this point, the value of the plugin (auto-updating the right records) is lost to me until I can figure out what setting, frontmatter, or other thing is causing the issue. Is there something I should look for in the content? (e.g. if my frontmatter has numeric properties, is that causing the issue?). ### What is your expected behavior? I expect either: 1) the `--dry-run` option should produce similar results to the live build. 2) a meaningful error message pointing to what data, line of json, or file caused the failure to upload. ### Ruby version used: This issue is consistent on two different platforms building the same content/config files (one's a build server - linux, one's my desktop - windows 10). Here are both ruby versions <!-- `ruby -v` should give you this information --> windows: ruby 2.6.6p146 (2020-03-31 revision 67876) [x64-mingw32] linux: ruby 2.5.1p57 (2018-03-29 revision 63029 [x86_64-linux-gnu] ### Jekyll version used: <!-- `bundle exec jekyll -v` should give you this one --> windows: jekyll 3.7.4 linux: jekyll 3.8.5 ## Cause/Resolution The issue was due to the setting `indexing_batch_size` in quotes in _config.yml Broken: ```yaml algolia: application_id: "XKCD797" # from account search_only_api_key: "00000000000000000000000000000000" # from account index_name: "my_index" # from account indexing_batch_size: "500" #BROKEN LINE IS HERE nodes_to_index: 'p,li,blockquote,dd' files_to_exclude: [] ``` Working: ```yml algolia: application_id: "XKCD797" # from account search_only_api_key: "00000000000000000000000000000000" # from account index_name: "my_index" # from account indexing_batch_size: 500 #FIXED LINE IS HERE nodes_to_index: 'p,li,blockquote,dd' files_to_exclude: [] ```