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]

Reply via email to