|
View:
New views
9 Messages
—
Rating Filter:
Alert me
|
|
|
Javassist Enhancement failedI'm getting inconsistent failures in Javassist in my application during indexing with Searchable. It's been very tough to diagnose what's wrong, because it only happens every 5-10 server starts. The error that comes up is: Failed to index the database org.hibernate.HibernateException: Javassist Enhancement failed: profile.Channel
Does anyone have any ideas what I may be able to do to work around this? I've seen a few other messages regarding this, but haven't come up with a solid solution. Thanks,
Jesse Here's the full stacktrace: [2009-09-17 09:19:15.645] indexer.ScrollableHibernateIndexEntitiesIndexer {hibernate}: Failed to index the database org.hibernate.HibernateException: Javassist Enhancement failed: profile.Channel
at org.codehaus.groovy.grails.orm.hibernate.proxy.GroovyAwareJavassistLazyInitializer.getProxy(GroovyAwareJavassistLazyInitializer.java:146) at org.codehaus.groovy.grails.orm.hibernate.proxy.GroovyAwareJavassistProxyFactory.getProxy(GroovyAwareJavassistProxyFactory.java:66)
at org.codehaus.groovy.grails.orm.hibernate.persister.entity.GroovyAwareSingleTableEntityPersister.createProxy(GroovyAwareSingleTableEntityPersister.java:49)
at org.hibernate.event.def.DefaultLoadEventListener.createProxyIfNecessary(DefaultLoadEventListener.java:298) at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:219)
at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:126) at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:905)
at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:873) at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:590)
at org.hibernate.type.EntityType.resolve(EntityType.java:412) at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:139)
at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:877) at org.hibernate.loader.Loader.doQuery(Loader.java:752)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259) at org.hibernate.loader.Loader.loadEntity(Loader.java:1881)
at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:71) at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:65)
at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3072) at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:434)
at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:415) at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:165)
at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:121) at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:905)
at org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:863) at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:95)
at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:140) at org.codehaus.groovy.grails.orm.hibernate.proxy.GroovyAwareJavassistLazyInitializer.invoke(GroovyAwareJavassistLazyInitializer.java:196)
at profile.Profile_$$_javassist_47.getAccountId(Profile_$$_javassist_47.java) at profile.ProfileMethodReflectioninvoke59.invoke(Unknown Source)
at org.compass.core.accessor.BasicPropertyAccessor$BasicGetter.get(BasicPropertyAccessor.java:124) at org.compass.core.converter.mapping.osem.ClassMappingConverter.doMarshall(ClassMappingConverter.java:198)
at org.compass.core.converter.mapping.osem.ClassMappingConverter.marshall(ClassMappingConverter.java:88) at org.compass.core.converter.mapping.osem.ComponentMappingConverter.doMarshall(ComponentMappingConverter.java:32)
at org.compass.core.converter.mapping.osem.AbstractRefAliasMappingConverter.marshall(AbstractRefAliasMappingConverter.java:48) at org.compass.core.converter.mapping.osem.ClassMappingConverter.doMarshall(ClassMappingConverter.java:202)
at org.compass.core.converter.mapping.osem.ClassMappingConverter.marshall(ClassMappingConverter.java:88) at org.compass.core.marshall.DefaultMarshallingStrategy.marshall(DefaultMarshallingStrategy.java:154)
at org.compass.core.impl.DefaultCompassSession.create(DefaultCompassSession.java:361) at org.compass.core.impl.DefaultCompassSession.create(DefaultCompassSession.java:350)
at org.compass.gps.device.hibernate.indexer.ScrollableHibernateIndexEntitiesIndexer$RowBuffer.flush(ScrollableHibernateIndexEntitiesIndexer.java:212)
at org.compass.gps.device.hibernate.indexer.ScrollableHibernateIndexEntitiesIndexer$RowBuffer.close(ScrollableHibernateIndexEntitiesIndexer.java:206)
at org.compass.gps.device.hibernate.indexer.ScrollableHibernateIndexEntitiesIndexer.performIndex(ScrollableHibernateIndexEntitiesIndexer.java:151)
at org.compass.gps.device.support.parallel.ConcurrentParallelIndexExecutor$1$1.doInCompassWithoutResult(ConcurrentParallelIndexExecutor.java:105) at org.compass.core.CompassCallbackWithoutResult.doInCompass(CompassCallbackWithoutResult.java:29)
at org.compass.core.CompassTemplate.execute(CompassTemplate.java:130) at org.compass.gps.impl.SingleCompassGps.executeForIndex(SingleCompassGps.java:162)
at org.compass.gps.device.support.parallel.ConcurrentParallelIndexExecutor$1.call(ConcurrentParallelIndexExecutor.java:103) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:637)
Caused by: java.lang.NullPointerException at javassist.util.proxy.RuntimeSupport$DefaultMethodHandler.invoke(RuntimeSupport.java:37) at profile.Channel_$$_javassist_37.$getStaticMetaClass(Channel_$$_javassist_37.java)
at profile.Channel.<init>(Channel.groovy) at profile.Channel_$$_javassist_37.<init>(Channel_$$_javassist_37.java)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355) at java.lang.Class.newInstance(Class.java:308)
at org.codehaus.groovy.grails.orm.hibernate.proxy.GroovyAwareJavassistLazyInitializer.getProxy(GroovyAwareJavassistLazyInitializer.java:143) ... 51 more
-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: Jesse O'Neill-Oine // jesse@... Refactr LLC // http://refactr.com mobile // 612-670-5037 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: |
|
|
Re: Javassist Enhancement failedIt may also be worth noting that the class that Javassist fails on is not always the same one. It sometimes happens on my Channel class (a very simple class), sometimes happens on my Profile class (a more complex class that is also the one that is searchable), sometimes on my Business class, etc. It's basically a group of about 4 or 5 classes that seem to be the ones that consistently have the problem, but they are quite varied in what they do. The only common thread is that they all hang off of my main Profile class that is searchable.
Any help or insight would be greatly appreciated! Thanks, Jesse
On Thu, Sep 17, 2009 at 9:24 AM, Jesse O'Neill-Oine <jesse@...> wrote: I'm getting inconsistent failures in Javassist in my application during indexing with Searchable. It's been very tough to diagnose what's wrong, because it only happens every 5-10 server starts. The error that comes up is: Failed to index the database org.hibernate.HibernateException: Javassist Enhancement failed: profile.Channel -- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: Jesse O'Neill-Oine // jesse@... Refactr LLC // http://refactr.com mobile // 612-670-5037 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: |
|
|
Re: Javassist Enhancement failedI am having the exact same issue and this exception is becoming more and more frequent.
Any idea?
|
|
|
Re: Javassist Enhancement failedAre you indexing to disk?
Does it happen if you manually delete the index before starting the server? Are you developing and changing domain classes. I've seen this error quite a bit during development and deleting the index usually helps. (This is assuming you've left auto mirroring on).
On Thu, Sep 17, 2009 at 10:24 AM, Jesse O'Neill-Oine <jesse@...> wrote: I'm getting inconsistent failures in Javassist in my application during indexing with Searchable. It's been very tough to diagnose what's wrong, because it only happens every 5-10 server starts. The error that comes up is: Failed to index the database org.hibernate.HibernateException: Javassist Enhancement failed: profile.Channel |
|
|
Re: Javassist Enhancement failedNo, I am indexing to a DB, but I remember that before indexing to a DB I was using the file system and occasionally got the same issue, so I don't think it is related to the db. It happens if I manually delete the index or if I don't, it is pretty random.
Right now, I am not changing the domain classes, they have been the same for a quite a while now. But I am getting this error more frequently, specially when deploying to Tomcat, if I run the app locally using grails run-app it doesn't happen that often. I have several domain classes that are searchable, but these errors only happen with 3 of them and something I noticed today is that these three have the tablePerHierarchy set to false, it is the only thing that is common between these 3 and different from the rest of the domain classes. By any chance, do you have the same? Thanks!!
|
|
|
Re: Javassist Enhancement failedOn Thu, Nov 5, 2009 at 7:15 PM, Maricel Quesada <mquesada@...> wrote:
Regardless of where you index to, if you change the domain class and try to load that indexed form into a domain class that is not the same you would have the same issue?
|
|
|
Re: Javassist Enhancement failedYeah it happens either way!! I checked removing the tablePerHierarchy property and I still get the problem.
The strange thing is that the error happens always with one of these 3 classes, not any of the rest.
|
|
|
RE: Re: Javassist Enhancement failedHi.
I am also experiencing same problem. If anybody has a clue please assist. Thanks. Mugoma, Yengas. Maricel Quesada wrote: > No, I am indexing to a DB, but I remember that before indexing to a DB I was > using the file system and occasionally got the same issue, so I don't think > it is related to the db. It happens if I manually delete the index or if I > don't, it is pretty random. > Right now, I am not changing the domain classes, they have been the same for > a quite a while now. But I am getting this error more frequently, specially > when deploying to Tomcat, if I run the app locally using grails run-app it > doesn't happen that often. > I have several domain classes that are searchable, but these errors only > happen with 3 of them and something I noticed today is that these three have > the tablePerHierarchy set to false, it is the only thing that is common > between these 3 and different from the rest of the domain classes. By any > chance, do you have the same? > Thanks!! > Daniel Honig wrote: >> >> Are you indexing to disk? >> >> Does it happen if you manually delete the index before starting the >> server? >> >> Are you developing and changing domain classes. >> >> I've seen this error quite a bit during development and deleting the index >> usually helps. (This is assuming you've left auto mirroring on). >> >> On Thu, Sep 17, 2009 at 10:24 AM, Jesse O'Neill-Oine >> <jesse@...>wrote: >> >>> I'm getting inconsistent failures in Javassist in my application during >>> indexing with Searchable. It's been very tough to diagnose what's wrong, >>> because it only happens every 5-10 server starts. The error that comes up >>> is: Failed to index the database org.hibernate.HibernateException: >>> Javassist >>> Enhancement failed: profile.Channel >>> >>> Does anyone have any ideas what I may be able to do to work around this? >>> I've seen a few other messages regarding this, but haven't come up with a >>> solid solution. >>> >>> Thanks, >>> Jesse >>> >>> Here's the full stacktrace: >>> [2009-09-17 09:19:15.645] indexer.ScrollableHibernateIndexEntitiesIndexer >>> {hibernate}: Failed to index the database >>> org.hibernate.HibernateException: Javassist Enhancement failed: >>> profile.Channel >>> at >>> org.codehaus.groovy.grails.orm.hibernate.proxy.GroovyAwareJavassistLazyInitializer.getProxy(GroovyAwareJavassistLazyInitializer.java:146) >>> at >>> org.codehaus.groovy.grails.orm.hibernate.proxy.GroovyAwareJavassistProxyFactory.getProxy(GroovyAwareJavassistProxyFactory.java:66) >>> at >>> org.codehaus.groovy.grails.orm.hibernate.persister.entity.GroovyAwareSingleTableEntityPersister.createProxy(GroovyAwareSingleTableEntityPersister.java:49) >>> at >>> org.hibernate.event.def.DefaultLoadEventListener.createProxyIfNecessary(DefaultLoadEventListener.java:298) >>> at >>> org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:219) >>> at >>> org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:126) >>> at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:905) >>> at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:873) >>> at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:590) >>> at org.hibernate.type.EntityType.resolve(EntityType.java:412) >>> at >>> org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:139) >>> at >>> org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:877) >>> at org.hibernate.loader.Loader.doQuery(Loader.java:752) >>> at >>> org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259) >>> at org.hibernate.loader.Loader.loadEntity(Loader.java:1881) >>> at >>> org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:71) >>> at >>> org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:65) >>> at >>> org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3072) >>> at >>> org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:434) >>> at >>> org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:415) >>> at >>> org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:165) >>> at >>> org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:121) >>> at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:905) >>> at org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:863) >>> at >>> org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:95) >>> at >>> org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:140) >>> at >>> org.codehaus.groovy.grails.orm.hibernate.proxy.GroovyAwareJavassistLazyInitializer.invoke(GroovyAwareJavassistLazyInitializer.java:196) >>> at >>> profile.Profile_$$_javassist_47.getAccountId(Profile_$$_javassist_47.java) >>> at profile.ProfileMethodReflectioninvoke59.invoke(Unknown Source) >>> at >>> org.compass.core.accessor.BasicPropertyAccessor$BasicGetter.get(BasicPropertyAccessor.java:124) >>> at >>> org.compass.core.converter.mapping.osem.ClassMappingConverter.doMarshall(ClassMappingConverter.java:198) >>> at >>> org.compass.core.converter.mapping.osem.ClassMappingConverter.marshall(ClassMappingConverter.java:88) >>> at >>> org.compass.core.converter.mapping.osem.ComponentMappingConverter.doMarshall(ComponentMappingConverter.java:32) >>> at >>> org.compass.core.converter.mapping.osem.AbstractRefAliasMappingConverter.marshall(AbstractRefAliasMappingConverter.java:48) >>> at >>> org.compass.core.converter.mapping.osem.ClassMappingConverter.doMarshall(ClassMappingConverter.java:202) >>> at >>> org.compass.core.converter.mapping.osem.ClassMappingConverter.marshall(ClassMappingConverter.java:88) >>> at >>> org.compass.core.marshall.DefaultMarshallingStrategy.marshall(DefaultMarshallingStrategy.java:154) >>> at >>> org.compass.core.impl.DefaultCompassSession.create(DefaultCompassSession.java:361) >>> at >>> org.compass.core.impl.DefaultCompassSession.create(DefaultCompassSession.java:350) >>> at >>> org.compass.gps.device.hibernate.indexer.ScrollableHibernateIndexEntitiesIndexer$RowBuffer.flush(ScrollableHibernateIndexEntitiesIndexer.java:212) >>> at >>> org.compass.gps.device.hibernate.indexer.ScrollableHibernateIndexEntitiesIndexer$RowBuffer.close(ScrollableHibernateIndexEntitiesIndexer.java:206) >>> at >>> org.compass.gps.device.hibernate.indexer.ScrollableHibernateIndexEntitiesIndexer.performIndex(ScrollableHibernateIndexEntitiesIndexer.java:151) >>> at >>> org.compass.gps.device.support.parallel.ConcurrentParallelIndexExecutor$1$1.doInCompassWithoutResult(ConcurrentParallelIndexExecutor.java:105) >>> at >>> org.compass.core.CompassCallbackWithoutResult.doInCompass(CompassCallbackWithoutResult.java:29) >>> at org.compass.core.CompassTemplate.execute(CompassTemplate.java:130) >>> at >>> org.compass.gps.impl.SingleCompassGps.executeForIndex(SingleCompassGps.java:162) >>> at >>> org.compass.gps.device.support.parallel.ConcurrentParallelIndexExecutor$1.call(ConcurrentParallelIndexExecutor.java:103) >>> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) >>> at java.util.concurrent.FutureTask.run(FutureTask.java:138) >>> at >>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) >>> at >>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) >>> at java.lang.Thread.run(Thread.java:637) >>> Caused by: java.lang.NullPointerException >>> at >>> javassist.util.proxy.RuntimeSupport$DefaultMethodHandler.invoke(RuntimeSupport.java:37) >>> at >>> profile.Channel_$$_javassist_37.$getStaticMetaClass(Channel_$$_javassist_37.java) >>> at profile.Channel.<init>(Channel.groovy) >>> at profile.Channel_$$_javassist_37.<init>(Channel_$$_javassist_37.java) >>> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) >>> at >>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) >>> at >>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) >>> at java.lang.reflect.Constructor.newInstance(Constructor.java:513) >>> at java.lang.Class.newInstance0(Class.java:355) >>> at java.lang.Class.newInstance(Class.java:308) >>> at >>> org.codehaus.groovy.grails.orm.hibernate.proxy.GroovyAwareJavassistLazyInitializer.getProxy(GroovyAwareJavassistLazyInitializer.java:143) >>> ... 51 more >>> >>> >>> -- >>> :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: >>> Jesse O'Neill-Oine // jesse@... >>> Refactr LLC // http://refactr.com >>> mobile // 612-670-5037 >>> :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: >>> >> >> > -- > View this message in context: http://old.nabble.com/Javassist-Enhancement-failed-tp25492491p26224786.html > Sent from the grails - user mailing list archive at Nabble.com. > --------------------------------------------------------------------- > To unsubscribe from this list, please visit: > http://xircles.codehaus.org/manage_email --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email |
|
|
RE: Re: Javassist Enhancement failedThis sounds like a bug to me, however I haven't been able to determine the causes and since it is pretty random it is hard to create a test app to reproduce it.
It would be great to have someone from the plug in developers to try and reproduce it and since they know their code better maybe they could determine the causes more easily.
|
| Free embeddable forum powered by Nabble | Forum Help |