maytasm3 opened a new pull request #9164: fix Hadoop ingestion fails due to error 'JavaScript is disabled' on certain config URL: https://github.com/apache/druid/pull/9164 Fixes Hadoop ingestion fails due to error "JavaScript is disabled", if determine partition map reduce job is run and "mapreduce.reduce.java.opts" + "mapreduce.map.java.opts" is not set with druid.javascript.enabled=true ### Description The root cause of the failure is depending on if the determine_partitions map reduce job needs to be run or not. If the determine_partitions map reduce job needs to be run, then it will fail with the "JavaScript is disabled" error if "mapreduce.reduce.java.opts" + "mapreduce.map.java.opts" is not set with druid.javascript.enabled=true. This is due to peon not sending the druid.javascript.enabled value (that is set in the _common/common.runtime.properties) to hadoop when running the determine_partitions map reduce job The determine_partitions is run for many configuration settings. For example, if "maxRowsPerSegment" is null but numShard is also null, then maxRowsPerSegment is internally set to default value of 5000000 and the determine_partitions job is run. The fix is simply to include the druid.javascript.enabled prop when running the determine_partitions map reduce job (similar to how we do when we send the index-generator map reduce job. (Note that the druid.javascript.enabled is inject correctly for index-generator job). Current workaround is to pass the druid.javascript.enabled=true in "mapreduce.map.java.opts" and "mapreduce.reduce.java.opts" in addition to setting druid.javascript.enabled=true in _common/common.runtime.properties This PR has: - [x] been self-reviewed. - [ ] added documentation for new or modified features or behaviors. - [ ] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links. - [ ] added or updated version, license, or notice information in [licenses.yaml](https://github.com/apache/druid/blob/master/licenses.yaml) - [] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader. - [ ] added unit tests or modified existing tests to cover new code paths. - [ ] added integration tests. - [x ] been tested in a test Druid cluster. <!-- Check the items by putting "x" in the brackets for the done things. Not all of these items apply to every PR. Remove the items which are not done or not relevant to the PR. None of the items from the checklist above are strictly necessary, but it would be very helpful if you at least self-review the PR. --> <hr> ##### Key changed/added classes in this PR * `MyFoo` * `OurBar` * `TheirBaz`
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
