You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-user@portals.apache.org by Ron Wheeler <rw...@artifact-software.com> on 2009/06/18 03:41:32 UTC
getUserAttributes causes Jetspeed to try to create a new node for
a user that already exists.
During a bulk loading/update of users and after a many hundreds of
users, we got the this error on a user that already existed.
We had processed other similar users.
It seems that getUserAttributes causes Jetspeed to try to create a new
node for a user that already exists.
Seems to end up causing a duplicate entry in the Jetspeed datastructure.
OUR CODE
try {
if (portalUser != null){
portalUser = this.getUserManager().getUser(userName);
portalUser.getPreferences().put("org.apache.jetspeed.prefered.locale",
userProfile.getLanguage());
Preferences userPrefs = portalUser.getUserAttributes();
String[] userInfoKeys = userInfo.keySet().toArray(new String[0]);
THE STACKTRACE
2009-06-17 17:30:07,686 [http-8080-Processor19] DEBUG
com.artifact_software.portal.employeeAdmin.importer.UploadDataEmployee -
START UPDATE CREDENTIALS EMPLOYEE 048847
2009-06-17 17:30:07,687 [http-8080-Processor19] DEBUG
com.artifact_software.portal.dao.jetspeed.impl.UserJetspeedDAOImp -
JetspeedDAO updating existing user profile
java.lang.IllegalStateException: Failed to create new Preferences of
type 0 for path /user/048847/userinfo
at
org.apache.jetspeed.prefs.impl.PreferencesImpl.<init>(PreferencesImpl.java:104)
at
org.apache.jetspeed.prefs.impl.PreferencesImpl.childSpi(PreferencesImpl.java:162)
at java.util.prefs.AbstractPreferences.node(AbstractPreferences.java:833)
at java.util.prefs.AbstractPreferences.node(AbstractPreferences.java:813)
at
org.apache.jetspeed.security.impl.UserImpl.getUserAttributes(UserImpl.java:88)
at
com.artifact_software.portal.dao.jetspeed.impl.UserJetspeedDAOImp.updatePortalUser(UserJetspeedDAOImp.java:344)
at
com.artifact_software.portal.employeeAdmin.importer.UploadDataEmployee.makeUserForEmployee(UploadDataEmployee.java:553)
at
com.artifact_software.portal.employeeAdmin.importer.UploadDataEmployee.loadEmployeeToDB(UploadDataEmployee.java:357)
at
com.artifact_software.portal.employeeAdmin.importer.UploadDataEmployee.loadTmpEmployeeToDB(UploadDataEmployee.java:279)
at
com.artifact_software.portal.employeeAdmin.controller.impl.EmployeeAdminCtrlImpl.uploadSpreadsheetEmployee(EmployeeAdminCtrlImpl.java:124)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy38.uploadSpreadsheetEmployee(Unknown Source)
at
com.artifact_software.portal.employeeAdmin.controller.impl.EmployeeAdminManagerImpl.uploadSpreadsheet(EmployeeAdminManagerImpl.java:128)
at
com.artifact_software.portal.employeeAdmin.importer.ImportExcel.processFile(ImportExcel.java:111)
at
com.artifact_software.portal.employeeAdmin.controller.impl.EmployeeAdminManagerImpl.importEmployees(EmployeeAdminManagerImpl.java:78)
at
com.artifact_software.portal.employeeAdmin.controller.impl.EmployeeAdminManagerImpl$$FastClassByCGLIB$$ca6ea930.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at
org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:700)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at
org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at
org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at
org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635)
at
com.artifact_software.portal.employeeAdmin.controller.impl.EmployeeAdminManagerImpl$$EnhancerByCGLIB$$1808aaf8.importEmployees(<generated>)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at
org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:132)
at
org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:61)
at javax.faces.component.UICommand.broadcast(UICommand.java:109)
at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:97)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:171)
at
org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32)
at
org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:95)
at
org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70)
at
org.apache.portals.bridges.jsf.FacesPortlet.process(FacesPortlet.java:491)
at
org.apache.portals.bridges.jsf.FacesPortlet.processAction(FacesPortlet.java:345)
at
org.apache.portals.bridges.portletfilter.PortletFilterChain.processActionFilter(PortletFilterChain.java:150)
at
jp.sf.pal.tomahawk.filter.ExtensionsPortletFilter.processActionFilter(ExtensionsPortletFilter.java:258)
at
org.apache.portals.bridges.portletfilter.PortletFilterChain.processActionFilter(PortletFilterChain.java:143)
at
org.apache.portals.bridges.portletfilter.FilterPortlet.processAction(FilterPortlet.java:132)
at
org.apache.jetspeed.factory.JetspeedPortletInstance.processAction(JetspeedPortletInstance.java:97)
at
org.apache.jetspeed.container.JetspeedContainerServlet.doGet(JetspeedContainerServlet.java:258)
at
org.apache.jetspeed.container.JetspeedContainerServlet.doPost(JetspeedContainerServlet.java:396)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:679)
at
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:584)
at
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:497)
at
org.apache.jetspeed.container.invoker.ServletPortletInvoker.invoke(ServletPortletInvoker.java:273)
at
org.apache.jetspeed.container.invoker.ServletPortletInvoker.action(ServletPortletInvoker.java:148)
at
org.apache.pluto.PortletContainerImpl.processPortletAction(PortletContainerImpl.java:164)
at
org.apache.jetspeed.container.JetspeedPortletContainerWrapper.processPortletAction(JetspeedPortletContainerWrapper.java:133)
at
org.apache.jetspeed.pipeline.valve.impl.ActionValveImpl.invoke(ActionValveImpl.java:148)
at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
at
org.apache.jetspeed.container.ContainerValve.invoke(ContainerValve.java:109)
at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
at
org.apache.jetspeed.profiler.impl.ProfilerValveImpl.invoke(ProfilerValveImpl.java:248)
at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
at
com.artifact_software.services.valves.BannerSelectorValveImpl.invoke(BannerSelectorValveImpl.java:60)
at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
at
com.artifact_software.services.valves.UAPValveImpl.invoke(UAPValveImpl.java:63)
at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
at
org.apache.jetspeed.security.impl.LoginValidationValveImpl.invoke(LoginValidationValveImpl.java:159)
at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
at
org.apache.jetspeed.security.impl.PasswordCredentialValveImpl.invoke(PasswordCredentialValveImpl.java:150)
at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
at
org.apache.jetspeed.localization.impl.LocalizationValveImpl.invoke(LocalizationValveImpl.java:170)
at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
at
org.apache.jetspeed.security.impl.AbstractSecurityValve$1.run(AbstractSecurityValve.java:138)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:474)
at
org.apache.jetspeed.security.JSSubject.doAsPrivileged(JSSubject.java:179)
at
org.apache.jetspeed.security.impl.AbstractSecurityValve.invoke(AbstractSecurityValve.java:132)
at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
at
org.apache.jetspeed.container.url.impl.PortalURLValveImpl.invoke(PortalURLValveImpl.java:67)
at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
at
org.apache.jetspeed.capabilities.impl.CapabilityValveImpl.invoke(CapabilityValveImpl.java:126)
at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
at
org.apache.jetspeed.pipeline.JetspeedPipeline.invoke(JetspeedPipeline.java:146)
at
org.apache.jetspeed.engine.JetspeedEngine.service(JetspeedEngine.java:222)
at
org.apache.jetspeed.engine.JetspeedServlet.doGet(JetspeedServlet.java:242)
at
org.apache.jetspeed.engine.JetspeedServlet.doPost(JetspeedServlet.java:269)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at
com.artifact_software.services.filters.TokenSingleSignonFilter.doFilter(TokenSingleSignonFilter.java:169)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at
org.apache.jetspeed.engine.servlet.XXSUrlAttackFilter.doFilter(XXSUrlAttackFilter.java:52)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:548)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:636)
Caused by: org.apache.jetspeed.prefs.FailedToCreateNodeException: Failed
to create node of type 0 for the path /user/048847/userinfo.
org.springframework.dao.DataIntegrityViolationException: OJB operation;
SQL []; Duplicate entry '81964' for key 1; nested exception is
com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException:
Duplicate entry '81964' for key 1
at
org.apache.jetspeed.prefs.impl.PersistenceBrokerPreferencesProvider.createNode(PersistenceBrokerPreferencesProvider.java:344)
at sun.reflect.GeneratedMethodAccessor734.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy23.createNode(Unknown Source)
at
org.apache.jetspeed.prefs.impl.PreferencesImpl.<init>(PreferencesImpl.java:93)
... 118 more
Caused by: org.springframework.dao.DataIntegrityViolationException: OJB
operation; SQL []; Duplicate entry '81964' for key 1; nested exception
is com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException:
Duplicate entry '81964' for key 1
at
org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:100)
at
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
at
org.springframework.orm.ojb.OjbAccessor.convertJdbcAccessException(OjbAccessor.java:107)
at
org.springframework.orm.ojb.OjbAccessor.convertOjbAccessException(OjbAccessor.java:89)
at
org.springframework.orm.ojb.PersistenceBrokerTemplate.execute(PersistenceBrokerTemplate.java:141)
at
org.springframework.orm.ojb.PersistenceBrokerTemplate.store(PersistenceBrokerTemplate.java:241)
at
org.apache.jetspeed.prefs.impl.PersistenceBrokerPreferencesProvider.createNode(PersistenceBrokerPreferencesProvider.java:337)
... 129 more
Caused by:
com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException:
Duplicate entry '81964' for key 1
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:931)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3283)
at
com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1332)
at
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1604)
at
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1519)
at
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1504)
at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:102)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(JdbcAccessImpl.java:216)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceBrokerImpl.java:1754)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:813)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:726)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersistenceBroker.java:175)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersistenceBroker.java:175)
at
org.springframework.orm.ojb.PersistenceBrokerTemplate$9.doInPersistenceBroker(PersistenceBrokerTemplate.java:243)
at
org.springframework.orm.ojb.PersistenceBrokerTemplate.execute(PersistenceBrokerTemplate.java:138)
... 131 more
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-user-help@portals.apache.org