Aktuellt datum och tid: 2013-05-26 00:52:01




Ny trÃ¥d Svara pÃ¥ trÃ¥d  [ 5 inlägg ] 
 Lista alla registeredusers i UserServern 
Författare Meddelande
Användarvisningsbild

Blev medlem: 2009-03-14 20:54:50
Inlägg: 74
Ort: Stockholm
Inlägg Lista alla registeredusers i UserServern
Hej

Vi har precis lagt till vår 1001 redaktör i Pololopoly och slog precis i Oracletaket med vår import av användare från vår motsvarande LDAP.

Vi letar reda på alla användare för att uppdatera deras attribut och använder följande.
Collection<User> users = getUserServer().findUsersByAttributeValue("user", "loginName", "%", caller);
för att hitta alla användare och uppdatera deras personliga uppgifter.

findUsersByAttributeValue() verkar skapa 1001 select-satser och skicka iväg i en batch vilket Oracle inte tillåter

Har någon en funktion att dela med sig så att jag inte behöver bygga en egen hitta alla användare i mindra batchar?

Mvh
Patric Jansson

-----------------------

25-Mar-2011 03:00:48 se.kth.ite.cortina.ugimport.EventConsumer cacheUsers
INFO: Starting to look up users.
25-Mar-2011 03:00:49 com.polopoly.ejb.SqlExceptionHandler convertSqlExceptionToEjbExceptionAndLogWarning
WARNING: Problem accessing database.
java.sql.SQLException: ORA-01795: maximum number of expressions in a list is 1000

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:745)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:810)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1039)
at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:850)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1134)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3339)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3384)
at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:342)
at com.polopoly.ejb.user.UserSecurityHandlerBean.getUserIdsByContentIds(UserSecurityHandlerBean.java:2070)
at com.polopoly.ejb.user.UserSecurityHandlerBean.findUserIdsInternal(UserSecurityHandlerBean.java:1940)
at com.polopoly.ejb.user.UserSecurityHandlerBean.findUserDataIdsByAttributeValues(UserSecurityHandlerBean.java:1793)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.invocation.Invocation.performCall(Invocation.java:359)
at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:237)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:158)
at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:169)
at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:168)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:138)
at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:648)
at org.jboss.ejb.Container.invoke(Container.java:960)
at sun.reflect.GeneratedMethodAccessor76.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
: at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at org.jboss.invocation.local.LocalInvoker$MBeanServerAction.invoke(LocalInvoker.java:169)
at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:118)
at org.jboss.invocation.InvokerInterceptor.invokeLocalMarshalled(InvokerInterceptor.java:295)
at org.jboss.invocation.MarshallingInvokerInterceptor.invoke(MarshallingInvokerInterceptor.java:61)
at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:61)
at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:70)
at org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(StatelessSessionInterceptor.java:112)
at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:100)
at $Proxy104.findUserDataIdsByAttributeValues(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.polopoly.management.ProxyServiceControlledApi.invoke(ProxyServiceControlledApi.java:219)
at com.polopoly.management.ProxyServiceControlledRemoteApi.invoke(ProxyServiceControlledRemoteApi.java:122)
at $Proxy104.findUserDataIdsByAttributeValues(Unknown Source)
at com.polopoly.user.server.impl.EjbUserService.findUserDataIdsByAttributeValues(EjbUserService.java:771)
at com.polopoly.user.server.impl.CachingUserServer.findUserIdsByAttributeValues(CachingUserServer.java:832)
at com.polopoly.user.server.impl.CachingUserServer.findUsersByAttributeValues(CachingUserServer.java:913)
at com.polopoly.user.server.impl.CachingUserServer.findUsersByAttributeValues(CachingUserServer.java:889)
at com.polopoly.user.server.impl.CachingUserServer.findUsersByAttributeValue(CachingUserServer.java:862)
at se.kth.ite.cortina.ugimport.UserServerWrapper.getAllUsers(UserServerWrapper.java:445)
at se.kth.ite.cortina.ugimport.EventConsumer.cacheUsers(EventConsumer.java:615)
at se.kth.ite.cortina.ugimport.EventConsumer.prepareSync(EventConsumer.java:705)
at se.kth.infosys.simplepropagator.SimplePropagator.prepareSync(SimplePropagator.java:368)
at se.kth.infosys.simplepropagator.SimplePropagator.fullSync(SimplePropagator.java:242)
at se.kth.infosys.simplepropagator.SimplePropagator.run(SimplePropagator.java:84)
25-Mar-2011 03:00:49 se.kth.ite.cortina.ugimport.UserServerWrapper getAllUsers
INFO: Error finding all uses
java.rmi.ServerException: EJBException:; nested exception is:
javax.ejb.EJBException: [Code: 1795][State: 42000][Message: ORA-01795: maximum number of expressions in a list is 1000
]
at org.jboss.ejb.plugins.LogInterceptor.handleException(LogInterceptor.java:365)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:209)
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:138)
at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:648)
at org.jboss.ejb.Container.invoke(Container.java:960)
at sun.reflect.GeneratedMethodAccessor76.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
:



---
Rösta och lämna förslag på förbättringar i KTH:s IT-miljö!
https://www.kth.se/gemensamt/suggestions/
---

Patric Jansson
KTH Royal Institute of Technology
IT-Department
Osquldasväg 6
100 44 Stockholm

Phone: +46-8-790 66 09
Mobile: +46-7-68 09 66 09

http://twitter.com/patricjansson
http://twitter.com/kthwebmaster

paddy@kth.se

https://www.kth.se/social/user/u193834l/

http://www.kth.se


2011-03-25 12:05:55
Profil WWW
Användarvisningsbild

Blev medlem: 2009-03-14 20:54:50
Inlägg: 74
Ort: Stockholm
Inlägg Re: Lista alla registeredusers i UserServern
Detta är tydligen en känd bugg i 9.12, fixat i Polopoly 10.


2011-03-25 17:46:36
Profil WWW
Site Admin
Användarvisningsbild

Blev medlem: 2008-09-22 20:56:22
Inlägg: 45
Ort: Stockholm
Inlägg Re: Lista alla registeredusers i UserServern
Den är även fixad sedan version 9.13.2
8522: Fix to prevent ORA-01795 errors on Oracle while finding large amounts of users.


2011-03-27 01:32:22
Profil WWW
Användarvisningsbild

Blev medlem: 2009-03-25 09:29:08
Inlägg: 86
Ort: Linköping
Inlägg Re: Lista alla registeredusers i UserServern
Besvarades inte detta redan 2009?
viewtopic.php?f=11&t=47

_________________
Erik Melkersson
Linköpings Universitet


2011-04-06 08:16:14
Profil WWW
Site Admin
Användarvisningsbild

Blev medlem: 2008-09-22 20:56:22
Inlägg: 45
Ort: Stockholm
Inlägg Re: Lista alla registeredusers i UserServern
Jo, men problemet har återkommit i 9.12.3


2011-04-06 09:35:58
Profil WWW
Visa inlägg nyare än:  Sortera efter  
Ny trÃ¥d Svara pÃ¥ trÃ¥d  [ 5 inlägg ] 


Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 1 gäst


Du kan inte skapa nya trådar i denna kategori
Du kan inte svara på trådar i denna kategori
Du kan inte redigera dina inlägg i denna kategori
Du kan inte ta bort dina inlägg i denna kategori
Du kan inte bifoga filer i denna kategori

Sök efter:
Hoppa till:  
cron
Powered by phpBB © phpBB Group.
Designed by Vjacheslav Trushkin for Free Forums/DivisionCore.
Swedish translation by Peetra & phpBB Sweden © 2006-2008