[jira] [Commented] (DRILL-2570) Broken JDBC-All Jar packaging can cause missing XML classes
[ https://issues.apache.org/jira/browse/DRILL-2570?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14535936#comment-14535936 ] Parth Chandra commented on DRILL-2570: -- merged in commit c2bd698 > Broken JDBC-All Jar packaging can cause missing XML classes > --- > > Key: DRILL-2570 > URL: https://issues.apache.org/jira/browse/DRILL-2570 > Project: Apache Drill > Issue Type: Bug > Components: Tools, Build & Test >Reporter: Daniel Barclay (Drill) >Assignee: Parth Chandra > Fix For: 1.0.0 > > Attachments: DRILL-2570.1.patch.txt, ElementTraversal.rtf, > xerces-error.rtf > > > [Transcribed from other medium:] > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > - - - - - - - - - - - > When starting Spotfire Server using JDBC driver an error see attachment > (xerces-error) is produced. > This error is then resolved by adding the jars/3rdparty/xercesImpl-2.11.0.jar > from the drillbit package to the classpath for the JDBC client driver. > Then the following error is observed. See attachment (ElementTraversal). > This requires to add jars/3rdparty/xml-apis-1.4.01.jar to the classpath from > the drillbit package. > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > - - - - - - - - - - - > The issue is Tomcat and Spotfire Server does not show any errors and starts > up fine without the Drill JDBC driver. Once the Drill driver is added the > application server fails to start with the errors shown. > Adding the 2 jars to the classpath then resolves the issue. > I have not looked at all the JDBC driver classes, but it is important to note > that the error occurs when the JDBC driver is added and resolved by adding 2 > jars from the drillbit package. > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > - - - - - - - - - - - > > I do not see Drill classes in the stack trace. This seems to be a Tomcat > > configuration issue. > I suspect another possibility: that the Drill JDBC-all Jar file contains a > stray reference to the unfound class (SAXParserFactoryImpl) in some file in > META-INF/services (left over from some package whose classes we either > excluded or renamed (with "shading") > Xxx, Yyy: Can you try this?: > (Temporarily) removing the added XML Jar files from the class path to > re-confirm the problem. > Move the Drill JDBC-all Jar file to be last on the class path (and remove > ). > Report whether the symptoms change. > Thanks. > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > - - - - - - - - - - - -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (DRILL-2570) Broken JDBC-All Jar packaging can cause missing XML classes
[ https://issues.apache.org/jira/browse/DRILL-2570?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14535408#comment-14535408 ] Daniel Barclay (Drill) commented on DRILL-2570: --- [~pwong-mapr] Yes, that change seems to solve the problem. (The META-INF/services/ tree no longer exists in exec/jdbc-all/target/drill-jdbc-all-1.0.0-SNAPSHOT.jar.) [~parthc] Can you merge this patch in? > Broken JDBC-All Jar packaging can cause missing XML classes > --- > > Key: DRILL-2570 > URL: https://issues.apache.org/jira/browse/DRILL-2570 > Project: Apache Drill > Issue Type: Bug > Components: Tools, Build & Test >Reporter: Daniel Barclay (Drill) >Assignee: Daniel Barclay (Drill) > Fix For: 1.0.0 > > Attachments: DRILL-2570.1.patch.txt, ElementTraversal.rtf, > xerces-error.rtf > > > [Transcribed from other medium:] > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > - - - - - - - - - - - > When starting Spotfire Server using JDBC driver an error see attachment > (xerces-error) is produced. > This error is then resolved by adding the jars/3rdparty/xercesImpl-2.11.0.jar > from the drillbit package to the classpath for the JDBC client driver. > Then the following error is observed. See attachment (ElementTraversal). > This requires to add jars/3rdparty/xml-apis-1.4.01.jar to the classpath from > the drillbit package. > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > - - - - - - - - - - - > The issue is Tomcat and Spotfire Server does not show any errors and starts > up fine without the Drill JDBC driver. Once the Drill driver is added the > application server fails to start with the errors shown. > Adding the 2 jars to the classpath then resolves the issue. > I have not looked at all the JDBC driver classes, but it is important to note > that the error occurs when the JDBC driver is added and resolved by adding 2 > jars from the drillbit package. > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > - - - - - - - - - - - > > I do not see Drill classes in the stack trace. This seems to be a Tomcat > > configuration issue. > I suspect another possibility: that the Drill JDBC-all Jar file contains a > stray reference to the unfound class (SAXParserFactoryImpl) in some file in > META-INF/services (left over from some package whose classes we either > excluded or renamed (with "shading") > Xxx, Yyy: Can you try this?: > (Temporarily) removing the added XML Jar files from the class path to > re-confirm the problem. > Move the Drill JDBC-all Jar file to be last on the class path (and remove > ). > Report whether the symptoms change. > Thanks. > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > - - - - - - - - - - - -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (DRILL-2570) Broken JDBC-All Jar packaging can cause missing XML classes
[ https://issues.apache.org/jira/browse/DRILL-2570?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14528582#comment-14528582 ] Jacques Nadeau commented on DRILL-2570: --- [~dsbos], please confirm solution and move to committer if is satisfactory. > Broken JDBC-All Jar packaging can cause missing XML classes > --- > > Key: DRILL-2570 > URL: https://issues.apache.org/jira/browse/DRILL-2570 > Project: Apache Drill > Issue Type: Bug > Components: Tools, Build & Test >Reporter: Daniel Barclay (Drill) >Assignee: Daniel Barclay (Drill) > Fix For: 1.0.0 > > Attachments: DRILL-2570.1.patch.txt, ElementTraversal.rtf, > xerces-error.rtf > > > [Transcribed from other medium:] > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > - - - - - - - - - - - > When starting Spotfire Server using JDBC driver an error see attachment > (xerces-error) is produced. > This error is then resolved by adding the jars/3rdparty/xercesImpl-2.11.0.jar > from the drillbit package to the classpath for the JDBC client driver. > Then the following error is observed. See attachment (ElementTraversal). > This requires to add jars/3rdparty/xml-apis-1.4.01.jar to the classpath from > the drillbit package. > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > - - - - - - - - - - - > The issue is Tomcat and Spotfire Server does not show any errors and starts > up fine without the Drill JDBC driver. Once the Drill driver is added the > application server fails to start with the errors shown. > Adding the 2 jars to the classpath then resolves the issue. > I have not looked at all the JDBC driver classes, but it is important to note > that the error occurs when the JDBC driver is added and resolved by adding 2 > jars from the drillbit package. > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > - - - - - - - - - - - > > I do not see Drill classes in the stack trace. This seems to be a Tomcat > > configuration issue. > I suspect another possibility: that the Drill JDBC-all Jar file contains a > stray reference to the unfound class (SAXParserFactoryImpl) in some file in > META-INF/services (left over from some package whose classes we either > excluded or renamed (with "shading") > Xxx, Yyy: Can you try this?: > (Temporarily) removing the added XML Jar files from the class path to > re-confirm the problem. > Move the Drill JDBC-all Jar file to be last on the class path (and remove > ). > Report whether the symptoms change. > Thanks. > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > - - - - - - - - - - - -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (DRILL-2570) Broken JDBC-All Jar packaging can cause missing XML classes
[ https://issues.apache.org/jira/browse/DRILL-2570?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14488163#comment-14488163 ] Patrick Wong commented on DRILL-2570: - What would happen if the whole {{META-INF/services}} directory was deleted from the JDBC-All jar? > Broken JDBC-All Jar packaging can cause missing XML classes > --- > > Key: DRILL-2570 > URL: https://issues.apache.org/jira/browse/DRILL-2570 > Project: Apache Drill > Issue Type: Bug >Reporter: Daniel Barclay (Drill) >Assignee: Patrick Wong > Attachments: ElementTraversal.rtf, xerces-error.rtf > > > [Transcribed from other medium:] > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > - - - - - - - - - - - > When starting Spotfire Server using JDBC driver an error see attachment > (xerces-error) is produced. > This error is then resolved by adding the jars/3rdparty/xercesImpl-2.11.0.jar > from the drillbit package to the classpath for the JDBC client driver. > Then the following error is observed. See attachment (ElementTraversal). > This requires to add jars/3rdparty/xml-apis-1.4.01.jar to the classpath from > the drillbit package. > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > - - - - - - - - - - - > The issue is Tomcat and Spotfire Server does not show any errors and starts > up fine without the Drill JDBC driver. Once the Drill driver is added the > application server fails to start with the errors shown. > Adding the 2 jars to the classpath then resolves the issue. > I have not looked at all the JDBC driver classes, but it is important to note > that the error occurs when the JDBC driver is added and resolved by adding 2 > jars from the drillbit package. > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > - - - - - - - - - - - > > I do not see Drill classes in the stack trace. This seems to be a Tomcat > > configuration issue. > I suspect another possibility: that the Drill JDBC-all Jar file contains a > stray reference to the unfound class (SAXParserFactoryImpl) in some file in > META-INF/services (left over from some package whose classes we either > excluded or renamed (with "shading") > Xxx, Yyy: Can you try this?: > (Temporarily) removing the added XML Jar files from the class path to > re-confirm the problem. > Move the Drill JDBC-all Jar file to be last on the class path (and remove > ). > Report whether the symptoms change. > Thanks. > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > - - - - - - - - - - - -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (DRILL-2570) Broken JDBC-All Jar packaging can cause missing XML classes
[ https://issues.apache.org/jira/browse/DRILL-2570?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14381072#comment-14381072 ] Daniel Barclay (Drill) commented on DRILL-2570: --- Yes, it does seem to be a violation of Java's [service provider mechanism|http://docs.oracle.com/javase/8/docs/technotes/guides/jar/jar.html#Service_Provider] by Drill, because of a packaging inconsistency problem with the JDBC-all Jar file (e.g., drill-jdbc-all-0.8.0-SNAPSHOT.jar): That Jar file contains a file at {{META-INF/services/javax.xml.parsers.SAXParserFactory}}, and that file says "{{org.apache.xerces.jaxp.SAXParserFactoryImpl}}". However, that Jar file does not contain the referenced class {{org.apache.xerces.jaxp.SAXParserFactoryImpl}} (does not contain file {{org/apache/xerces/jaxp/SAXParserFactoryImpl/class}}). (Evidently: - Java's {{javax.xml.parsers.SAXParserFactory.newInstance(...)}} uses Java's service provider mechanism for configuration, to know which implementation of {{SAXParserFactory}} to instantiate; - that mechanism finds Drill's {{META-INF/services/javax.xml.parsers.SAXParserFactory}} file; and - either {{org.apache.xerces.jaxp.SAXParserFactoryImpl}} doesn't exist anywhere on the class path, or, more likely, the mechanism looks only in the same Jar file in which it found the {{.../services/...}} file and so doesn't find class {{org.apache.xerces.jaxp.SAXParserFactoryImpl}} because Drill doesn't include it in the Jar file.) It seems that the tool and/or the configuration that Drill uses to repackage the contents of original depended-on Jar files into JDBC-all doesn't understand and/or isn't configured enough to keep SPM references and classes synchronized. > Broken JDBC-All Jar packaging can cause missing XML classes > --- > > Key: DRILL-2570 > URL: https://issues.apache.org/jira/browse/DRILL-2570 > Project: Apache Drill > Issue Type: Bug >Reporter: Daniel Barclay (Drill) > Attachments: ElementTraversal.rtf, xerces-error.rtf > > > [Transcribed from other medium:] > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > - - - - - - - - - - - > When starting Spotfire Server using JDBC driver an error see attachment > (xerces-error) is produced. > This error is then resolved by adding the jars/3rdparty/xercesImpl-2.11.0.jar > from the drillbit package to the classpath for the JDBC client driver. > Then the following error is observed. See attachment (ElementTraversal). > This requires to add jars/3rdparty/xml-apis-1.4.01.jar to the classpath from > the drillbit package. > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > - - - - - - - - - - - > The issue is Tomcat and Spotfire Server does not show any errors and starts > up fine without the Drill JDBC driver. Once the Drill driver is added the > application server fails to start with the errors shown. > Adding the 2 jars to the classpath then resolves the issue. > I have not looked at all the JDBC driver classes, but it is important to note > that the error occurs when the JDBC driver is added and resolved by adding 2 > jars from the drillbit package. > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > - - - - - - - - - - - > > I do not see Drill classes in the stack trace. This seems to be a Tomcat > > configuration issue. > I suspect another possibility: that the Drill JDBC-all Jar file contains a > stray reference to the unfound class (SAXParserFactoryImpl) in some file in > META-INF/services (left over from some package whose classes we either > excluded or renamed (with "shading") > Xxx, Yyy: Can you try this?: > (Temporarily) removing the added XML Jar files from the class path to > re-confirm the problem. > Move the Drill JDBC-all Jar file to be last on the class path (and remove > ). > Report whether the symptoms change. > Thanks. > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > - - - - - - - - - - - -- This message was sent by Atlassian JIRA (v6.3.4#6332)