That should be a good idea, but I still have an issue with adding the custom dispatch to the yarnui service.xml. I already have an existing class there <dispatch classname="org.apache.hadoop.gateway.dispatch.DefaultDispatch" ha-classname="org.apache.hadoop.gateway.rm.dispatch.RMUIHaDispatch"/>
Should I replace the DefaultDispatch or I can have more than one there? Regards, On Tue, Sep 4, 2018 at 10:14 PM Dhruv Goyal <777.dh...@gmail.com> wrote: > In that case you might have to build the jar yourself or preferably use > your custom dispatch similar to URLDecodingDispatch. > > Regards > Dhruv > > On Wednesday, September 5, 2018, Theyaa Matti <theyaama...@gmail.com> > wrote: > >> Sorry 0.12.0 >> >> On Tue, Sep 4, 2018 at 2:30 PM Theyaa Matti <theyaama...@gmail.com> >> wrote: >> >>> I am using Knox 1.12.0 >>> >>> On Tue, Sep 4, 2018 at 2:28 PM Sandeep Moré <moresand...@gmail.com> >>> wrote: >>> >>>> You can try >>>> using "org.apache.knox.gateway.dispatch.URLDecodingDispatch" dispatch in >>>> service.xml ( Knox 1.1.0) >>>> >>>> Best, >>>> Sandeep >>>> >>>> On Tue, Sep 4, 2018 at 2:09 PM Theyaa Matti <theyaama...@gmail.com> >>>> wrote: >>>> >>>>> I am having issues with Knox encoding the following URL when parsing >>>>> html content. >>>>> >>>>> /proxy/application_222233323323_0001/stages/stage?id=0&attempt=0 >>>>> >>>>> >>>>> This URL is generated by Yarn to track a running spark job. When >>>>> applying regular rules to the above URL, Knox encodes the URL to: >>>>> >>>>> >>>>> /proxy/application_222233323323_0001/stages/stage?amp%3Battempt=0&id=0 >>>>> >>>>> >>>>> Which makes the URL unusable and leads to a 404. To make the URL work >>>>> I have to remove "amp%3B" and then it works. >>>>> >>>>> >>>>> Below are the filter and the rule I am using for this URL and I >>>>> appreciate your help/comments for a remediation. >>>>> >>>>> >>>>> <filter name="YARNUI/yarn/outbound/apps1"> >>>>> <content type="*/html"> >>>>> <apply path="/proxy/[^']+/stages/stage[^']*" >>>>> rule="YARNUI/yarn/outbound/apps/history3"/> >>>>> </content> >>>>> </filter> >>>>> >>>>> >>>>> <rule dir="OUT" name="YARNUI/yarn/outbound/apps/history3"> >>>>> <match pattern="/proxy/{*}/stages/stage?{**}"/> >>>>> <rewrite >>>>> template="{$frontend[url]}/yarn/proxy/{*}/stages/stage?{**}"/> >>>>> </rule> >>>>> >>>>> >>>>> Thank you for your help. >>>>> >>>>> >>>>>