[jira] [Comment Edited] (HADOOP-15686) Supress bogus AbstractWadlGeneratorGrammarGenerator in KMS stderr
[ https://issues.apache.org/jira/browse/HADOOP-15686?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16767455#comment-16767455 ] Xiaoyu Yao edited comment on HADOOP-15686 at 2/13/19 6:45 PM: -- [~jojochuang], thanks for the pointer on the performance issue with jul_to_slf4j. However, in patch v2, we only disable jul for com.sun.jersey.server.wadl.generators class. This will be different from previous patch where all jul is redirected. We may still get JUL from other jersey class? Have you consider installing LevelChangePropagator along with jul_to_slf4j approach (before HADOOP-13597) to eliminate the 60x overhead as mentioned in the same slf4j doc? was (Author: xyao): [~jojochuang], thanks for the pointer on the performance issue with jul_to_slf4j. However, in patch v2, we only disable jul for com.sun.jersey.server.wadl.generators class. This will be different from previous patch where all jul is redirected. We may still get JUL from other jersey class? Have you consider installing LevelChangePropagator along with jul_to_slf4j approach (before HADOO-13597) to eliminate the 60x overhead as mentioned in the same slf4j doc? > Supress bogus AbstractWadlGeneratorGrammarGenerator in KMS stderr > - > > Key: HADOOP-15686 > URL: https://issues.apache.org/jira/browse/HADOOP-15686 > Project: Hadoop Common > Issue Type: Bug > Components: kms >Affects Versions: 3.0.0 >Reporter: Wei-Chiu Chuang >Assignee: Wei-Chiu Chuang >Priority: Major > Attachments: HADOOP-15686.001.patch, HADOOP-15686.002.patch > > > After we switched underlying system of KMS from Tomcat to Jetty, we started > to observe a lot of bogus messages like the follow [1]. It is harmless but > very annoying. Let's suppress it in log4j configuration. > [1] > {quote} > Aug 20, 2018 11:26:17 AM > com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator > buildModelAndSchemas > SEVERE: Failed to generate the schema for the JAX-B elements > com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 2 counts of > IllegalAnnotationExceptions > java.util.Map is an interface, and JAXB can't handle interfaces. > this problem is related to the following location: > at java.util.Map > java.util.Map does not have a no-arg default constructor. > this problem is related to the following location: > at java.util.Map > at > com.sun.xml.bind.v2.runtime.IllegalAnnotationsException$Builder.check(IllegalAnnotationsException.java:106) > at > com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:489) > at > com.sun.xml.bind.v2.runtime.JAXBContextImpl.(JAXBContextImpl.java:319) > at > com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1170) > at > com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:145) > at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:247) > at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:234) > at javax.xml.bind.ContextFinder.find(ContextFinder.java:441) > at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:641) > at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:584) > at > com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator.buildModelAndSchemas(WadlGeneratorJAXBGrammarGenerator.java:169) > at > com.sun.jersey.server.wadl.generators.AbstractWadlGeneratorGrammarGenerator.createExternalGrammar(AbstractWadlGeneratorGrammarGenerator.java:405) > at com.sun.jersey.server.wadl.WadlBuilder.generate(WadlBuilder.java:149) > at > com.sun.jersey.server.impl.wadl.WadlApplicationContextImpl.getApplication(WadlApplicationContextImpl.java:119) > at > com.sun.jersey.server.impl.wadl.WadlApplicationContextImpl.getApplication(WadlApplicationContextImpl.java:138) > at > com.sun.jersey.server.impl.wadl.WadlMethodFactory$WadlOptionsMethodDispatcher.dispatch(WadlMethodFactory.java:110) > at > com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302) > at > com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) > at > com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108) > at > com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) > at > com.sun.jersey.server.impl.uri.rules.RootResourceCla
[jira] [Comment Edited] (HADOOP-15686) Supress bogus AbstractWadlGeneratorGrammarGenerator in KMS stderr
[ https://issues.apache.org/jira/browse/HADOOP-15686?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16758001#comment-16758001 ] Xiaoyu Yao edited comment on HADOOP-15686 at 2/1/19 7:16 PM: - Thanks [~jojochuang] for working on this. The patch LGTM, +1. I just have two minor comments: KMSWebApp.java Line 84: Can we add a javadoc for this function? {code:java} /** *Maps jersey's java.util.logging to slf4j */{code} Line 85: NIT: can we remove "Optionally" as we are remove all here unconditionally? Also, we can remove "Inspired by ATLAS-16" because this code was there in KMSWebApp.java but was removed by HADOOP-13597 by accident. Have you consider declaring it in a static block like before to ensure it only execute once? {code:java} static { SLF4JBridgeHandler.removeHandlersForRootLogger(); SLF4JBridgeHandler.install(); } {code} was (Author: xyao): Thanks [~jojochuang] for working on this. The patch LGTM, +1. I just have two minor comments: KMSWebApp.java Line 84: Can we add a javadoc for this function? {code:java} /** *Maps jersey's java.util.logging to slf4j */{code} Line 85: NIT: can we remove "Optionally" as we are remove all here unconditionally? Also, we can remove "Inspired by ATLAS-16" because this code was there in KMSWebApp.java but was removed by HADOOP-13597 by accident. Have you consider declaring it in a static block like before to ensure it only execute once? {code:java} static { SLF4JBridgeHandler.removeHandlersForRootLogger(); SLF4JBridgeHandler.install(); } {code} > Supress bogus AbstractWadlGeneratorGrammarGenerator in KMS stderr > - > > Key: HADOOP-15686 > URL: https://issues.apache.org/jira/browse/HADOOP-15686 > Project: Hadoop Common > Issue Type: Bug > Components: kms >Affects Versions: 3.0.0 >Reporter: Wei-Chiu Chuang >Assignee: Wei-Chiu Chuang >Priority: Major > Attachments: HADOOP-15686.001.patch > > > After we switched underlying system of KMS from Tomcat to Jetty, we started > to observe a lot of bogus messages like the follow [1]. It is harmless but > very annoying. Let's suppress it in log4j configuration. > [1] > {quote} > Aug 20, 2018 11:26:17 AM > com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator > buildModelAndSchemas > SEVERE: Failed to generate the schema for the JAX-B elements > com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 2 counts of > IllegalAnnotationExceptions > java.util.Map is an interface, and JAXB can't handle interfaces. > this problem is related to the following location: > at java.util.Map > java.util.Map does not have a no-arg default constructor. > this problem is related to the following location: > at java.util.Map > at > com.sun.xml.bind.v2.runtime.IllegalAnnotationsException$Builder.check(IllegalAnnotationsException.java:106) > at > com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:489) > at > com.sun.xml.bind.v2.runtime.JAXBContextImpl.(JAXBContextImpl.java:319) > at > com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1170) > at > com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:145) > at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:247) > at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:234) > at javax.xml.bind.ContextFinder.find(ContextFinder.java:441) > at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:641) > at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:584) > at > com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator.buildModelAndSchemas(WadlGeneratorJAXBGrammarGenerator.java:169) > at > com.sun.jersey.server.wadl.generators.AbstractWadlGeneratorGrammarGenerator.createExternalGrammar(AbstractWadlGeneratorGrammarGenerator.java:405) > at com.sun.jersey.server.wadl.WadlBuilder.generate(WadlBuilder.java:149) > at > com.sun.jersey.server.impl.wadl.WadlApplicationContextImpl.getApplication(WadlApplicationContextImpl.java:119) > at > com.sun.jersey.server.impl.wadl.WadlApplicationContextImpl.getApplication(WadlApplicationContextImpl.java:138) > at > com.sun.jersey.server.impl.wadl.WadlMethodFactory$WadlOptionsMethodDispatcher.dispatch(WadlMethodFactory.java:110) > at > com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
[jira] [Comment Edited] (HADOOP-15686) Supress bogus AbstractWadlGeneratorGrammarGenerator in KMS stderr
[ https://issues.apache.org/jira/browse/HADOOP-15686?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16758001#comment-16758001 ] Xiaoyu Yao edited comment on HADOOP-15686 at 2/1/19 7:16 PM: - Thanks [~jojochuang] for working on this. The patch LGTM, +1. I just have two minor comments: KMSWebApp.java Line 84: Can we add a javadoc for this function? {code:java} /** *Maps jersey's java.util.logging to slf4j */{code} Line 85: NIT: can we remove "Optionally" as we are remove all here unconditionally? Also, we can remove "Inspired by ATLAS-16" because this code was there in KMSWebApp.java but was removed by HADOOP-13597 by accident. Have you consider declaring it in a static block like before to ensure it only execute once? {code:java} static { SLF4JBridgeHandler.removeHandlersForRootLogger(); SLF4JBridgeHandler.install(); } {code} was (Author: xyao): Thanks [~jojochuang] for working on this. The patch LGTM, +1. I just have two minor comments: KMSWebApp.java Line 84: Can we add a javadoc for this function? {code:java} /** *Maps jersey's java.util.logging to slf4j */{code} Line 85: NIT: can we remove "Optionally" as we are remove all here unconditionally? Also, we can remove "Inspired by ATLAS-16" because this code was there in KMSWebApp.java but was removed by HADOOP-13597 by accident. Have you consider declaring it in a static block like before to ensure it only execute once. {code} static { SLF4JBridgeHandler.removeHandlersForRootLogger(); SLF4JBridgeHandler.install(); } {code} > Supress bogus AbstractWadlGeneratorGrammarGenerator in KMS stderr > - > > Key: HADOOP-15686 > URL: https://issues.apache.org/jira/browse/HADOOP-15686 > Project: Hadoop Common > Issue Type: Bug > Components: kms >Affects Versions: 3.0.0 >Reporter: Wei-Chiu Chuang >Assignee: Wei-Chiu Chuang >Priority: Major > Attachments: HADOOP-15686.001.patch > > > After we switched underlying system of KMS from Tomcat to Jetty, we started > to observe a lot of bogus messages like the follow [1]. It is harmless but > very annoying. Let's suppress it in log4j configuration. > [1] > {quote} > Aug 20, 2018 11:26:17 AM > com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator > buildModelAndSchemas > SEVERE: Failed to generate the schema for the JAX-B elements > com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 2 counts of > IllegalAnnotationExceptions > java.util.Map is an interface, and JAXB can't handle interfaces. > this problem is related to the following location: > at java.util.Map > java.util.Map does not have a no-arg default constructor. > this problem is related to the following location: > at java.util.Map > at > com.sun.xml.bind.v2.runtime.IllegalAnnotationsException$Builder.check(IllegalAnnotationsException.java:106) > at > com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:489) > at > com.sun.xml.bind.v2.runtime.JAXBContextImpl.(JAXBContextImpl.java:319) > at > com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1170) > at > com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:145) > at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:247) > at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:234) > at javax.xml.bind.ContextFinder.find(ContextFinder.java:441) > at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:641) > at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:584) > at > com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator.buildModelAndSchemas(WadlGeneratorJAXBGrammarGenerator.java:169) > at > com.sun.jersey.server.wadl.generators.AbstractWadlGeneratorGrammarGenerator.createExternalGrammar(AbstractWadlGeneratorGrammarGenerator.java:405) > at com.sun.jersey.server.wadl.WadlBuilder.generate(WadlBuilder.java:149) > at > com.sun.jersey.server.impl.wadl.WadlApplicationContextImpl.getApplication(WadlApplicationContextImpl.java:119) > at > com.sun.jersey.server.impl.wadl.WadlApplicationContextImpl.getApplication(WadlApplicationContextImpl.java:138) > at > com.sun.jersey.server.impl.wadl.WadlMethodFactory$WadlOptionsMethodDispatcher.dispatch(WadlMethodFactory.java:110) > at > com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRul
[jira] [Comment Edited] (HADOOP-15686) Supress bogus AbstractWadlGeneratorGrammarGenerator in KMS stderr
[ https://issues.apache.org/jira/browse/HADOOP-15686?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16758001#comment-16758001 ] Xiaoyu Yao edited comment on HADOOP-15686 at 2/1/19 7:15 PM: - Thanks [~jojochuang] for working on this. The patch LGTM, +1. I just have two minor comments: KMSWebApp.java Line 84: Can we add a javadoc for this function? {code:java} /** *Maps jersey's java.util.logging to slf4j */{code} Line 85: NIT: can we remove "Optionally" as we are remove all here unconditionally? Also, we can remove "Inspired by ATLAS-16" because this code was there in KMSWebApp.java but was removed by HADOOP-13597 by accident. Have you consider declaring it in a static block like before to ensure it only execute once. {code} static { SLF4JBridgeHandler.removeHandlersForRootLogger(); SLF4JBridgeHandler.install(); } {code} was (Author: xyao): Thanks [~jojochuang] for working on this. The patch LGTM, +1. I just have two minor comments: KMSWebApp.java Line 84: Can we add a javadoc for this function? {code:java} /** *Maps jersey's java.util.logging to slf4j */{code} Line 85: NIT: can we remove "Optionally" as we are remove all here unconditionally? Also, we can remove "Inspired by ATLAS-16". > Supress bogus AbstractWadlGeneratorGrammarGenerator in KMS stderr > - > > Key: HADOOP-15686 > URL: https://issues.apache.org/jira/browse/HADOOP-15686 > Project: Hadoop Common > Issue Type: Bug > Components: kms >Affects Versions: 3.0.0 >Reporter: Wei-Chiu Chuang >Assignee: Wei-Chiu Chuang >Priority: Major > Attachments: HADOOP-15686.001.patch > > > After we switched underlying system of KMS from Tomcat to Jetty, we started > to observe a lot of bogus messages like the follow [1]. It is harmless but > very annoying. Let's suppress it in log4j configuration. > [1] > {quote} > Aug 20, 2018 11:26:17 AM > com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator > buildModelAndSchemas > SEVERE: Failed to generate the schema for the JAX-B elements > com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 2 counts of > IllegalAnnotationExceptions > java.util.Map is an interface, and JAXB can't handle interfaces. > this problem is related to the following location: > at java.util.Map > java.util.Map does not have a no-arg default constructor. > this problem is related to the following location: > at java.util.Map > at > com.sun.xml.bind.v2.runtime.IllegalAnnotationsException$Builder.check(IllegalAnnotationsException.java:106) > at > com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:489) > at > com.sun.xml.bind.v2.runtime.JAXBContextImpl.(JAXBContextImpl.java:319) > at > com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1170) > at > com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:145) > at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:247) > at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:234) > at javax.xml.bind.ContextFinder.find(ContextFinder.java:441) > at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:641) > at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:584) > at > com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator.buildModelAndSchemas(WadlGeneratorJAXBGrammarGenerator.java:169) > at > com.sun.jersey.server.wadl.generators.AbstractWadlGeneratorGrammarGenerator.createExternalGrammar(AbstractWadlGeneratorGrammarGenerator.java:405) > at com.sun.jersey.server.wadl.WadlBuilder.generate(WadlBuilder.java:149) > at > com.sun.jersey.server.impl.wadl.WadlApplicationContextImpl.getApplication(WadlApplicationContextImpl.java:119) > at > com.sun.jersey.server.impl.wadl.WadlApplicationContextImpl.getApplication(WadlApplicationContextImpl.java:138) > at > com.sun.jersey.server.impl.wadl.WadlMethodFactory$WadlOptionsMethodDispatcher.dispatch(WadlMethodFactory.java:110) > at > com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302) > at > com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) > at > com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108) > at > com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightH