Hi Ananth, Thanks for investigating this all the way. Can you please create a JIRA for this bug?
Thanks, Thomas -- sent from mobile On May 7, 2016 3:53 PM, "Ananth Gundabattula" <agundabatt...@gmail.com> wrote: > Hello Thomas/Siyuan/David/Sandeep/Shubham, > > > The issue was resolved by placing another jar instead of the > javaee-api.jar in the apex-engines/lib folder. By pushing hibernate-jpa-api > jar , I was able to get around this issue. > > However this is only a hack and I believe we might see this issue for all > apps that have JSR 303 annotations in their code. It looks like Apex is > using the classloader of the apex engine that loads only lib folder of the > engine to verify the annotations ( annotations related to validation ) and > not the application classpath. > > > Thanks all for your time. > > Regards, > Ananth > > On Thu, May 5, 2016 at 5:35 AM, Ananth Gundabattula < > agundabatt...@gmail.com> wrote: > >> Hello Thomas, >> >> Thanks for the input. >> >> I tried both the UI and the command line dtcli client . Both of them are >> giving the same exact stack trace error. >> >> Regards, >> Ananth >> >> On Thu, May 5, 2016 at 5:23 AM, Thomas Weise <thomas.we...@gmail.com> >> wrote: >> >>> Hi Ananth, >>> >>> One possibility is the bval resolver not considering the context class >>> loader when processing the annotation. Do you see the same issue when >>> launching the application through the UI? >>> >>> Thanks, >>> Thomas >>> >>> >>> On Mon, May 2, 2016 at 2:35 PM, Ananth Gundabattula < >>> agundabatt...@gmail.com> wrote: >>> >>>> Hello Siyuan, >>>> >>>> Please find attached the output of the unzip -t command on the apa >>>> package. >>>> >>>> The library jar is indeed present in there. >>>> >>>> What confuses me here is that the stack trace suggests that it is >>>> coming when the engine is validating the App ( and not from my application >>>> code). I am suspecting one of the following is causing this : >>>> >>>> >>>> - the bval ( JSR 303 ) jar validation path is somehow conflicting >>>> with the JPA validation framework and is causing this issue but am not >>>> sure. >>>> - CDH 5.7 might have changed restructured a few jars ?? ( I am not >>>> sure of this either as I am not sure how Apex uses the underlying Hadoop >>>> distribution jars ) >>>> >>>> Pasting the stack trace once more here for reference: >>>> >>>> An error occurred trying to launch the application. Server message: >>>> java.lang.NoClassDefFoundError: javax/persistence/Persistence at >>>> org.apache.bval.jsr303.resolver.JPATraversableResolver.isReachable(JPATraversableResolver.java:34) >>>> at >>>> org.apache.bval.jsr303.resolver.DefaultTraversableResolver.isReachable(DefaultTraversableResolver.java:60) >>>> at >>>> org.apache.bval.jsr303.resolver.CachingTraversableResolver.isReachable(CachingTraversableResolver.java:82) >>>> at >>>> org.apache.bval.jsr303.ConstraintValidation.isReachable(ConstraintValidation.java:241) >>>> at >>>> org.apache.bval.jsr303.ConstraintValidation.validate(ConstraintValidation.java:166) >>>> at >>>> org.apache.bval.jsr303.ConstraintValidation.validate(ConstraintValidation.java:141) >>>> at >>>> org.apache.bval.util.ValidationHelper.validateProperty(ValidationHelper.java:233) >>>> at >>>> org.apache.bval.util.ValidationHelper.validateBean(ValidationHelper.java:216) >>>> at >>>> org.apache.bval.jsr303.ClassValidator.validateBeanNet(ClassValidator.java:393) >>>> at org.apache.bval.jsr303.ClassValidator.validate(ClassValidator.java:149) >>>> at >>>> com.datatorrent.stram.plan.logical.LogicalPlan.validate(LogicalPlan.java:1672) >>>> at com.datatorrent.stram.StramClient.<init>(StramClient.java:161) at >>>> com.datatorrent.stram.client.StramAppLauncher.launchApp(StramAppLauncher.java:509) >>>> at com.datatorrent.stram.cli.DTCli$LaunchCommand.execute(DTCli.java:2050) >>>> at com.datatorrent.stram.cli.DTCli.launchAppPackage(DTCli.java:3456) at >>>> com.datatorrent.stram.cli.DTCli.access$7100(DTCli.java:106) at >>>> com.datatorrent.stram.cli.DTCli$LaunchCommand.execute(DTCli.java:1895) at >>>> com.datatorrent.stram.cli.DTCli$3.run(DTCli.java:1449) Fatal error >>>> encountered >>>> >>>> >>>> >>>> >>>> Regards, >>>> Ananth >>>> >>>> On Tue, May 3, 2016 at 3:22 AM, hsy...@gmail.com <hsy...@gmail.com> >>>> wrote: >>>> >>>>> Hey Ananth, >>>>> >>>>> Can you unzip your apa file to see if it is in the lib folder? If it >>>>> is not there, it means the packaging is not correct. >>>>> >>>>> Regards, >>>>> Siyuan >>>>> >>>>> On Mon, May 2, 2016 at 4:39 AM, Ananth Gundabattula < >>>>> agundabatt...@gmail.com> wrote: >>>>> >>>>>> Hello All, >>>>>> >>>>>> I was able to get around the issue pasted above by manually copying >>>>>> the javaee-api-7.0 jar inside the lib folder of Apex engine. It may be >>>>>> noted that the code works perfectly fine in a unit test that launches all >>>>>> of the operators in the DAG. ( Works end to end ) . However when I launch >>>>>> it on CDH 5.7 I run into the exception pasted above. It may be noted that >>>>>> the exception is being raised when I launch the app and the Apex engine >>>>>> is >>>>>> trying to validate the newly deployed app. >>>>>> >>>>>> I am suspecting that this could be an issue with incompatibility with >>>>>> CDH 5.7 ( The Hadoop stack on which I am trying to run Apex 3.3 on ) >>>>>> >>>>>> Could anyone help me if they were able to run Apex on top of CDH 5.7. >>>>>> I got the same exception with both Apex 3.3 and 3.2. >>>>>> >>>>>> Regards, >>>>>> Ananth >>>>>> >>>>>> On Sat, Apr 30, 2016 at 11:34 AM, Ananth Gundabattula < >>>>>> agundabatt...@gmail.com> wrote: >>>>>> >>>>>>> Hello All, >>>>>>> >>>>>>> I am getting the following exception when I launch my Apex app. >>>>>>> >>>>>>> I tried including javaee-api- version 7.0 as well to get around this >>>>>>> error but does not seem to take effect. >>>>>>> >>>>>>> Any ideas why javax.persistence.Persistence is not getting loaded by >>>>>>> the APex engine classloader ? >>>>>>> >>>>>>> An error occurred trying to launch the application. Server message: >>>>>>>> java.lang.NoClassDefFoundError: javax/persistence/Persistence at >>>>>>>> org.apache.bval.jsr303.resolver.JPATraversableResolver.isReachable(JPATraversableResolver.java:34) >>>>>>>> at >>>>>>>> org.apache.bval.jsr303.resolver.DefaultTraversableResolver.isReachable(DefaultTraversableResolver.java:60) >>>>>>>> at >>>>>>>> org.apache.bval.jsr303.resolver.CachingTraversableResolver.isReachable(CachingTraversableResolver.java:82) >>>>>>>> at >>>>>>>> org.apache.bval.jsr303.ConstraintValidation.isReachable(ConstraintValidation.java:241) >>>>>>>> at >>>>>>>> org.apache.bval.jsr303.ConstraintValidation.validate(ConstraintValidation.java:166) >>>>>>>> at >>>>>>>> org.apache.bval.jsr303.ConstraintValidation.validate(ConstraintValidation.java:141) >>>>>>>> at >>>>>>>> org.apache.bval.util.ValidationHelper.validateProperty(ValidationHelper.java:233) >>>>>>>> at >>>>>>>> org.apache.bval.util.ValidationHelper.validateBean(ValidationHelper.java:216) >>>>>>>> at >>>>>>>> org.apache.bval.jsr303.ClassValidator.validateBeanNet(ClassValidator.java:393) >>>>>>>> at >>>>>>>> org.apache.bval.jsr303.ClassValidator.validate(ClassValidator.java:149) >>>>>>>> at >>>>>>>> com.datatorrent.stram.plan.logical.LogicalPlan.validate(LogicalPlan.java:1672) >>>>>>>> at com.datatorrent.stram.StramClient.<init>(StramClient.java:161) at >>>>>>>> com.datatorrent.stram.client.StramAppLauncher.launchApp(StramAppLauncher.java:509) >>>>>>>> at >>>>>>>> com.datatorrent.stram.cli.DTCli$LaunchCommand.execute(DTCli.java:2050) >>>>>>>> at com.datatorrent.stram.cli.DTCli.launchAppPackage(DTCli.java:3456) at >>>>>>>> com.datatorrent.stram.cli.DTCli.access$7100(DTCli.java:106) at >>>>>>>> com.datatorrent.stram.cli.DTCli$LaunchCommand.execute(DTCli.java:1895) >>>>>>>> at >>>>>>>> com.datatorrent.stram.cli.DTCli$3.run(DTCli.java:1449) Fatal error >>>>>>>> encountered >>>>>>> >>>>>>> >>>>>>> Regards, >>>>>>> Ananth >>>>>>> >>>>>> >>>>>> >>>>> >>>> >>> >> >