[jira] [Commented] (SPARK-11824) WebUI does not render descriptions with 'bad' HTML, throws console error
[ https://issues.apache.org/jira/browse/SPARK-11824?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15043374#comment-15043374 ] Apache Spark commented on SPARK-11824: -- User 'srowen' has created a pull request for this issue: https://github.com/apache/spark/pull/10159 > WebUI does not render descriptions with 'bad' HTML, throws console error > > > Key: SPARK-11824 > URL: https://issues.apache.org/jira/browse/SPARK-11824 > Project: Spark > Issue Type: Improvement > Components: SQL, Web UI >Affects Versions: 1.5.2 > Environment: RHEL 6, Java 1.7, Mesos 0.25.0 >Reporter: Andy Robb >Priority: Minor > Labels: starter > > When using SparkSQL CLI, running a query with less-than or greater-than > symbols in a query, viewing the Web UI will throw the following console > warning. (The table and column names have been changed from the actual query.) > This occurs across CLI invocations. The warning is thrown each time the UI is > refreshed, both during query execution and after the query is complete. > {noformat} > 15/11/18 10:45:31 WARN ui.UIUtils: Invalid job description: select count(1) > from table1 where date >= '2015-11-01' and date <= '2015-11-15' > org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 114; The content > of elements must consist of well-formed character data or markup. > at > com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198) > at > com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177) > at > com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:441) > at > com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:368) > at > com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1436) > at > com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.startOfMarkup(XMLDocumentFragmentScannerImpl.java:2636) > at > com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2734) > at > com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606) > at > com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510) > at > com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848) > at > com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777) > at > com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) > at > com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213) > at > com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:648) > at > com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:332) > at scala.xml.factory.XMLLoader$class.loadXML(XMLLoader.scala:40) > at scala.xml.XML$.loadXML(XML.scala:57) > at scala.xml.factory.XMLLoader$class.loadString(XMLLoader.scala:59) > at scala.xml.XML$.loadString(XML.scala:57) > at org.apache.spark.ui.UIUtils$.makeDescription(UIUtils.scala:417) > at > org.apache.spark.ui.jobs.StageTableBase$$anonfun$5$$anonfun$apply$1.apply(StageTable.scala:118) > at > org.apache.spark.ui.jobs.StageTableBase$$anonfun$5$$anonfun$apply$1.apply(StageTable.scala:116) > at scala.Option.map(Option.scala:145) > at > org.apache.spark.ui.jobs.StageTableBase$$anonfun$5.apply(StageTable.scala:116) > at > org.apache.spark.ui.jobs.StageTableBase$$anonfun$5.apply(StageTable.scala:115) > at scala.Option.flatMap(Option.scala:170) > at > org.apache.spark.ui.jobs.StageTableBase.makeDescription(StageTable.scala:115) > at > org.apache.spark.ui.jobs.StageTableBase.stageRow(StageTable.scala:177) > at > org.apache.spark.ui.jobs.StageTableBase.org$apache$spark$ui$jobs$StageTableBase$$renderStageRow(StageTable.scala:195) > at > org.apache.spark.ui.jobs.StageTableBase$$anonfun$toNodeSeq$1.apply(StageTable.scala:60) > at > org.apache.spark.ui.jobs.StageTableBase$$anonfun$toNodeSeq$1.apply(StageTable.scala:60) > at > org.apache.spark.ui.jobs.StageTableBase$$anonfun$stageTable$1.apply(StageTable.scala:69) > at > org.apache.spark.ui.jobs.StageTableBase$$anonfun$stageTable$1.apply(StageTable.scala:69) > at scala.collection.immutable.Stream.map(Stream.scala:376) > at >
[jira] [Commented] (SPARK-11824) WebUI does not render descriptions with 'bad' HTML, throws console error
[ https://issues.apache.org/jira/browse/SPARK-11824?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15032602#comment-15032602 ] Yongjia Wang commented on SPARK-11824: -- Looks this is the right escaper. StringEscapeUtils.escapeXml https://commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/apache/commons/lang/StringEscapeUtils.html#escapeXml(java.lang.String) > WebUI does not render descriptions with 'bad' HTML, throws console error > > > Key: SPARK-11824 > URL: https://issues.apache.org/jira/browse/SPARK-11824 > Project: Spark > Issue Type: Bug > Components: SQL, Web UI >Affects Versions: 1.5.2 > Environment: RHEL 6, Java 1.7, Mesos 0.25.0 >Reporter: Andy Robb >Priority: Minor > Labels: starter > > When using SparkSQL CLI, running a query with less-than or greater-than > symbols in a query, viewing the Web UI will throw the following console > warning. (The table and column names have been changed from the actual query.) > This occurs across CLI invocations. The warning is thrown each time the UI is > refreshed, both during query execution and after the query is complete. > {noformat} > 15/11/18 10:45:31 WARN ui.UIUtils: Invalid job description: select count(1) > from table1 where date >= '2015-11-01' and date <= '2015-11-15' > org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 114; The content > of elements must consist of well-formed character data or markup. > at > com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198) > at > com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177) > at > com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:441) > at > com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:368) > at > com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1436) > at > com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.startOfMarkup(XMLDocumentFragmentScannerImpl.java:2636) > at > com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2734) > at > com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606) > at > com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510) > at > com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848) > at > com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777) > at > com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) > at > com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213) > at > com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:648) > at > com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:332) > at scala.xml.factory.XMLLoader$class.loadXML(XMLLoader.scala:40) > at scala.xml.XML$.loadXML(XML.scala:57) > at scala.xml.factory.XMLLoader$class.loadString(XMLLoader.scala:59) > at scala.xml.XML$.loadString(XML.scala:57) > at org.apache.spark.ui.UIUtils$.makeDescription(UIUtils.scala:417) > at > org.apache.spark.ui.jobs.StageTableBase$$anonfun$5$$anonfun$apply$1.apply(StageTable.scala:118) > at > org.apache.spark.ui.jobs.StageTableBase$$anonfun$5$$anonfun$apply$1.apply(StageTable.scala:116) > at scala.Option.map(Option.scala:145) > at > org.apache.spark.ui.jobs.StageTableBase$$anonfun$5.apply(StageTable.scala:116) > at > org.apache.spark.ui.jobs.StageTableBase$$anonfun$5.apply(StageTable.scala:115) > at scala.Option.flatMap(Option.scala:170) > at > org.apache.spark.ui.jobs.StageTableBase.makeDescription(StageTable.scala:115) > at > org.apache.spark.ui.jobs.StageTableBase.stageRow(StageTable.scala:177) > at > org.apache.spark.ui.jobs.StageTableBase.org$apache$spark$ui$jobs$StageTableBase$$renderStageRow(StageTable.scala:195) > at > org.apache.spark.ui.jobs.StageTableBase$$anonfun$toNodeSeq$1.apply(StageTable.scala:60) > at > org.apache.spark.ui.jobs.StageTableBase$$anonfun$toNodeSeq$1.apply(StageTable.scala:60) > at > org.apache.spark.ui.jobs.StageTableBase$$anonfun$stageTable$1.apply(StageTable.scala:69) > at > org.apache.spark.ui.jobs.StageTableBase$$anonfun$stageTable$1.apply(StageTable.scala:69) > at
[jira] [Commented] (SPARK-11824) WebUI does not render descriptions with 'bad' HTML, throws console error
[ https://issues.apache.org/jira/browse/SPARK-11824?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15032617#comment-15032617 ] Sean Owen commented on SPARK-11824: --- Well, at the least we would use commons3 over commons, and escapeHtml4 there over escapeXml. I see escapeHtml4 used as well as Utility.escape. It'd be good to standardize but escapeHtml4 may be better. > WebUI does not render descriptions with 'bad' HTML, throws console error > > > Key: SPARK-11824 > URL: https://issues.apache.org/jira/browse/SPARK-11824 > Project: Spark > Issue Type: Bug > Components: SQL, Web UI >Affects Versions: 1.5.2 > Environment: RHEL 6, Java 1.7, Mesos 0.25.0 >Reporter: Andy Robb >Priority: Minor > Labels: starter > > When using SparkSQL CLI, running a query with less-than or greater-than > symbols in a query, viewing the Web UI will throw the following console > warning. (The table and column names have been changed from the actual query.) > This occurs across CLI invocations. The warning is thrown each time the UI is > refreshed, both during query execution and after the query is complete. > {noformat} > 15/11/18 10:45:31 WARN ui.UIUtils: Invalid job description: select count(1) > from table1 where date >= '2015-11-01' and date <= '2015-11-15' > org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 114; The content > of elements must consist of well-formed character data or markup. > at > com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198) > at > com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177) > at > com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:441) > at > com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:368) > at > com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1436) > at > com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.startOfMarkup(XMLDocumentFragmentScannerImpl.java:2636) > at > com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2734) > at > com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606) > at > com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510) > at > com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848) > at > com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777) > at > com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) > at > com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213) > at > com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:648) > at > com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:332) > at scala.xml.factory.XMLLoader$class.loadXML(XMLLoader.scala:40) > at scala.xml.XML$.loadXML(XML.scala:57) > at scala.xml.factory.XMLLoader$class.loadString(XMLLoader.scala:59) > at scala.xml.XML$.loadString(XML.scala:57) > at org.apache.spark.ui.UIUtils$.makeDescription(UIUtils.scala:417) > at > org.apache.spark.ui.jobs.StageTableBase$$anonfun$5$$anonfun$apply$1.apply(StageTable.scala:118) > at > org.apache.spark.ui.jobs.StageTableBase$$anonfun$5$$anonfun$apply$1.apply(StageTable.scala:116) > at scala.Option.map(Option.scala:145) > at > org.apache.spark.ui.jobs.StageTableBase$$anonfun$5.apply(StageTable.scala:116) > at > org.apache.spark.ui.jobs.StageTableBase$$anonfun$5.apply(StageTable.scala:115) > at scala.Option.flatMap(Option.scala:170) > at > org.apache.spark.ui.jobs.StageTableBase.makeDescription(StageTable.scala:115) > at > org.apache.spark.ui.jobs.StageTableBase.stageRow(StageTable.scala:177) > at > org.apache.spark.ui.jobs.StageTableBase.org$apache$spark$ui$jobs$StageTableBase$$renderStageRow(StageTable.scala:195) > at > org.apache.spark.ui.jobs.StageTableBase$$anonfun$toNodeSeq$1.apply(StageTable.scala:60) > at > org.apache.spark.ui.jobs.StageTableBase$$anonfun$toNodeSeq$1.apply(StageTable.scala:60) > at > org.apache.spark.ui.jobs.StageTableBase$$anonfun$stageTable$1.apply(StageTable.scala:69) > at > org.apache.spark.ui.jobs.StageTableBase$$anonfun$stageTable$1.apply(StageTable.scala:69) > at
[jira] [Commented] (SPARK-11824) WebUI does not render descriptions with 'bad' HTML, throws console error
[ https://issues.apache.org/jira/browse/SPARK-11824?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15031199#comment-15031199 ] Yongjia Wang commented on SPARK-11824: -- Yes, this is annoying and not just for CLI. But you can turn off the annoying message like this LogManager.getLogger("org.apache.spark.ui").setLevel(Level.ERROR) > WebUI does not render descriptions with 'bad' HTML, throws console error > > > Key: SPARK-11824 > URL: https://issues.apache.org/jira/browse/SPARK-11824 > Project: Spark > Issue Type: Bug > Components: SQL, Web UI >Affects Versions: 1.5.2 > Environment: RHEL 6, Java 1.7, Mesos 0.25.0 >Reporter: Andy Robb >Priority: Minor > > When using SparkSQL CLI, running a query with less-than or greater-than > symbols in a query, viewing the Web UI will throw the following console > warning. (The table and column names have been changed from the actual query.) > This occurs across CLI invocations. The warning is thrown each time the UI is > refreshed, both during query execution and after the query is complete. > {noformat} > 15/11/18 10:45:31 WARN ui.UIUtils: Invalid job description: select count(1) > from table1 where date >= '2015-11-01' and date <= '2015-11-15' > org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 114; The content > of elements must consist of well-formed character data or markup. > at > com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198) > at > com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177) > at > com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:441) > at > com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:368) > at > com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1436) > at > com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.startOfMarkup(XMLDocumentFragmentScannerImpl.java:2636) > at > com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2734) > at > com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606) > at > com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510) > at > com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848) > at > com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777) > at > com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) > at > com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213) > at > com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:648) > at > com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:332) > at scala.xml.factory.XMLLoader$class.loadXML(XMLLoader.scala:40) > at scala.xml.XML$.loadXML(XML.scala:57) > at scala.xml.factory.XMLLoader$class.loadString(XMLLoader.scala:59) > at scala.xml.XML$.loadString(XML.scala:57) > at org.apache.spark.ui.UIUtils$.makeDescription(UIUtils.scala:417) > at > org.apache.spark.ui.jobs.StageTableBase$$anonfun$5$$anonfun$apply$1.apply(StageTable.scala:118) > at > org.apache.spark.ui.jobs.StageTableBase$$anonfun$5$$anonfun$apply$1.apply(StageTable.scala:116) > at scala.Option.map(Option.scala:145) > at > org.apache.spark.ui.jobs.StageTableBase$$anonfun$5.apply(StageTable.scala:116) > at > org.apache.spark.ui.jobs.StageTableBase$$anonfun$5.apply(StageTable.scala:115) > at scala.Option.flatMap(Option.scala:170) > at > org.apache.spark.ui.jobs.StageTableBase.makeDescription(StageTable.scala:115) > at > org.apache.spark.ui.jobs.StageTableBase.stageRow(StageTable.scala:177) > at > org.apache.spark.ui.jobs.StageTableBase.org$apache$spark$ui$jobs$StageTableBase$$renderStageRow(StageTable.scala:195) > at > org.apache.spark.ui.jobs.StageTableBase$$anonfun$toNodeSeq$1.apply(StageTable.scala:60) > at > org.apache.spark.ui.jobs.StageTableBase$$anonfun$toNodeSeq$1.apply(StageTable.scala:60) > at > org.apache.spark.ui.jobs.StageTableBase$$anonfun$stageTable$1.apply(StageTable.scala:69) > at > org.apache.spark.ui.jobs.StageTableBase$$anonfun$stageTable$1.apply(StageTable.scala:69) > at scala.collection.immutable.Stream.map(Stream.scala:376) > at >