Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

People scanner duplicate key error when one person has two jobs on a film #4

Closed
Omertron opened this issue May 25, 2013 · 0 comments
Closed
Assignees
Milestone

Comments

@Omertron
Copy link
Member

Using "Avatar" as an example, James Cameron has two entries in the cast/crew list which causes this stack trace

DEBUG 2013-05-25 07:50:05,632 [com.yamj.core.service.plugin.TheMovieDbScanner] - <No ID found for Avatar, trying title search with 'Avatar (2009)'>
INFO 2013-05-25 07:50:05,744 [com.yamj.core.service.plugin.TheMovieDbScanner] - <Found 1 potential matches for Avatar (2009)>
DEBUG 2013-05-25 07:50:05,744 [com.yamj.core.service.plugin.TheMovieDbScanner] - <Checking Avatar (2009)>
INFO 2013-05-25 07:50:05,744 [com.yamj.core.service.plugin.TheMovieDbScanner] - <TMDB ID found 19995 for Avatar>
INFO 2013-05-25 07:50:05,745 [com.yamj.core.service.plugin.TheMovieDbScanner] - <Found TMDB ID: 19995>
INFO 2013-05-25 07:50:06,271 [com.yamj.core.service.plugin.PluginDatabaseService] - <Attempting to retrieve information on 'Sam Worthington' from database>
INFO 2013-05-25 07:50:06,279 [com.yamj.core.service.plugin.PluginDatabaseService] - <Attempting to retrieve information on 'Zoe Saldana' from database>
INFO 2013-05-25 07:50:06,287 [com.yamj.core.service.plugin.PluginDatabaseService] - <Attempting to retrieve information on 'Stephen Lang' from database>
INFO 2013-05-25 07:50:06,296 [com.yamj.core.service.plugin.PluginDatabaseService] - <Attempting to retrieve information on 'Michelle Rodriguez' from database>
INFO 2013-05-25 07:50:06,304 [com.yamj.core.service.plugin.PluginDatabaseService] - <Attempting to retrieve information on 'Joel David Moore' from database>
INFO 2013-05-25 07:50:06,312 [com.yamj.core.service.plugin.PluginDatabaseService] - <Attempting to retrieve information on 'Giovanni Ribisi' from database>
INFO 2013-05-25 07:50:06,321 [com.yamj.core.service.plugin.PluginDatabaseService] - <Attempting to retrieve information on 'CCH Pounder' from database>
INFO 2013-05-25 07:50:06,331 [com.yamj.core.service.plugin.PluginDatabaseService] - <Attempting to retrieve information on 'Laz Alonso' from database>
INFO 2013-05-25 07:50:06,352 [com.yamj.core.service.plugin.PluginDatabaseService] - <Attempting to retrieve information on 'Wes Studi' from database>
INFO 2013-05-25 07:50:06,365 [com.yamj.core.service.plugin.PluginDatabaseService] - <Attempting to retrieve information on 'Dileep Rao' from database>
INFO 2013-05-25 07:50:06,374 [com.yamj.core.service.plugin.PluginDatabaseService] - <Attempting to retrieve information on 'Matt Gerald' from database>
INFO 2013-05-25 07:50:06,383 [com.yamj.core.service.plugin.PluginDatabaseService] - <Attempting to retrieve information on 'Dean Knowsley' from database>
INFO 2013-05-25 07:50:06,392 [com.yamj.core.service.plugin.PluginDatabaseService] - <Attempting to retrieve information on 'Sigourney Weaver' from database>
INFO 2013-05-25 07:50:06,438 [com.yamj.core.service.plugin.PluginDatabaseService] - <Attempting to retrieve information on 'James Cameron' from database>
INFO 2013-05-25 07:50:06,499 [com.yamj.core.service.plugin.PluginDatabaseService] - <Attempting to retrieve information on 'James Cameron' from database>
WARN 2013-05-25 07:50:06,509 [org.hibernate.util.JDBCExceptionReporter] - <SQL Error: 1062, SQLState: 23000>
ERROR 2013-05-25 07:50:06,509 [org.hibernate.util.JDBCExceptionReporter] - <Duplicate entry '99-5' for key 'person_id'>
WARN 2013-05-25 07:50:06,510 [com.yamj.core.service.plugin.PluginDatabaseService] - <Constraint error: could not insert: [com.yamj.core.database.model.CastCrew]; SQL [/* insert com.yamj.core.database.model.CastCrew */ insert into cast_crew (job, person_id, role, data_id, order_data) values (?, ?, ?, ?, ?)]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: could not insert: [com.yamj.core.database.model.CastCrew]>
INFO 2013-05-25 07:50:06,510 [com.yamj.core.service.plugin.PluginDatabaseService] - <Attempting to retrieve information on 'Ilram Choi' from database>
ERROR 2013-05-25 07:50:06,512 [org.hibernate.AssertionFailure] - <an assertion failure occured (this may indicate a bug in Hibernate, but is more likely due to unsafe use of the session)>
org.hibernate.AssertionFailure: null id in com.yamj.core.database.model.CastCrew entry (don't flush the Session after an exception occurs)
at org.hibernate.event.def.DefaultFlushEntityEventListener.checkId(DefaultFlushEntityEventListener.java:82)
at org.hibernate.event.def.DefaultFlushEntityEventListener.getValues(DefaultFlushEntityEventListener.java:190)
at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:147)
at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:219)
at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:99)
at org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:58)
at org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:1185)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1709)
at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:347)
at org.hibernate.impl.CriteriaImpl.uniqueResult(CriteriaImpl.java:369)
at com.yamj.core.database.dao.PersonDao$1.doInHibernate(PersonDao.java:34)
at com.yamj.core.database.dao.PersonDao$1.doInHibernate(PersonDao.java:27)
at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:406)
at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
at com.yamj.core.database.dao.PersonDao.getPerson(PersonDao.java:27)
at com.yamj.core.service.plugin.PluginDatabaseService.updateCastCrew(PluginDatabaseService.java:225)
at com.yamj.core.service.plugin.PluginDatabaseService.scanVideoData(PluginDatabaseService.java:138)
at com.yamj.core.service.plugin.PluginDatabaseService.scanMetadata(PluginDatabaseService.java:67)
at com.yamj.core.service.plugin.PluginDatabaseService$$FastClassByCGLIB$$e490f9f8.invoke()
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:698)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:631)
at com.yamj.core.service.plugin.PluginDatabaseService$$EnhancerByCGLIB$$cb301a32.scanMetadata()
at com.yamj.core.service.plugin.PluginDatabaseRunner.run(PluginDatabaseRunner.java:24)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
ERROR 2013-05-25 07:50:06,517 [com.yamj.core.service.plugin.PluginDatabaseRunner] -
org.hibernate.AssertionFailure: null id in com.yamj.core.database.model.CastCrew entry (don't flush the Session after an exception occurs)
at org.hibernate.event.def.DefaultFlushEntityEventListener.checkId(DefaultFlushEntityEventListener.java:82)
at org.hibernate.event.def.DefaultFlushEntityEventListener.getValues(DefaultFlushEntityEventListener.java:190)
at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:147)
at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:219)
at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:99)
at org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:58)
at org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:1185)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1709)
at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:347)
at org.hibernate.impl.CriteriaImpl.uniqueResult(CriteriaImpl.java:369)
at com.yamj.core.database.dao.PersonDao$1.doInHibernate(PersonDao.java:34)
at com.yamj.core.database.dao.PersonDao$1.doInHibernate(PersonDao.java:27)
at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:406)
at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
at com.yamj.core.database.dao.PersonDao.getPerson(PersonDao.java:27)
at com.yamj.core.service.plugin.PluginDatabaseService.updateCastCrew(PluginDatabaseService.java:225)
at com.yamj.core.service.plugin.PluginDatabaseService.scanVideoData(PluginDatabaseService.java:138)
at com.yamj.core.service.plugin.PluginDatabaseService.scanMetadata(PluginDatabaseService.java:67)
at com.yamj.core.service.plugin.PluginDatabaseService$$FastClassByCGLIB$$e490f9f8.invoke()
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:698)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:631)
at com.yamj.core.service.plugin.PluginDatabaseService$$EnhancerByCGLIB$$cb301a32.scanMetadata()
at com.yamj.core.service.plugin.PluginDatabaseRunner.run(PluginDatabaseRunner.java:24)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants