You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openmeetings.apache.org by "seba.wagner@gmail.com" <se...@gmail.com> on 2012/12/26 23:18:46 UTC

no need to sync on slave if server is null ?!

Hi Maxim,

I found this fix from you:

Server s = clientSessionInfo.getServerId() != null ?
serverDao.get(clientSessionInfo.getServerId()) : null;
            if (s != null) {
                // no need to sync on slave if server is null
                clusterSlaveJob.syncMessageToClientOnSlave(s,
clientSessionInfo.getRcl().getPublicSID() , message);
            }

What should that mean and what enhancements should it bring?

Actually if server == null it means that the client is handled on the same
server.
Basically on a slave ALL sessions have the server == null, because from the
perspective of the slave every session is locally. In fact the slave does
not even know that he is a slave. He handles every connection as if there
is no difference.

So why should the slave NOT sync that message ? That makes no sense to me.

Server == null is a correct implementation and it should not throw any
NullPointerException.
It simply means that the Session is local and not on another server.
Actually only this kind of session could have a s != null:
A session that is synced from the slave to the master. The master would
have this session with a Server != null.

So your comment does not makes sense to me.
Of course slaves do sync messages. On the slave the "server" argument is
_always_ null. But of course the slave should still sync that message.

Sebastian


-- 
Sebastian Wagner
https://twitter.com/#!/dead_lock
http://www.webbase-design.de
http://www.wagner-sebastian.com
seba.wagner@gmail.com

Re: no need to sync on slave if server is null ?!

Posted by Maxim Solodovnik <so...@gmail.com>.
great!
I hope all import issues are fixed :)


On Sun, Dec 30, 2012 at 7:00 AM, seba.wagner@gmail.com <
seba.wagner@gmail.com> wrote:

> ... and the imports are running fine too!
>
> Sebastian
>
>
> 2012/12/30 seba.wagner@gmail.com <se...@gmail.com>
>
> Hi Maxim,
>>
>> thanks I also fixed the other exception when the server is null.
>> There was actually just missing a return statement. In case the
>> RoomClient is already found locally, by:
>> this.clientListManager
>>                                 .getClientByPublicSID(publicSID, false,
>> null);
>> then you simply sync the message to this client locally, no need to look
>> it up in the cache if there is a RoomClient session open on any other
>> server.
>> So there was simply a "return" missing to exit the method in that
>> if-clause.
>> I have added another Exception now when the "server == null" case happens
>> again (but actually it should not).
>>
>> Thanks!
>> Sebastian
>>
>>
>> 2012/12/29 Maxim Solodovnik <so...@gmail.com>
>>
>>> seems to be fixed, thanks!
>>>
>>> revision 1426492
>>>
>>>
>>> On Fri, Dec 28, 2012 at 2:57 PM, Maxim Solodovnik <so...@gmail.com>wrote:
>>>
>>>> I'll retest both files on clean DB (created using your commands)
>>>>
>>>>
>>>> On Fri, Dec 28, 2012 at 1:18 PM, seba.wagner@gmail.com <
>>>> seba.wagner@gmail.com> wrote:
>>>>
>>>>> Btw this is another backup file from some customer.
>>>>> You will see some more exceptions, but this time in the User and Room
>>>>> entity.
>>>>> Please keep the zip file confidential.
>>>>>
>>>>> Sebastian
>>>>>
>>>>>
>>>>> 2012/12/28 seba.wagner@gmail.com <se...@gmail.com>
>>>>>
>>>>> Yes I am quite sure.
>>>>>> But I rerun the entire process again to make sure
>>>>>>
>>>>>> I did, svn update(there was nothing to update) rebuild again using:
>>>>>> ant -Ddb=mysql -Dwicket-mode=DEVELOPMENT dist-debug
>>>>>>
>>>>>> install using:
>>>>>> ./admin.sh -i -v -tz Europe/Berlin -email seba.wagner@gmail.com-group webbase -user swagner --smtp-server
>>>>>> h649115.serverkompetenz.net --db-type mysql --db-name
>>>>>> openmeetings_v21 --email-auth-user hidden@webbase-design.de--password hidden --system-email-address
>>>>>> i4c@webbase-design.de --db-user root --db-host localhost
>>>>>> --email-auth-pass test123
>>>>>>
>>>>>> then startup using:
>>>>>> ./red5.sh
>>>>>>
>>>>>> then open a browser and goto:
>>>>>> http://localhost:5080/openmeetings/?swf=maindebug.as3.swf10.swf
>>>>>> klick on Admin > Backup and run the export of the Backup (see
>>>>>> attached)
>>>>>> klick on Import and choose the just exported file
>>>>>> => Exceptions:
>>>>>> 1)
>>>>>>
>>>>>> org.springframework.dao.DataIntegrityViolationException: An object of
>>>>>> type "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with
>>>>>> oid "4001" already exists in this context; another cannot be persisted.;
>>>>>> nested exception is <openjpa-2.2.1-r422266:1396819 nonfatal store error>
>>>>>> org.apache.openjpa.persistence.EntityExistsException: An object of type
>>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>>> "4001" already exists in this context; another cannot be persisted.
>>>>>>  FailedObject:
>>>>>> org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe@949919e
>>>>>>
>>>>>>     at
>>>>>> org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:318)
>>>>>> ~[org.springframework.orm-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>     at
>>>>>> org.springframework.orm.jpa.DefaultJpaDialect.translateExceptionIfPossible(DefaultJpaDialect.java:120)
>>>>>> ~[org.springframework.orm-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>> ...
>>>>>>
>>>>>> Caused by: org.apache.openjpa.persistence.EntityExistsException: An
>>>>>> object of type
>>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>>> "4001" already exists in this context; another cannot be persisted.
>>>>>>  2)
>>>>>>
>>>>>> org.springframework.dao.DataIntegrityViolationException: An object of
>>>>>> type "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with
>>>>>> oid "4001" already exists in this context; another cannot be persisted.;
>>>>>> nested exception is <openjpa-2.2.1-r422266:1396819 nonfatal store error>
>>>>>> org.apache.openjpa.persistence.EntityExistsException: An object of type
>>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>>> "4001" already exists in this context; another cannot be persisted.
>>>>>>  FailedObject:
>>>>>> org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe@949919e
>>>>>>     at
>>>>>> org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:318)
>>>>>> ....
>>>>>>
>>>>>> Caused by: <openjpa-2.2.1-r422266:1396819 nonfatal store error>
>>>>>> org.apache.openjpa.persistence.EntityExistsException: An object of type
>>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>>> "4001" already exists in this context; another cannot be persisted.
>>>>>>
>>>>>> The table "MeetMe" also really contains the objects, so this backup
>>>>>> Exception is actually right.
>>>>>> And because my tables are InnoDB it will definitly throw an error.
>>>>>> the record in the table meetme with the primary key "confno" 4001
>>>>>> simply does really exist. Why does the import try to overwrite that? That
>>>>>> simply cannot work for those tables.
>>>>>>
>>>>>> I guess you will run into the same issue if you will simply re-import
>>>>>> the backup twice.
>>>>>>
>>>>>> Sebastian
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2012/12/28 Maxim Solodovnik <so...@gmail.com>
>>>>>>
>>>>>>> import complete in ~2 seconds with no errors.
>>>>>>> Are you sure you have fresh build?
>>>>>>> "MeetMe" part of code was refactored recently ....
>>>>>>>
>>>>>>>
>>>>>>> On Fri, Dec 28, 2012 at 12:04 PM, seba.wagner@gmail.com <
>>>>>>> seba.wagner@gmail.com> wrote:
>>>>>>>
>>>>>>>> I've added a Jira issue, at the bottom if you scroll down there is
>>>>>>>> the backup attached:
>>>>>>>> https://issues.apache.org/jira/browse/OPENMEETINGS-498
>>>>>>>>
>>>>>>>>
>>>>>>>> 2012/12/28 Maxim Solodovnik <so...@gmail.com>
>>>>>>>>
>>>>>>>>> Can you please send me your backup?
>>>>>>>>>  On Dec 28, 2012 11:44 AM, "seba.wagner@gmail.com" <
>>>>>>>>> seba.wagner@gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>> I don't come that far. The backup import already fails beforehand.
>>>>>>>>>> I just installed a fresh build + export through the SWF UI
>>>>>>>>>> then selected the produced Backup and tried to import.
>>>>>>>>>> It fails with those exceptions:
>>>>>>>>>>
>>>>>>>>>> org.springframework.dao.DataIntegrityViolationException: An
>>>>>>>>>> object of type
>>>>>>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>>>>>>> "4001" already exists in this context; another cannot be persisted.; nested
>>>>>>>>>> exception is <openjpa-2.2.1-r422266:1396819 nonfatal store error>
>>>>>>>>>> org.apache.openjpa.persistence.EntityExistsException: An object of type
>>>>>>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>>>>>>> "4001" already exists in this context; another cannot be persisted.
>>>>>>>>>> FailedObject:
>>>>>>>>>> org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe@45800894
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:318)
>>>>>>>>>> ~[org.springframework.orm-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.orm.jpa.DefaultJpaDialect.translateExceptionIfPossible(DefaultJpaDialect.java:120)
>>>>>>>>>> ~[org.springframework.orm-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:516)
>>>>>>>>>> ~[org.springframework.orm-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)
>>>>>>>>>> ~[org.springframework.transaction-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
>>>>>>>>>> ~[org.springframework.transaction-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:393)
>>>>>>>>>> ~[org.springframework.transaction-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:120)
>>>>>>>>>> ~[org.springframework.transaction-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>>>>>>>>>> ~[spring-aop-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622)
>>>>>>>>>> ~[spring-aop-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openmeetings.data.conference.RoomDAO$$EnhancerByCGLIB$$6a00b9af.update(<generated>)
>>>>>>>>>> ~[cglib-jar-2.2.2.jar:na]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openmeetings.servlet.outputhandler.BackupImportController.performImport(BackupImportController.java:311)
>>>>>>>>>> ~[openmeetings-2.1.0-SNAPSHOT.jar:na]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openmeetings.servlet.outputhandler.BackupImportController.service(BackupImportController.java:598)
>>>>>>>>>> ~[openmeetings-2.1.0-SNAPSHOT.jar:na]
>>>>>>>>>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>>>>>>>>>> Method) ~[na:1.6.0_37]
>>>>>>>>>>     at
>>>>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>>>>>>> ~[na:1.6.0_37]
>>>>>>>>>>     at
>>>>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>>>>>>> ~[na:1.6.0_37]
>>>>>>>>>>     at java.lang.reflect.Method.invoke(Method.java:597)
>>>>>>>>>> ~[na:1.6.0_37]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:213)
>>>>>>>>>> [spring-web-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126)
>>>>>>>>>> [spring-web-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96)
>>>>>>>>>> [org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617)
>>>>>>>>>> [org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578)
>>>>>>>>>> [org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
>>>>>>>>>> [org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
>>>>>>>>>> [org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
>>>>>>>>>> [org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
>>>>>>>>>> [org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
>>>>>>>>>> [org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>     at
>>>>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>     at
>>>>>>>>>> org.red5.logging.LoggerContextFilter.doFilter(LoggerContextFilter.java:77)
>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>     at
>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>>>>>>>> [na:1.6.0_37]
>>>>>>>>>>     at
>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>>>>>>>> [na:1.6.0_37]
>>>>>>>>>>     at java.lang.Thread.run(Thread.java:680) [na:1.6.0_37]
>>>>>>>>>> Caused by: org.apache.openjpa.persistence.EntityExistsException:
>>>>>>>>>> An object of type
>>>>>>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>>>>>>> "4001" already exists in this context; another cannot be persisted.
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.checkForDuplicateId(BrokerImpl.java:5080)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persistInternal(BrokerImpl.java:2653)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2573)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2556)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlushPC(SingleFieldManager.java:800)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:621)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:589)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:505)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.StateManagerImpl.preFlush(StateManagerImpl.java:3028)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.PNewState.beforeFlush(PNewState.java:44)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.StateManagerImpl.beforeFlush(StateManagerImpl.java:1042)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2114)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2074)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1992)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.LocalManagedRuntime.commit(LocalManagedRuntime.java:81)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.commit(BrokerImpl.java:1516)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.DelegatingBroker.commit(DelegatingBroker.java:933)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:570)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:512)
>>>>>>>>>> ~[org.springframework.orm-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     ... 43 common frames omitted
>>>>>>>>>> org.springframework.dao.DataIntegrityViolationException: An
>>>>>>>>>> object of type
>>>>>>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>>>>>>> "4001" already exists in this context; another cannot be persisted.; nested
>>>>>>>>>> exception is <openjpa-2.2.1-r422266:1396819 nonfatal store error>
>>>>>>>>>> org.apache.openjpa.persistence.EntityExistsException: An object of type
>>>>>>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>>>>>>> "4001" already exists in this context; another cannot be persisted.
>>>>>>>>>> FailedObject:
>>>>>>>>>> org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe@45800894
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:318)
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.orm.jpa.DefaultJpaDialect.translateExceptionIfPossible(DefaultJpaDialect.java:120)
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:516)
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:393)
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:120)
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openmeetings.data.conference.RoomDAO$$EnhancerByCGLIB$$6a00b9af.update(<generated>)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openmeetings.servlet.outputhandler.BackupImportController.performImport(BackupImportController.java:311)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openmeetings.servlet.outputhandler.BackupImportController.service(BackupImportController.java:598)
>>>>>>>>>>     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.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:213)
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126)
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96)
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617)
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578)
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
>>>>>>>>>>     at
>>>>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
>>>>>>>>>>     at
>>>>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>>>>>>>     at
>>>>>>>>>> org.red5.logging.LoggerContextFilter.doFilter(LoggerContextFilter.java:77)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
>>>>>>>>>>     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:680)
>>>>>>>>>> Caused by: <openjpa-2.2.1-r422266:1396819 nonfatal store error>
>>>>>>>>>> org.apache.openjpa.persistence.EntityExistsException: An object of type
>>>>>>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>>>>>>> "4001" already exists in this context; another cannot be persisted.
>>>>>>>>>> FailedObject:
>>>>>>>>>> org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe@45800894
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.checkForDuplicateId(BrokerImpl.java:5080)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persistInternal(BrokerImpl.java:2653)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2573)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2556)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlushPC(SingleFieldManager.java:800)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:621)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:589)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:505)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.StateManagerImpl.preFlush(StateManagerImpl.java:3028)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.PNewState.beforeFlush(PNewState.java:44)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.StateManagerImpl.beforeFlush(StateManagerImpl.java:1042)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2114)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2074)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1992)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.LocalManagedRuntime.commit(LocalManagedRuntime.java:81)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.commit(BrokerImpl.java:1516)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.DelegatingBroker.commit(DelegatingBroker.java:933)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:570)
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:512)
>>>>>>>>>>     ... 43 more
>>>>>>>>>> 28.12.2012 17:41:44 org.apache.catalina.core.StandardWrapperValve
>>>>>>>>>> invoke
>>>>>>>>>> SCHWERWIEGEND: Servlet.service() for servlet [spring-mvc] in
>>>>>>>>>> context with path [/openmeetings] threw exception
>>>>>>>>>> [org.springframework.dao.DataIntegrityViolationException: An object of type
>>>>>>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>>>>>>> "4001" already exists in this context; another cannot be persisted.; nested
>>>>>>>>>> exception is <openjpa-2.2.1-r422266:1396819 nonfatal store error>
>>>>>>>>>> org.apache.openjpa.persistence.EntityExistsException: An object of type
>>>>>>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>>>>>>> "4001" already exists in this context; another cannot be persisted.
>>>>>>>>>> FailedObject:
>>>>>>>>>> org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe@45800894]
>>>>>>>>>> with root cause
>>>>>>>>>> <openjpa-2.2.1-r422266:1396819 nonfatal store error>
>>>>>>>>>> org.apache.openjpa.persistence.EntityExistsException: An object of type
>>>>>>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>>>>>>> "4001" already exists in this context; another cannot be persisted.
>>>>>>>>>> FailedObject:
>>>>>>>>>> org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe@45800894
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.checkForDuplicateId(BrokerImpl.java:5080)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persistInternal(BrokerImpl.java:2653)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2573)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2556)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlushPC(SingleFieldManager.java:800)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:621)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:589)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:505)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.StateManagerImpl.preFlush(StateManagerImpl.java:3028)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.PNewState.beforeFlush(PNewState.java:44)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.StateManagerImpl.beforeFlush(StateManagerImpl.java:1042)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2114)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2074)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1992)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.LocalManagedRuntime.commit(LocalManagedRuntime.java:81)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.commit(BrokerImpl.java:1516)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.DelegatingBroker.commit(DelegatingBroker.java:933)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:570)
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:512)
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:393)
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:120)
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openmeetings.data.conference.RoomDAO$$EnhancerByCGLIB$$6a00b9af.update(<generated>)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openmeetings.servlet.outputhandler.BackupImportController.performImport(BackupImportController.java:311)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openmeetings.servlet.outputhandler.BackupImportController.service(BackupImportController.java:598)
>>>>>>>>>>     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.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:213)
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126)
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96)
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617)
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578)
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
>>>>>>>>>>     at
>>>>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
>>>>>>>>>>     at
>>>>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>>>>>>>     at
>>>>>>>>>> org.red5.logging.LoggerContextFilter.doFilter(LoggerContextFilter.java:77)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
>>>>>>>>>>     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:680)
>>>>>>>>>> [ERROR] [http-bio-0.0.0.0-5080-exec-7]
>>>>>>>>>> org.apache.catalina.core.ContainerBase.[red5Engine].[0.0.0.0].[/openmeetings].[spring-mvc]
>>>>>>>>>> - Servlet.service() for servlet [spring-mvc] in context with path
>>>>>>>>>> [/openmeetings] threw exception
>>>>>>>>>> [org.springframework.dao.DataIntegrityViolationException: An object of type
>>>>>>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>>>>>>> "4001" already exists in this context; another cannot be persisted.; nested
>>>>>>>>>> exception is <openjpa-2.2.1-r422266:1396819 nonfatal store error>
>>>>>>>>>> org.apache.openjpa.persistence.EntityExistsException: An object of type
>>>>>>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>>>>>>> "4001" already exists in this context; another cannot be persisted.
>>>>>>>>>> FailedObject:
>>>>>>>>>> org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe@45800894]
>>>>>>>>>> with root cause
>>>>>>>>>> org.apache.openjpa.persistence.EntityExistsException: An object
>>>>>>>>>> of type "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe"
>>>>>>>>>> with oid "4001" already exists in this context; another cannot be persisted.
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.checkForDuplicateId(BrokerImpl.java:5080)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persistInternal(BrokerImpl.java:2653)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2573)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2556)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlushPC(SingleFieldManager.java:800)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:621)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:589)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:505)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.StateManagerImpl.preFlush(StateManagerImpl.java:3028)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.PNewState.beforeFlush(PNewState.java:44)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.StateManagerImpl.beforeFlush(StateManagerImpl.java:1042)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2114)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2074)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1992)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.LocalManagedRuntime.commit(LocalManagedRuntime.java:81)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.commit(BrokerImpl.java:1516)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.kernel.DelegatingBroker.commit(DelegatingBroker.java:933)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:570)
>>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:512)
>>>>>>>>>> ~[org.springframework.orm-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)
>>>>>>>>>> ~[org.springframework.transaction-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
>>>>>>>>>> ~[org.springframework.transaction-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:393)
>>>>>>>>>> ~[org.springframework.transaction-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:120)
>>>>>>>>>> ~[org.springframework.transaction-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>>>>>>>>>> ~[spring-aop-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622)
>>>>>>>>>> ~[spring-aop-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openmeetings.data.conference.RoomDAO$$EnhancerByCGLIB$$6a00b9af.update(<generated>)
>>>>>>>>>> ~[cglib-jar-2.2.2.jar:na]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openmeetings.servlet.outputhandler.BackupImportController.performImport(BackupImportController.java:311)
>>>>>>>>>> ~[openmeetings-2.1.0-SNAPSHOT.jar:na]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.openmeetings.servlet.outputhandler.BackupImportController.service(BackupImportController.java:598)
>>>>>>>>>> ~[openmeetings-2.1.0-SNAPSHOT.jar:na]
>>>>>>>>>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>>>>>>>>>> Method) ~[na:1.6.0_37]
>>>>>>>>>>     at
>>>>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>>>>>>> ~[na:1.6.0_37]
>>>>>>>>>>     at
>>>>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>>>>>>> ~[na:1.6.0_37]
>>>>>>>>>>     at java.lang.reflect.Method.invoke(Method.java:597)
>>>>>>>>>> ~[na:1.6.0_37]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:213)
>>>>>>>>>> ~[spring-web-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126)
>>>>>>>>>> ~[spring-web-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96)
>>>>>>>>>> ~[org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617)
>>>>>>>>>> ~[org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578)
>>>>>>>>>> ~[org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
>>>>>>>>>> ~[org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
>>>>>>>>>> ~[org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
>>>>>>>>>> ~[org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
>>>>>>>>>> ~[org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
>>>>>>>>>> ~[org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>>     at
>>>>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
>>>>>>>>>> ~[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>     at
>>>>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>>>>>>>>>> ~[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>>>>>>>>>> ~[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>>>>>>> ~[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>     at
>>>>>>>>>> org.red5.logging.LoggerContextFilter.doFilter(LoggerContextFilter.java:77)
>>>>>>>>>> ~[red5.jar:na]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>>>>>>>>>> ~[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>>>>>>> ~[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>>>>>>>>>> ~[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>     at
>>>>>>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>     at
>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>>>>>>>> [na:1.6.0_37]
>>>>>>>>>>     at
>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>>>>>>>> [na:1.6.0_37]
>>>>>>>>>>     at java.lang.Thread.run(Thread.java:680) [na:1.6.0_37]
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 2012/12/28 seba.wagner@gmail.com <se...@gmail.com>
>>>>>>>>>>
>>>>>>>>>>> Thanks,
>>>>>>>>>>>
>>>>>>>>>>> let me try to debug that. I think the root of the issue is
>>>>>>>>>>> somewhere else.
>>>>>>>>>>>
>>>>>>>>>>> Sebastian
>>>>>>>>>>> Am 28.12.2012 05:28 schrieb "Maxim Solodovnik" <
>>>>>>>>>>> solomax666@gmail.com>:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> the steps are very simple:
>>>>>>>>>>>>
>>>>>>>>>>>> 0) no servers are configured
>>>>>>>>>>>> 1) select system restore in SWF admin
>>>>>>>>>>>> 2) select backup
>>>>>>>>>>>> 3) click "upload"
>>>>>>>>>>>> Result: Server is NULL, NPE without a fix (seems it affects
>>>>>>>>>>>> nothing)
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Thu, Dec 27, 2012 at 9:18 AM, seba.wagner@gmail.com <
>>>>>>>>>>>> seba.wagner@gmail.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Please give me the scenario to reproduce it when you have one.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks!
>>>>>>>>>>>>> Sebastian
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> 2012/12/27 Maxim Solodovnik <so...@gmail.com>
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hello Sebastian,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I catch NPE while debugging :(
>>>>>>>>>>>>>> Clean just imported DB was used. The NPE was 100%
>>>>>>>>>>>>>> reproducible on my server
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I'll doublecheck
>>>>>>>>>>>>>> On Dec 27, 2012 5:25 AM, "seba.wagner@gmail.com" <
>>>>>>>>>>>>>> seba.wagner@gmail.com> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> In fact by reading this method, logically your if-statement
>>>>>>>>>>>>>>> should never be true.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Cause:
>>>>>>>>>>>>>>> the method "sendUploadCompletMessageByPublicSID" first tries
>>>>>>>>>>>>>>> to get the RoomClient with:
>>>>>>>>>>>>>>> RoomClient currentClient = this.clientListManager
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> .getClientByPublicSID(publicSID, false, null);
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> The null at the end means it searches a RoomClient with that
>>>>>>>>>>>>>>> publicSID and the serverId = null. That means it searches for a
>>>>>>>>>>>>>>> Connection/Session LOCALLY.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> If RoomClient is != null => Then it can directly use the
>>>>>>>>>>>>>>> regular sync methods. Cause it means that the session is handled on the
>>>>>>>>>>>>>>> same server.
>>>>>>>>>>>>>>> If tRoomClient is NULL, then it means it is handled on a
>>>>>>>>>>>>>>> slave server.
>>>>>>>>>>>>>>> I have impelemented this so that the master can sync the
>>>>>>>>>>>>>>> upload complete message to the slave.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> What you have implemented then at the end with that
>>>>>>>>>>>>>>> if-clause, actually the implementation logically can never run into that.
>>>>>>>>>>>>>>> If the serverId == null, the RoomClient would have already
>>>>>>>>>>>>>>> be found by the first getClientByPublicSID(publicSID, false, null);
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> From my point of view an Exception should here be thrown and
>>>>>>>>>>>>>>> we should find out how and when it could happen that the "server" argument
>>>>>>>>>>>>>>> is null here. Cause actually it would mean a much bigger issue.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Where did you find any kind of issue that makes you think
>>>>>>>>>>>>>>> that this if-clause is needed?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Sebastian
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> 2012/12/27 seba.wagner@gmail.com <se...@gmail.com>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Hi Maxim,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I found this fix from you:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Server s = clientSessionInfo.getServerId() != null ?
>>>>>>>>>>>>>>>> serverDao.get(clientSessionInfo.getServerId()) : null;
>>>>>>>>>>>>>>>>             if (s != null) {
>>>>>>>>>>>>>>>>                 // no need to sync on slave if server is
>>>>>>>>>>>>>>>> null
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> clusterSlaveJob.syncMessageToClientOnSlave(s,
>>>>>>>>>>>>>>>> clientSessionInfo.getRcl().getPublicSID() , message);
>>>>>>>>>>>>>>>>             }
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> What should that mean and what enhancements should it bring?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Actually if server == null it means that the client is
>>>>>>>>>>>>>>>> handled on the same server.
>>>>>>>>>>>>>>>> Basically on a slave ALL sessions have the server == null,
>>>>>>>>>>>>>>>> because from the perspective of the slave every session is locally. In fact
>>>>>>>>>>>>>>>> the slave does not even know that he is a slave. He handles every
>>>>>>>>>>>>>>>> connection as if there is no difference.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> So why should the slave NOT sync that message ? That makes
>>>>>>>>>>>>>>>> no sense to me.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Server == null is a correct implementation and it should
>>>>>>>>>>>>>>>> not throw any NullPointerException.
>>>>>>>>>>>>>>>> It simply means that the Session is local and not on
>>>>>>>>>>>>>>>> another server.
>>>>>>>>>>>>>>>> Actually only this kind of session could have a s != null:
>>>>>>>>>>>>>>>> A session that is synced from the slave to the master. The
>>>>>>>>>>>>>>>> master would have this session with a Server != null.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> So your comment does not makes sense to me.
>>>>>>>>>>>>>>>> Of course slaves do sync messages. On the slave the
>>>>>>>>>>>>>>>> "server" argument is _always_ null. But of course the slave should still
>>>>>>>>>>>>>>>> sync that message.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Sebastian
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>> Sebastian Wagner
>>>>>>>>>>>>>>>> https://twitter.com/#!/dead_lock
>>>>>>>>>>>>>>>> http://www.webbase-design.de
>>>>>>>>>>>>>>>> http://www.wagner-sebastian.com
>>>>>>>>>>>>>>>> seba.wagner@gmail.com
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>> Sebastian Wagner
>>>>>>>>>>>>>>> https://twitter.com/#!/dead_lock
>>>>>>>>>>>>>>> http://www.webbase-design.de
>>>>>>>>>>>>>>> http://www.wagner-sebastian.com
>>>>>>>>>>>>>>> seba.wagner@gmail.com
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> Sebastian Wagner
>>>>>>>>>>>>> https://twitter.com/#!/dead_lock
>>>>>>>>>>>>> http://www.webbase-design.de
>>>>>>>>>>>>> http://www.wagner-sebastian.com
>>>>>>>>>>>>> seba.wagner@gmail.com
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> WBR
>>>>>>>>>>>> Maxim aka solomax
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Sebastian Wagner
>>>>>>>>>> https://twitter.com/#!/dead_lock
>>>>>>>>>> http://www.webbase-design.de
>>>>>>>>>> http://www.wagner-sebastian.com
>>>>>>>>>> seba.wagner@gmail.com
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Sebastian Wagner
>>>>>>>> https://twitter.com/#!/dead_lock
>>>>>>>> http://www.webbase-design.de
>>>>>>>> http://www.wagner-sebastian.com
>>>>>>>> seba.wagner@gmail.com
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> WBR
>>>>>>> Maxim aka solomax
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Sebastian Wagner
>>>>>> https://twitter.com/#!/dead_lock
>>>>>> http://www.webbase-design.de
>>>>>> http://www.wagner-sebastian.com
>>>>>> seba.wagner@gmail.com
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Sebastian Wagner
>>>>> https://twitter.com/#!/dead_lock
>>>>> http://www.webbase-design.de
>>>>> http://www.wagner-sebastian.com
>>>>> seba.wagner@gmail.com
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> WBR
>>>> Maxim aka solomax
>>>>
>>>
>>>
>>>
>>> --
>>> WBR
>>> Maxim aka solomax
>>>
>>
>>
>>
>> --
>> Sebastian Wagner
>> https://twitter.com/#!/dead_lock
>> http://www.webbase-design.de
>> http://www.wagner-sebastian.com
>> seba.wagner@gmail.com
>>
>
>
>
> --
> Sebastian Wagner
> https://twitter.com/#!/dead_lock
> http://www.webbase-design.de
> http://www.wagner-sebastian.com
> seba.wagner@gmail.com
>



-- 
WBR
Maxim aka solomax

Re: no need to sync on slave if server is null ?!

Posted by "seba.wagner@gmail.com" <se...@gmail.com>.
... and the imports are running fine too!

Sebastian


2012/12/30 seba.wagner@gmail.com <se...@gmail.com>

> Hi Maxim,
>
> thanks I also fixed the other exception when the server is null.
> There was actually just missing a return statement. In case the RoomClient
> is already found locally, by:
> this.clientListManager
>                                 .getClientByPublicSID(publicSID, false,
> null);
> then you simply sync the message to this client locally, no need to look
> it up in the cache if there is a RoomClient session open on any other
> server.
> So there was simply a "return" missing to exit the method in that
> if-clause.
> I have added another Exception now when the "server == null" case happens
> again (but actually it should not).
>
> Thanks!
> Sebastian
>
>
> 2012/12/29 Maxim Solodovnik <so...@gmail.com>
>
>> seems to be fixed, thanks!
>>
>> revision 1426492
>>
>>
>> On Fri, Dec 28, 2012 at 2:57 PM, Maxim Solodovnik <so...@gmail.com>wrote:
>>
>>> I'll retest both files on clean DB (created using your commands)
>>>
>>>
>>> On Fri, Dec 28, 2012 at 1:18 PM, seba.wagner@gmail.com <
>>> seba.wagner@gmail.com> wrote:
>>>
>>>> Btw this is another backup file from some customer.
>>>> You will see some more exceptions, but this time in the User and Room
>>>> entity.
>>>> Please keep the zip file confidential.
>>>>
>>>> Sebastian
>>>>
>>>>
>>>> 2012/12/28 seba.wagner@gmail.com <se...@gmail.com>
>>>>
>>>> Yes I am quite sure.
>>>>> But I rerun the entire process again to make sure
>>>>>
>>>>> I did, svn update(there was nothing to update) rebuild again using:
>>>>> ant -Ddb=mysql -Dwicket-mode=DEVELOPMENT dist-debug
>>>>>
>>>>> install using:
>>>>> ./admin.sh -i -v -tz Europe/Berlin -email seba.wagner@gmail.com-group webbase -user swagner --smtp-server
>>>>> h649115.serverkompetenz.net --db-type mysql --db-name
>>>>> openmeetings_v21 --email-auth-user hidden@webbase-design.de--password hidden --system-email-address
>>>>> i4c@webbase-design.de --db-user root --db-host localhost
>>>>> --email-auth-pass test123
>>>>>
>>>>> then startup using:
>>>>> ./red5.sh
>>>>>
>>>>> then open a browser and goto:
>>>>> http://localhost:5080/openmeetings/?swf=maindebug.as3.swf10.swf
>>>>> klick on Admin > Backup and run the export of the Backup (see attached)
>>>>> klick on Import and choose the just exported file
>>>>> => Exceptions:
>>>>> 1)
>>>>>
>>>>> org.springframework.dao.DataIntegrityViolationException: An object of
>>>>> type "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with
>>>>> oid "4001" already exists in this context; another cannot be persisted.;
>>>>> nested exception is <openjpa-2.2.1-r422266:1396819 nonfatal store error>
>>>>> org.apache.openjpa.persistence.EntityExistsException: An object of type
>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>> "4001" already exists in this context; another cannot be persisted.
>>>>>  FailedObject:
>>>>> org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe@949919e
>>>>>
>>>>>     at
>>>>> org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:318)
>>>>> ~[org.springframework.orm-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>     at
>>>>> org.springframework.orm.jpa.DefaultJpaDialect.translateExceptionIfPossible(DefaultJpaDialect.java:120)
>>>>> ~[org.springframework.orm-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>> ...
>>>>>
>>>>> Caused by: org.apache.openjpa.persistence.EntityExistsException: An
>>>>> object of type
>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>> "4001" already exists in this context; another cannot be persisted.
>>>>>  2)
>>>>>
>>>>> org.springframework.dao.DataIntegrityViolationException: An object of
>>>>> type "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with
>>>>> oid "4001" already exists in this context; another cannot be persisted.;
>>>>> nested exception is <openjpa-2.2.1-r422266:1396819 nonfatal store error>
>>>>> org.apache.openjpa.persistence.EntityExistsException: An object of type
>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>> "4001" already exists in this context; another cannot be persisted.
>>>>>  FailedObject:
>>>>> org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe@949919e
>>>>>     at
>>>>> org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:318)
>>>>> ....
>>>>>
>>>>> Caused by: <openjpa-2.2.1-r422266:1396819 nonfatal store error>
>>>>> org.apache.openjpa.persistence.EntityExistsException: An object of type
>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>> "4001" already exists in this context; another cannot be persisted.
>>>>>
>>>>> The table "MeetMe" also really contains the objects, so this backup
>>>>> Exception is actually right.
>>>>> And because my tables are InnoDB it will definitly throw an error.
>>>>> the record in the table meetme with the primary key "confno" 4001
>>>>> simply does really exist. Why does the import try to overwrite that? That
>>>>> simply cannot work for those tables.
>>>>>
>>>>> I guess you will run into the same issue if you will simply re-import
>>>>> the backup twice.
>>>>>
>>>>> Sebastian
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> 2012/12/28 Maxim Solodovnik <so...@gmail.com>
>>>>>
>>>>>> import complete in ~2 seconds with no errors.
>>>>>> Are you sure you have fresh build?
>>>>>> "MeetMe" part of code was refactored recently ....
>>>>>>
>>>>>>
>>>>>> On Fri, Dec 28, 2012 at 12:04 PM, seba.wagner@gmail.com <
>>>>>> seba.wagner@gmail.com> wrote:
>>>>>>
>>>>>>> I've added a Jira issue, at the bottom if you scroll down there is
>>>>>>> the backup attached:
>>>>>>> https://issues.apache.org/jira/browse/OPENMEETINGS-498
>>>>>>>
>>>>>>>
>>>>>>> 2012/12/28 Maxim Solodovnik <so...@gmail.com>
>>>>>>>
>>>>>>>> Can you please send me your backup?
>>>>>>>>  On Dec 28, 2012 11:44 AM, "seba.wagner@gmail.com" <
>>>>>>>> seba.wagner@gmail.com> wrote:
>>>>>>>>
>>>>>>>>> I don't come that far. The backup import already fails beforehand.
>>>>>>>>> I just installed a fresh build + export through the SWF UI
>>>>>>>>> then selected the produced Backup and tried to import.
>>>>>>>>> It fails with those exceptions:
>>>>>>>>>
>>>>>>>>> org.springframework.dao.DataIntegrityViolationException: An object
>>>>>>>>> of type "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe"
>>>>>>>>> with oid "4001" already exists in this context; another cannot be
>>>>>>>>> persisted.; nested exception is <openjpa-2.2.1-r422266:1396819 nonfatal
>>>>>>>>> store error> org.apache.openjpa.persistence.EntityExistsException: An
>>>>>>>>> object of type
>>>>>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>>>>>> "4001" already exists in this context; another cannot be persisted.
>>>>>>>>> FailedObject:
>>>>>>>>> org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe@45800894
>>>>>>>>>     at
>>>>>>>>> org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:318)
>>>>>>>>> ~[org.springframework.orm-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> org.springframework.orm.jpa.DefaultJpaDialect.translateExceptionIfPossible(DefaultJpaDialect.java:120)
>>>>>>>>> ~[org.springframework.orm-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:516)
>>>>>>>>> ~[org.springframework.orm-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)
>>>>>>>>> ~[org.springframework.transaction-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
>>>>>>>>> ~[org.springframework.transaction-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:393)
>>>>>>>>> ~[org.springframework.transaction-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:120)
>>>>>>>>> ~[org.springframework.transaction-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>>>>>>>>> ~[spring-aop-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622)
>>>>>>>>> ~[spring-aop-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> org.apache.openmeetings.data.conference.RoomDAO$$EnhancerByCGLIB$$6a00b9af.update(<generated>)
>>>>>>>>> ~[cglib-jar-2.2.2.jar:na]
>>>>>>>>>     at
>>>>>>>>> org.apache.openmeetings.servlet.outputhandler.BackupImportController.performImport(BackupImportController.java:311)
>>>>>>>>> ~[openmeetings-2.1.0-SNAPSHOT.jar:na]
>>>>>>>>>     at
>>>>>>>>> org.apache.openmeetings.servlet.outputhandler.BackupImportController.service(BackupImportController.java:598)
>>>>>>>>> ~[openmeetings-2.1.0-SNAPSHOT.jar:na]
>>>>>>>>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>>>>> ~[na:1.6.0_37]
>>>>>>>>>     at
>>>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>>>>>> ~[na:1.6.0_37]
>>>>>>>>>     at
>>>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>>>>>> ~[na:1.6.0_37]
>>>>>>>>>     at java.lang.reflect.Method.invoke(Method.java:597)
>>>>>>>>> ~[na:1.6.0_37]
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:213)
>>>>>>>>> [spring-web-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126)
>>>>>>>>> [spring-web-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96)
>>>>>>>>> [org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617)
>>>>>>>>> [org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578)
>>>>>>>>> [org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
>>>>>>>>> [org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
>>>>>>>>> [org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
>>>>>>>>> [org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
>>>>>>>>> [org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
>>>>>>>>> [org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>     at
>>>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>     at
>>>>>>>>> org.red5.logging.LoggerContextFilter.doFilter(LoggerContextFilter.java:77)
>>>>>>>>> [red5.jar:na]
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>     at
>>>>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>     at
>>>>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>     at
>>>>>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>     at
>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>>>>>>> [na:1.6.0_37]
>>>>>>>>>     at
>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>>>>>>> [na:1.6.0_37]
>>>>>>>>>     at java.lang.Thread.run(Thread.java:680) [na:1.6.0_37]
>>>>>>>>> Caused by: org.apache.openjpa.persistence.EntityExistsException:
>>>>>>>>> An object of type
>>>>>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>>>>>> "4001" already exists in this context; another cannot be persisted.
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.checkForDuplicateId(BrokerImpl.java:5080)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persistInternal(BrokerImpl.java:2653)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2573)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2556)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlushPC(SingleFieldManager.java:800)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:621)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:589)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:505)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.StateManagerImpl.preFlush(StateManagerImpl.java:3028)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.PNewState.beforeFlush(PNewState.java:44)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.StateManagerImpl.beforeFlush(StateManagerImpl.java:1042)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2114)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2074)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1992)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.LocalManagedRuntime.commit(LocalManagedRuntime.java:81)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.commit(BrokerImpl.java:1516)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.DelegatingBroker.commit(DelegatingBroker.java:933)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:570)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:512)
>>>>>>>>> ~[org.springframework.orm-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     ... 43 common frames omitted
>>>>>>>>> org.springframework.dao.DataIntegrityViolationException: An object
>>>>>>>>> of type "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe"
>>>>>>>>> with oid "4001" already exists in this context; another cannot be
>>>>>>>>> persisted.; nested exception is <openjpa-2.2.1-r422266:1396819 nonfatal
>>>>>>>>> store error> org.apache.openjpa.persistence.EntityExistsException: An
>>>>>>>>> object of type
>>>>>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>>>>>> "4001" already exists in this context; another cannot be persisted.
>>>>>>>>> FailedObject:
>>>>>>>>> org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe@45800894
>>>>>>>>>     at
>>>>>>>>> org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:318)
>>>>>>>>>     at
>>>>>>>>> org.springframework.orm.jpa.DefaultJpaDialect.translateExceptionIfPossible(DefaultJpaDialect.java:120)
>>>>>>>>>     at
>>>>>>>>> org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:516)
>>>>>>>>>     at
>>>>>>>>> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)
>>>>>>>>>     at
>>>>>>>>> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
>>>>>>>>>     at
>>>>>>>>> org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:393)
>>>>>>>>>     at
>>>>>>>>> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:120)
>>>>>>>>>     at
>>>>>>>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>>>>>>>>>     at
>>>>>>>>> org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622)
>>>>>>>>>     at
>>>>>>>>> org.apache.openmeetings.data.conference.RoomDAO$$EnhancerByCGLIB$$6a00b9af.update(<generated>)
>>>>>>>>>     at
>>>>>>>>> org.apache.openmeetings.servlet.outputhandler.BackupImportController.performImport(BackupImportController.java:311)
>>>>>>>>>     at
>>>>>>>>> org.apache.openmeetings.servlet.outputhandler.BackupImportController.service(BackupImportController.java:598)
>>>>>>>>>     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.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:213)
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126)
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96)
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617)
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578)
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
>>>>>>>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
>>>>>>>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>>>>>>     at
>>>>>>>>> org.red5.logging.LoggerContextFilter.doFilter(LoggerContextFilter.java:77)
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
>>>>>>>>>     at
>>>>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
>>>>>>>>>     at
>>>>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>>>>>>>>>     at
>>>>>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
>>>>>>>>>     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:680)
>>>>>>>>> Caused by: <openjpa-2.2.1-r422266:1396819 nonfatal store error>
>>>>>>>>> org.apache.openjpa.persistence.EntityExistsException: An object of type
>>>>>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>>>>>> "4001" already exists in this context; another cannot be persisted.
>>>>>>>>> FailedObject:
>>>>>>>>> org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe@45800894
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.checkForDuplicateId(BrokerImpl.java:5080)
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persistInternal(BrokerImpl.java:2653)
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2573)
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2556)
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlushPC(SingleFieldManager.java:800)
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:621)
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:589)
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:505)
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.StateManagerImpl.preFlush(StateManagerImpl.java:3028)
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.PNewState.beforeFlush(PNewState.java:44)
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.StateManagerImpl.beforeFlush(StateManagerImpl.java:1042)
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2114)
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2074)
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1992)
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.LocalManagedRuntime.commit(LocalManagedRuntime.java:81)
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.commit(BrokerImpl.java:1516)
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.DelegatingBroker.commit(DelegatingBroker.java:933)
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:570)
>>>>>>>>>     at
>>>>>>>>> org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:512)
>>>>>>>>>     ... 43 more
>>>>>>>>> 28.12.2012 17:41:44 org.apache.catalina.core.StandardWrapperValve
>>>>>>>>> invoke
>>>>>>>>> SCHWERWIEGEND: Servlet.service() for servlet [spring-mvc] in
>>>>>>>>> context with path [/openmeetings] threw exception
>>>>>>>>> [org.springframework.dao.DataIntegrityViolationException: An object of type
>>>>>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>>>>>> "4001" already exists in this context; another cannot be persisted.; nested
>>>>>>>>> exception is <openjpa-2.2.1-r422266:1396819 nonfatal store error>
>>>>>>>>> org.apache.openjpa.persistence.EntityExistsException: An object of type
>>>>>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>>>>>> "4001" already exists in this context; another cannot be persisted.
>>>>>>>>> FailedObject:
>>>>>>>>> org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe@45800894]
>>>>>>>>> with root cause
>>>>>>>>> <openjpa-2.2.1-r422266:1396819 nonfatal store error>
>>>>>>>>> org.apache.openjpa.persistence.EntityExistsException: An object of type
>>>>>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>>>>>> "4001" already exists in this context; another cannot be persisted.
>>>>>>>>> FailedObject:
>>>>>>>>> org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe@45800894
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.checkForDuplicateId(BrokerImpl.java:5080)
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persistInternal(BrokerImpl.java:2653)
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2573)
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2556)
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlushPC(SingleFieldManager.java:800)
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:621)
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:589)
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:505)
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.StateManagerImpl.preFlush(StateManagerImpl.java:3028)
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.PNewState.beforeFlush(PNewState.java:44)
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.StateManagerImpl.beforeFlush(StateManagerImpl.java:1042)
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2114)
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2074)
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1992)
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.LocalManagedRuntime.commit(LocalManagedRuntime.java:81)
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.commit(BrokerImpl.java:1516)
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.DelegatingBroker.commit(DelegatingBroker.java:933)
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:570)
>>>>>>>>>     at
>>>>>>>>> org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:512)
>>>>>>>>>     at
>>>>>>>>> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)
>>>>>>>>>     at
>>>>>>>>> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
>>>>>>>>>     at
>>>>>>>>> org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:393)
>>>>>>>>>     at
>>>>>>>>> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:120)
>>>>>>>>>     at
>>>>>>>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>>>>>>>>>     at
>>>>>>>>> org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622)
>>>>>>>>>     at
>>>>>>>>> org.apache.openmeetings.data.conference.RoomDAO$$EnhancerByCGLIB$$6a00b9af.update(<generated>)
>>>>>>>>>     at
>>>>>>>>> org.apache.openmeetings.servlet.outputhandler.BackupImportController.performImport(BackupImportController.java:311)
>>>>>>>>>     at
>>>>>>>>> org.apache.openmeetings.servlet.outputhandler.BackupImportController.service(BackupImportController.java:598)
>>>>>>>>>     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.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:213)
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126)
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96)
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617)
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578)
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
>>>>>>>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
>>>>>>>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>>>>>>     at
>>>>>>>>> org.red5.logging.LoggerContextFilter.doFilter(LoggerContextFilter.java:77)
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
>>>>>>>>>     at
>>>>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
>>>>>>>>>     at
>>>>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>>>>>>>>>     at
>>>>>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
>>>>>>>>>     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:680)
>>>>>>>>> [ERROR] [http-bio-0.0.0.0-5080-exec-7]
>>>>>>>>> org.apache.catalina.core.ContainerBase.[red5Engine].[0.0.0.0].[/openmeetings].[spring-mvc]
>>>>>>>>> - Servlet.service() for servlet [spring-mvc] in context with path
>>>>>>>>> [/openmeetings] threw exception
>>>>>>>>> [org.springframework.dao.DataIntegrityViolationException: An object of type
>>>>>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>>>>>> "4001" already exists in this context; another cannot be persisted.; nested
>>>>>>>>> exception is <openjpa-2.2.1-r422266:1396819 nonfatal store error>
>>>>>>>>> org.apache.openjpa.persistence.EntityExistsException: An object of type
>>>>>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>>>>>> "4001" already exists in this context; another cannot be persisted.
>>>>>>>>> FailedObject:
>>>>>>>>> org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe@45800894]
>>>>>>>>> with root cause
>>>>>>>>> org.apache.openjpa.persistence.EntityExistsException: An object of
>>>>>>>>> type "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with
>>>>>>>>> oid "4001" already exists in this context; another cannot be persisted.
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.checkForDuplicateId(BrokerImpl.java:5080)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persistInternal(BrokerImpl.java:2653)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2573)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2556)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlushPC(SingleFieldManager.java:800)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:621)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:589)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:505)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.StateManagerImpl.preFlush(StateManagerImpl.java:3028)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.PNewState.beforeFlush(PNewState.java:44)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.StateManagerImpl.beforeFlush(StateManagerImpl.java:1042)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2114)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2074)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1992)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.LocalManagedRuntime.commit(LocalManagedRuntime.java:81)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.commit(BrokerImpl.java:1516)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.kernel.DelegatingBroker.commit(DelegatingBroker.java:933)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:570)
>>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>>     at
>>>>>>>>> org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:512)
>>>>>>>>> ~[org.springframework.orm-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)
>>>>>>>>> ~[org.springframework.transaction-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
>>>>>>>>> ~[org.springframework.transaction-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:393)
>>>>>>>>> ~[org.springframework.transaction-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:120)
>>>>>>>>> ~[org.springframework.transaction-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>>>>>>>>> ~[spring-aop-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622)
>>>>>>>>> ~[spring-aop-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> org.apache.openmeetings.data.conference.RoomDAO$$EnhancerByCGLIB$$6a00b9af.update(<generated>)
>>>>>>>>> ~[cglib-jar-2.2.2.jar:na]
>>>>>>>>>     at
>>>>>>>>> org.apache.openmeetings.servlet.outputhandler.BackupImportController.performImport(BackupImportController.java:311)
>>>>>>>>> ~[openmeetings-2.1.0-SNAPSHOT.jar:na]
>>>>>>>>>     at
>>>>>>>>> org.apache.openmeetings.servlet.outputhandler.BackupImportController.service(BackupImportController.java:598)
>>>>>>>>> ~[openmeetings-2.1.0-SNAPSHOT.jar:na]
>>>>>>>>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>>>>> ~[na:1.6.0_37]
>>>>>>>>>     at
>>>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>>>>>> ~[na:1.6.0_37]
>>>>>>>>>     at
>>>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>>>>>> ~[na:1.6.0_37]
>>>>>>>>>     at java.lang.reflect.Method.invoke(Method.java:597)
>>>>>>>>> ~[na:1.6.0_37]
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:213)
>>>>>>>>> ~[spring-web-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126)
>>>>>>>>> ~[spring-web-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96)
>>>>>>>>> ~[org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617)
>>>>>>>>> ~[org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578)
>>>>>>>>> ~[org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
>>>>>>>>> ~[org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
>>>>>>>>> ~[org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
>>>>>>>>> ~[org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
>>>>>>>>> ~[org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
>>>>>>>>> ~[org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>>     at
>>>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
>>>>>>>>> ~[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>     at
>>>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>>>>>>>>> ~[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>>>>>>>>> ~[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>>>>>> ~[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>     at
>>>>>>>>> org.red5.logging.LoggerContextFilter.doFilter(LoggerContextFilter.java:77)
>>>>>>>>> ~[red5.jar:na]
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>>>>>>>>> ~[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>>>>>> ~[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>>>>>>>>> ~[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>     at
>>>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>     at
>>>>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>     at
>>>>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>     at
>>>>>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>     at
>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>>>>>>> [na:1.6.0_37]
>>>>>>>>>     at
>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>>>>>>> [na:1.6.0_37]
>>>>>>>>>     at java.lang.Thread.run(Thread.java:680) [na:1.6.0_37]
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2012/12/28 seba.wagner@gmail.com <se...@gmail.com>
>>>>>>>>>
>>>>>>>>>> Thanks,
>>>>>>>>>>
>>>>>>>>>> let me try to debug that. I think the root of the issue is
>>>>>>>>>> somewhere else.
>>>>>>>>>>
>>>>>>>>>> Sebastian
>>>>>>>>>> Am 28.12.2012 05:28 schrieb "Maxim Solodovnik" <
>>>>>>>>>> solomax666@gmail.com>:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> the steps are very simple:
>>>>>>>>>>>
>>>>>>>>>>> 0) no servers are configured
>>>>>>>>>>> 1) select system restore in SWF admin
>>>>>>>>>>> 2) select backup
>>>>>>>>>>> 3) click "upload"
>>>>>>>>>>> Result: Server is NULL, NPE without a fix (seems it affects
>>>>>>>>>>> nothing)
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Thu, Dec 27, 2012 at 9:18 AM, seba.wagner@gmail.com <
>>>>>>>>>>> seba.wagner@gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Please give me the scenario to reproduce it when you have one.
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks!
>>>>>>>>>>>> Sebastian
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> 2012/12/27 Maxim Solodovnik <so...@gmail.com>
>>>>>>>>>>>>
>>>>>>>>>>>>> Hello Sebastian,
>>>>>>>>>>>>>
>>>>>>>>>>>>> I catch NPE while debugging :(
>>>>>>>>>>>>> Clean just imported DB was used. The NPE was 100% reproducible
>>>>>>>>>>>>> on my server
>>>>>>>>>>>>>
>>>>>>>>>>>>> I'll doublecheck
>>>>>>>>>>>>> On Dec 27, 2012 5:25 AM, "seba.wagner@gmail.com" <
>>>>>>>>>>>>> seba.wagner@gmail.com> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> In fact by reading this method, logically your if-statement
>>>>>>>>>>>>>> should never be true.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Cause:
>>>>>>>>>>>>>> the method "sendUploadCompletMessageByPublicSID" first tries
>>>>>>>>>>>>>> to get the RoomClient with:
>>>>>>>>>>>>>> RoomClient currentClient = this.clientListManager
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> .getClientByPublicSID(publicSID, false, null);
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> The null at the end means it searches a RoomClient with that
>>>>>>>>>>>>>> publicSID and the serverId = null. That means it searches for a
>>>>>>>>>>>>>> Connection/Session LOCALLY.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> If RoomClient is != null => Then it can directly use the
>>>>>>>>>>>>>> regular sync methods. Cause it means that the session is handled on the
>>>>>>>>>>>>>> same server.
>>>>>>>>>>>>>> If tRoomClient is NULL, then it means it is handled on a
>>>>>>>>>>>>>> slave server.
>>>>>>>>>>>>>> I have impelemented this so that the master can sync the
>>>>>>>>>>>>>> upload complete message to the slave.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> What you have implemented then at the end with that
>>>>>>>>>>>>>> if-clause, actually the implementation logically can never run into that.
>>>>>>>>>>>>>> If the serverId == null, the RoomClient would have already be
>>>>>>>>>>>>>> found by the first getClientByPublicSID(publicSID, false, null);
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> From my point of view an Exception should here be thrown and
>>>>>>>>>>>>>> we should find out how and when it could happen that the "server" argument
>>>>>>>>>>>>>> is null here. Cause actually it would mean a much bigger issue.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Where did you find any kind of issue that makes you think
>>>>>>>>>>>>>> that this if-clause is needed?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Sebastian
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> 2012/12/27 seba.wagner@gmail.com <se...@gmail.com>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Hi Maxim,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I found this fix from you:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Server s = clientSessionInfo.getServerId() != null ?
>>>>>>>>>>>>>>> serverDao.get(clientSessionInfo.getServerId()) : null;
>>>>>>>>>>>>>>>             if (s != null) {
>>>>>>>>>>>>>>>                 // no need to sync on slave if server is null
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> clusterSlaveJob.syncMessageToClientOnSlave(s,
>>>>>>>>>>>>>>> clientSessionInfo.getRcl().getPublicSID() , message);
>>>>>>>>>>>>>>>             }
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> What should that mean and what enhancements should it bring?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Actually if server == null it means that the client is
>>>>>>>>>>>>>>> handled on the same server.
>>>>>>>>>>>>>>> Basically on a slave ALL sessions have the server == null,
>>>>>>>>>>>>>>> because from the perspective of the slave every session is locally. In fact
>>>>>>>>>>>>>>> the slave does not even know that he is a slave. He handles every
>>>>>>>>>>>>>>> connection as if there is no difference.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> So why should the slave NOT sync that message ? That makes
>>>>>>>>>>>>>>> no sense to me.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Server == null is a correct implementation and it should not
>>>>>>>>>>>>>>> throw any NullPointerException.
>>>>>>>>>>>>>>> It simply means that the Session is local and not on another
>>>>>>>>>>>>>>> server.
>>>>>>>>>>>>>>> Actually only this kind of session could have a s != null:
>>>>>>>>>>>>>>> A session that is synced from the slave to the master. The
>>>>>>>>>>>>>>> master would have this session with a Server != null.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> So your comment does not makes sense to me.
>>>>>>>>>>>>>>> Of course slaves do sync messages. On the slave the "server"
>>>>>>>>>>>>>>> argument is _always_ null. But of course the slave should still sync that
>>>>>>>>>>>>>>> message.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Sebastian
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>> Sebastian Wagner
>>>>>>>>>>>>>>> https://twitter.com/#!/dead_lock
>>>>>>>>>>>>>>> http://www.webbase-design.de
>>>>>>>>>>>>>>> http://www.wagner-sebastian.com
>>>>>>>>>>>>>>> seba.wagner@gmail.com
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>> Sebastian Wagner
>>>>>>>>>>>>>> https://twitter.com/#!/dead_lock
>>>>>>>>>>>>>> http://www.webbase-design.de
>>>>>>>>>>>>>> http://www.wagner-sebastian.com
>>>>>>>>>>>>>> seba.wagner@gmail.com
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> Sebastian Wagner
>>>>>>>>>>>> https://twitter.com/#!/dead_lock
>>>>>>>>>>>> http://www.webbase-design.de
>>>>>>>>>>>> http://www.wagner-sebastian.com
>>>>>>>>>>>> seba.wagner@gmail.com
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> WBR
>>>>>>>>>>> Maxim aka solomax
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Sebastian Wagner
>>>>>>>>> https://twitter.com/#!/dead_lock
>>>>>>>>> http://www.webbase-design.de
>>>>>>>>> http://www.wagner-sebastian.com
>>>>>>>>> seba.wagner@gmail.com
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Sebastian Wagner
>>>>>>> https://twitter.com/#!/dead_lock
>>>>>>> http://www.webbase-design.de
>>>>>>> http://www.wagner-sebastian.com
>>>>>>> seba.wagner@gmail.com
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> WBR
>>>>>> Maxim aka solomax
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Sebastian Wagner
>>>>> https://twitter.com/#!/dead_lock
>>>>> http://www.webbase-design.de
>>>>> http://www.wagner-sebastian.com
>>>>> seba.wagner@gmail.com
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Sebastian Wagner
>>>> https://twitter.com/#!/dead_lock
>>>> http://www.webbase-design.de
>>>> http://www.wagner-sebastian.com
>>>> seba.wagner@gmail.com
>>>>
>>>
>>>
>>>
>>> --
>>> WBR
>>> Maxim aka solomax
>>>
>>
>>
>>
>> --
>> WBR
>> Maxim aka solomax
>>
>
>
>
> --
> Sebastian Wagner
> https://twitter.com/#!/dead_lock
> http://www.webbase-design.de
> http://www.wagner-sebastian.com
> seba.wagner@gmail.com
>



-- 
Sebastian Wagner
https://twitter.com/#!/dead_lock
http://www.webbase-design.de
http://www.wagner-sebastian.com
seba.wagner@gmail.com

Re: no need to sync on slave if server is null ?!

Posted by "seba.wagner@gmail.com" <se...@gmail.com>.
Hi Maxim,

thanks I also fixed the other exception when the server is null.
There was actually just missing a return statement. In case the RoomClient
is already found locally, by:
this.clientListManager
                                .getClientByPublicSID(publicSID, false,
null);
then you simply sync the message to this client locally, no need to look it
up in the cache if there is a RoomClient session open on any other server.
So there was simply a "return" missing to exit the method in that if-clause.
I have added another Exception now when the "server == null" case happens
again (but actually it should not).

Thanks!
Sebastian


2012/12/29 Maxim Solodovnik <so...@gmail.com>

> seems to be fixed, thanks!
>
> revision 1426492
>
>
> On Fri, Dec 28, 2012 at 2:57 PM, Maxim Solodovnik <so...@gmail.com>wrote:
>
>> I'll retest both files on clean DB (created using your commands)
>>
>>
>> On Fri, Dec 28, 2012 at 1:18 PM, seba.wagner@gmail.com <
>> seba.wagner@gmail.com> wrote:
>>
>>> Btw this is another backup file from some customer.
>>> You will see some more exceptions, but this time in the User and Room
>>> entity.
>>> Please keep the zip file confidential.
>>>
>>> Sebastian
>>>
>>>
>>> 2012/12/28 seba.wagner@gmail.com <se...@gmail.com>
>>>
>>> Yes I am quite sure.
>>>> But I rerun the entire process again to make sure
>>>>
>>>> I did, svn update(there was nothing to update) rebuild again using:
>>>> ant -Ddb=mysql -Dwicket-mode=DEVELOPMENT dist-debug
>>>>
>>>> install using:
>>>> ./admin.sh -i -v -tz Europe/Berlin -email seba.wagner@gmail.com -group
>>>> webbase -user swagner --smtp-server h649115.serverkompetenz.net--db-type mysql --db-name openmeetings_v21 --email-auth-user
>>>> hidden@webbase-design.de --password hidden --system-email-address
>>>> i4c@webbase-design.de --db-user root --db-host localhost
>>>> --email-auth-pass test123
>>>>
>>>> then startup using:
>>>> ./red5.sh
>>>>
>>>> then open a browser and goto:
>>>> http://localhost:5080/openmeetings/?swf=maindebug.as3.swf10.swf
>>>> klick on Admin > Backup and run the export of the Backup (see attached)
>>>> klick on Import and choose the just exported file
>>>> => Exceptions:
>>>> 1)
>>>>
>>>> org.springframework.dao.DataIntegrityViolationException: An object of
>>>> type "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with
>>>> oid "4001" already exists in this context; another cannot be persisted.;
>>>> nested exception is <openjpa-2.2.1-r422266:1396819 nonfatal store error>
>>>> org.apache.openjpa.persistence.EntityExistsException: An object of type
>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>> "4001" already exists in this context; another cannot be persisted.
>>>>  FailedObject:
>>>> org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe@949919e
>>>>
>>>>     at
>>>> org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:318)
>>>> ~[org.springframework.orm-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>     at
>>>> org.springframework.orm.jpa.DefaultJpaDialect.translateExceptionIfPossible(DefaultJpaDialect.java:120)
>>>> ~[org.springframework.orm-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>> ...
>>>>
>>>> Caused by: org.apache.openjpa.persistence.EntityExistsException: An
>>>> object of type
>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>> "4001" already exists in this context; another cannot be persisted.
>>>>  2)
>>>>
>>>> org.springframework.dao.DataIntegrityViolationException: An object of
>>>> type "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with
>>>> oid "4001" already exists in this context; another cannot be persisted.;
>>>> nested exception is <openjpa-2.2.1-r422266:1396819 nonfatal store error>
>>>> org.apache.openjpa.persistence.EntityExistsException: An object of type
>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>> "4001" already exists in this context; another cannot be persisted.
>>>>  FailedObject:
>>>> org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe@949919e
>>>>     at
>>>> org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:318)
>>>> ....
>>>>
>>>> Caused by: <openjpa-2.2.1-r422266:1396819 nonfatal store error>
>>>> org.apache.openjpa.persistence.EntityExistsException: An object of type
>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>> "4001" already exists in this context; another cannot be persisted.
>>>>
>>>> The table "MeetMe" also really contains the objects, so this backup
>>>> Exception is actually right.
>>>> And because my tables are InnoDB it will definitly throw an error.
>>>> the record in the table meetme with the primary key "confno" 4001
>>>> simply does really exist. Why does the import try to overwrite that? That
>>>> simply cannot work for those tables.
>>>>
>>>> I guess you will run into the same issue if you will simply re-import
>>>> the backup twice.
>>>>
>>>> Sebastian
>>>>
>>>>
>>>>
>>>>
>>>> 2012/12/28 Maxim Solodovnik <so...@gmail.com>
>>>>
>>>>> import complete in ~2 seconds with no errors.
>>>>> Are you sure you have fresh build?
>>>>> "MeetMe" part of code was refactored recently ....
>>>>>
>>>>>
>>>>> On Fri, Dec 28, 2012 at 12:04 PM, seba.wagner@gmail.com <
>>>>> seba.wagner@gmail.com> wrote:
>>>>>
>>>>>> I've added a Jira issue, at the bottom if you scroll down there is
>>>>>> the backup attached:
>>>>>> https://issues.apache.org/jira/browse/OPENMEETINGS-498
>>>>>>
>>>>>>
>>>>>> 2012/12/28 Maxim Solodovnik <so...@gmail.com>
>>>>>>
>>>>>>> Can you please send me your backup?
>>>>>>>  On Dec 28, 2012 11:44 AM, "seba.wagner@gmail.com" <
>>>>>>> seba.wagner@gmail.com> wrote:
>>>>>>>
>>>>>>>> I don't come that far. The backup import already fails beforehand.
>>>>>>>> I just installed a fresh build + export through the SWF UI
>>>>>>>> then selected the produced Backup and tried to import.
>>>>>>>> It fails with those exceptions:
>>>>>>>>
>>>>>>>> org.springframework.dao.DataIntegrityViolationException: An object
>>>>>>>> of type "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe"
>>>>>>>> with oid "4001" already exists in this context; another cannot be
>>>>>>>> persisted.; nested exception is <openjpa-2.2.1-r422266:1396819 nonfatal
>>>>>>>> store error> org.apache.openjpa.persistence.EntityExistsException: An
>>>>>>>> object of type
>>>>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>>>>> "4001" already exists in this context; another cannot be persisted.
>>>>>>>> FailedObject:
>>>>>>>> org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe@45800894
>>>>>>>>     at
>>>>>>>> org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:318)
>>>>>>>> ~[org.springframework.orm-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at
>>>>>>>> org.springframework.orm.jpa.DefaultJpaDialect.translateExceptionIfPossible(DefaultJpaDialect.java:120)
>>>>>>>> ~[org.springframework.orm-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at
>>>>>>>> org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:516)
>>>>>>>> ~[org.springframework.orm-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at
>>>>>>>> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)
>>>>>>>> ~[org.springframework.transaction-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at
>>>>>>>> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
>>>>>>>> ~[org.springframework.transaction-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at
>>>>>>>> org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:393)
>>>>>>>> ~[org.springframework.transaction-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at
>>>>>>>> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:120)
>>>>>>>> ~[org.springframework.transaction-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at
>>>>>>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>>>>>>>> ~[spring-aop-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at
>>>>>>>> org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622)
>>>>>>>> ~[spring-aop-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at
>>>>>>>> org.apache.openmeetings.data.conference.RoomDAO$$EnhancerByCGLIB$$6a00b9af.update(<generated>)
>>>>>>>> ~[cglib-jar-2.2.2.jar:na]
>>>>>>>>     at
>>>>>>>> org.apache.openmeetings.servlet.outputhandler.BackupImportController.performImport(BackupImportController.java:311)
>>>>>>>> ~[openmeetings-2.1.0-SNAPSHOT.jar:na]
>>>>>>>>     at
>>>>>>>> org.apache.openmeetings.servlet.outputhandler.BackupImportController.service(BackupImportController.java:598)
>>>>>>>> ~[openmeetings-2.1.0-SNAPSHOT.jar:na]
>>>>>>>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>>>> ~[na:1.6.0_37]
>>>>>>>>     at
>>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>>>>> ~[na:1.6.0_37]
>>>>>>>>     at
>>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>>>>> ~[na:1.6.0_37]
>>>>>>>>     at java.lang.reflect.Method.invoke(Method.java:597)
>>>>>>>> ~[na:1.6.0_37]
>>>>>>>>     at
>>>>>>>> org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:213)
>>>>>>>> [spring-web-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at
>>>>>>>> org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126)
>>>>>>>> [spring-web-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at
>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96)
>>>>>>>> [org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at
>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617)
>>>>>>>> [org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at
>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578)
>>>>>>>> [org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at
>>>>>>>> org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
>>>>>>>> [org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at
>>>>>>>> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
>>>>>>>> [org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at
>>>>>>>> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
>>>>>>>> [org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at
>>>>>>>> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
>>>>>>>> [org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at
>>>>>>>> org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
>>>>>>>> [org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>     at
>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>     at
>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>     at
>>>>>>>> org.red5.logging.LoggerContextFilter.doFilter(LoggerContextFilter.java:77)
>>>>>>>> [red5.jar:na]
>>>>>>>>     at
>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>     at
>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>     at
>>>>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>     at
>>>>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>     at
>>>>>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>     at
>>>>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>     at
>>>>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>     at
>>>>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>     at
>>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>     at
>>>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>     at
>>>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>     at
>>>>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>     at
>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>>>>>> [na:1.6.0_37]
>>>>>>>>     at
>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>>>>>> [na:1.6.0_37]
>>>>>>>>     at java.lang.Thread.run(Thread.java:680) [na:1.6.0_37]
>>>>>>>> Caused by: org.apache.openjpa.persistence.EntityExistsException: An
>>>>>>>> object of type
>>>>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>>>>> "4001" already exists in this context; another cannot be persisted.
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.checkForDuplicateId(BrokerImpl.java:5080)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persistInternal(BrokerImpl.java:2653)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2573)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2556)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlushPC(SingleFieldManager.java:800)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:621)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:589)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:505)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.StateManagerImpl.preFlush(StateManagerImpl.java:3028)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.PNewState.beforeFlush(PNewState.java:44)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.StateManagerImpl.beforeFlush(StateManagerImpl.java:1042)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2114)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2074)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1992)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.LocalManagedRuntime.commit(LocalManagedRuntime.java:81)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.commit(BrokerImpl.java:1516)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.DelegatingBroker.commit(DelegatingBroker.java:933)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:570)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:512)
>>>>>>>> ~[org.springframework.orm-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     ... 43 common frames omitted
>>>>>>>> org.springframework.dao.DataIntegrityViolationException: An object
>>>>>>>> of type "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe"
>>>>>>>> with oid "4001" already exists in this context; another cannot be
>>>>>>>> persisted.; nested exception is <openjpa-2.2.1-r422266:1396819 nonfatal
>>>>>>>> store error> org.apache.openjpa.persistence.EntityExistsException: An
>>>>>>>> object of type
>>>>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>>>>> "4001" already exists in this context; another cannot be persisted.
>>>>>>>> FailedObject:
>>>>>>>> org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe@45800894
>>>>>>>>     at
>>>>>>>> org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:318)
>>>>>>>>     at
>>>>>>>> org.springframework.orm.jpa.DefaultJpaDialect.translateExceptionIfPossible(DefaultJpaDialect.java:120)
>>>>>>>>     at
>>>>>>>> org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:516)
>>>>>>>>     at
>>>>>>>> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)
>>>>>>>>     at
>>>>>>>> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
>>>>>>>>     at
>>>>>>>> org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:393)
>>>>>>>>     at
>>>>>>>> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:120)
>>>>>>>>     at
>>>>>>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>>>>>>>>     at
>>>>>>>> org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622)
>>>>>>>>     at
>>>>>>>> org.apache.openmeetings.data.conference.RoomDAO$$EnhancerByCGLIB$$6a00b9af.update(<generated>)
>>>>>>>>     at
>>>>>>>> org.apache.openmeetings.servlet.outputhandler.BackupImportController.performImport(BackupImportController.java:311)
>>>>>>>>     at
>>>>>>>> org.apache.openmeetings.servlet.outputhandler.BackupImportController.service(BackupImportController.java:598)
>>>>>>>>     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.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:213)
>>>>>>>>     at
>>>>>>>> org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126)
>>>>>>>>     at
>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96)
>>>>>>>>     at
>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617)
>>>>>>>>     at
>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578)
>>>>>>>>     at
>>>>>>>> org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
>>>>>>>>     at
>>>>>>>> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
>>>>>>>>     at
>>>>>>>> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
>>>>>>>>     at
>>>>>>>> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
>>>>>>>>     at
>>>>>>>> org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
>>>>>>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
>>>>>>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>>>>>>>>     at
>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>>>>>>>>     at
>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>>>>>     at
>>>>>>>> org.red5.logging.LoggerContextFilter.doFilter(LoggerContextFilter.java:77)
>>>>>>>>     at
>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>>>>>>>>     at
>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>>>>>     at
>>>>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>>>>>>>>     at
>>>>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>>>>>>>>     at
>>>>>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>>>>>>>>     at
>>>>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>>>>>>>>     at
>>>>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>>>>>>>>     at
>>>>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>>>>>>>>     at
>>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
>>>>>>>>     at
>>>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
>>>>>>>>     at
>>>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>>>>>>>>     at
>>>>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
>>>>>>>>     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:680)
>>>>>>>> Caused by: <openjpa-2.2.1-r422266:1396819 nonfatal store error>
>>>>>>>> org.apache.openjpa.persistence.EntityExistsException: An object of type
>>>>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>>>>> "4001" already exists in this context; another cannot be persisted.
>>>>>>>> FailedObject:
>>>>>>>> org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe@45800894
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.checkForDuplicateId(BrokerImpl.java:5080)
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persistInternal(BrokerImpl.java:2653)
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2573)
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2556)
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlushPC(SingleFieldManager.java:800)
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:621)
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:589)
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:505)
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.StateManagerImpl.preFlush(StateManagerImpl.java:3028)
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.PNewState.beforeFlush(PNewState.java:44)
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.StateManagerImpl.beforeFlush(StateManagerImpl.java:1042)
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2114)
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2074)
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1992)
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.LocalManagedRuntime.commit(LocalManagedRuntime.java:81)
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.commit(BrokerImpl.java:1516)
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.DelegatingBroker.commit(DelegatingBroker.java:933)
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:570)
>>>>>>>>     at
>>>>>>>> org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:512)
>>>>>>>>     ... 43 more
>>>>>>>> 28.12.2012 17:41:44 org.apache.catalina.core.StandardWrapperValve
>>>>>>>> invoke
>>>>>>>> SCHWERWIEGEND: Servlet.service() for servlet [spring-mvc] in
>>>>>>>> context with path [/openmeetings] threw exception
>>>>>>>> [org.springframework.dao.DataIntegrityViolationException: An object of type
>>>>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>>>>> "4001" already exists in this context; another cannot be persisted.; nested
>>>>>>>> exception is <openjpa-2.2.1-r422266:1396819 nonfatal store error>
>>>>>>>> org.apache.openjpa.persistence.EntityExistsException: An object of type
>>>>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>>>>> "4001" already exists in this context; another cannot be persisted.
>>>>>>>> FailedObject:
>>>>>>>> org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe@45800894]
>>>>>>>> with root cause
>>>>>>>> <openjpa-2.2.1-r422266:1396819 nonfatal store error>
>>>>>>>> org.apache.openjpa.persistence.EntityExistsException: An object of type
>>>>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>>>>> "4001" already exists in this context; another cannot be persisted.
>>>>>>>> FailedObject:
>>>>>>>> org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe@45800894
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.checkForDuplicateId(BrokerImpl.java:5080)
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persistInternal(BrokerImpl.java:2653)
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2573)
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2556)
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlushPC(SingleFieldManager.java:800)
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:621)
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:589)
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:505)
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.StateManagerImpl.preFlush(StateManagerImpl.java:3028)
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.PNewState.beforeFlush(PNewState.java:44)
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.StateManagerImpl.beforeFlush(StateManagerImpl.java:1042)
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2114)
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2074)
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1992)
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.LocalManagedRuntime.commit(LocalManagedRuntime.java:81)
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.commit(BrokerImpl.java:1516)
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.DelegatingBroker.commit(DelegatingBroker.java:933)
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:570)
>>>>>>>>     at
>>>>>>>> org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:512)
>>>>>>>>     at
>>>>>>>> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)
>>>>>>>>     at
>>>>>>>> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
>>>>>>>>     at
>>>>>>>> org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:393)
>>>>>>>>     at
>>>>>>>> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:120)
>>>>>>>>     at
>>>>>>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>>>>>>>>     at
>>>>>>>> org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622)
>>>>>>>>     at
>>>>>>>> org.apache.openmeetings.data.conference.RoomDAO$$EnhancerByCGLIB$$6a00b9af.update(<generated>)
>>>>>>>>     at
>>>>>>>> org.apache.openmeetings.servlet.outputhandler.BackupImportController.performImport(BackupImportController.java:311)
>>>>>>>>     at
>>>>>>>> org.apache.openmeetings.servlet.outputhandler.BackupImportController.service(BackupImportController.java:598)
>>>>>>>>     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.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:213)
>>>>>>>>     at
>>>>>>>> org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126)
>>>>>>>>     at
>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96)
>>>>>>>>     at
>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617)
>>>>>>>>     at
>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578)
>>>>>>>>     at
>>>>>>>> org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
>>>>>>>>     at
>>>>>>>> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
>>>>>>>>     at
>>>>>>>> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
>>>>>>>>     at
>>>>>>>> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
>>>>>>>>     at
>>>>>>>> org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
>>>>>>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
>>>>>>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>>>>>>>>     at
>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>>>>>>>>     at
>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>>>>>     at
>>>>>>>> org.red5.logging.LoggerContextFilter.doFilter(LoggerContextFilter.java:77)
>>>>>>>>     at
>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>>>>>>>>     at
>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>>>>>     at
>>>>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>>>>>>>>     at
>>>>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>>>>>>>>     at
>>>>>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>>>>>>>>     at
>>>>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>>>>>>>>     at
>>>>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>>>>>>>>     at
>>>>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>>>>>>>>     at
>>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
>>>>>>>>     at
>>>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
>>>>>>>>     at
>>>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>>>>>>>>     at
>>>>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
>>>>>>>>     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:680)
>>>>>>>> [ERROR] [http-bio-0.0.0.0-5080-exec-7]
>>>>>>>> org.apache.catalina.core.ContainerBase.[red5Engine].[0.0.0.0].[/openmeetings].[spring-mvc]
>>>>>>>> - Servlet.service() for servlet [spring-mvc] in context with path
>>>>>>>> [/openmeetings] threw exception
>>>>>>>> [org.springframework.dao.DataIntegrityViolationException: An object of type
>>>>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>>>>> "4001" already exists in this context; another cannot be persisted.; nested
>>>>>>>> exception is <openjpa-2.2.1-r422266:1396819 nonfatal store error>
>>>>>>>> org.apache.openjpa.persistence.EntityExistsException: An object of type
>>>>>>>> "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with oid
>>>>>>>> "4001" already exists in this context; another cannot be persisted.
>>>>>>>> FailedObject:
>>>>>>>> org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe@45800894]
>>>>>>>> with root cause
>>>>>>>> org.apache.openjpa.persistence.EntityExistsException: An object of
>>>>>>>> type "org.apache.openmeetings.persistence.beans.sip.asterisk.MeetMe" with
>>>>>>>> oid "4001" already exists in this context; another cannot be persisted.
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.checkForDuplicateId(BrokerImpl.java:5080)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persistInternal(BrokerImpl.java:2653)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2573)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2556)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlushPC(SingleFieldManager.java:800)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:621)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:589)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:505)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.StateManagerImpl.preFlush(StateManagerImpl.java:3028)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.PNewState.beforeFlush(PNewState.java:44)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.StateManagerImpl.beforeFlush(StateManagerImpl.java:1042)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2114)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2074)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1992)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.LocalManagedRuntime.commit(LocalManagedRuntime.java:81)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.BrokerImpl.commit(BrokerImpl.java:1516)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.kernel.DelegatingBroker.commit(DelegatingBroker.java:933)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:570)
>>>>>>>> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>>>>>>>>     at
>>>>>>>> org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:512)
>>>>>>>> ~[org.springframework.orm-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at
>>>>>>>> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)
>>>>>>>> ~[org.springframework.transaction-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at
>>>>>>>> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
>>>>>>>> ~[org.springframework.transaction-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at
>>>>>>>> org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:393)
>>>>>>>> ~[org.springframework.transaction-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at
>>>>>>>> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:120)
>>>>>>>> ~[org.springframework.transaction-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at
>>>>>>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>>>>>>>> ~[spring-aop-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at
>>>>>>>> org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622)
>>>>>>>> ~[spring-aop-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at
>>>>>>>> org.apache.openmeetings.data.conference.RoomDAO$$EnhancerByCGLIB$$6a00b9af.update(<generated>)
>>>>>>>> ~[cglib-jar-2.2.2.jar:na]
>>>>>>>>     at
>>>>>>>> org.apache.openmeetings.servlet.outputhandler.BackupImportController.performImport(BackupImportController.java:311)
>>>>>>>> ~[openmeetings-2.1.0-SNAPSHOT.jar:na]
>>>>>>>>     at
>>>>>>>> org.apache.openmeetings.servlet.outputhandler.BackupImportController.service(BackupImportController.java:598)
>>>>>>>> ~[openmeetings-2.1.0-SNAPSHOT.jar:na]
>>>>>>>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>>>> ~[na:1.6.0_37]
>>>>>>>>     at
>>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>>>>> ~[na:1.6.0_37]
>>>>>>>>     at
>>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>>>>> ~[na:1.6.0_37]
>>>>>>>>     at java.lang.reflect.Method.invoke(Method.java:597)
>>>>>>>> ~[na:1.6.0_37]
>>>>>>>>     at
>>>>>>>> org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:213)
>>>>>>>> ~[spring-web-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at
>>>>>>>> org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126)
>>>>>>>> ~[spring-web-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at
>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96)
>>>>>>>> ~[org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at
>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617)
>>>>>>>> ~[org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at
>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578)
>>>>>>>> ~[org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at
>>>>>>>> org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
>>>>>>>> ~[org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at
>>>>>>>> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
>>>>>>>> ~[org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at
>>>>>>>> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
>>>>>>>> ~[org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at
>>>>>>>> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
>>>>>>>> ~[org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at
>>>>>>>> org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
>>>>>>>> ~[org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>>>>>>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
>>>>>>>> ~[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>>>>>>>> ~[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>     at
>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>>>>>>>> ~[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>     at
>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>>>>> ~[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>     at
>>>>>>>> org.red5.logging.LoggerContextFilter.doFilter(LoggerContextFilter.java:77)
>>>>>>>> ~[red5.jar:na]
>>>>>>>>     at
>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>>>>>>>> ~[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>     at
>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>>>>> ~[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>     at
>>>>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>>>>>>>> ~[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>     at
>>>>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>     at
>>>>>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>     at
>>>>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>     at
>>>>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>     at
>>>>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>     at
>>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>     at
>>>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>     at
>>>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>     at
>>>>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>     at
>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>>>>>> [na:1.6.0_37]
>>>>>>>>     at
>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>>>>>> [na:1.6.0_37]
>>>>>>>>     at java.lang.Thread.run(Thread.java:680) [na:1.6.0_37]
>>>>>>>>
>>>>>>>>
>>>>>>>> 2012/12/28 seba.wagner@gmail.com <se...@gmail.com>
>>>>>>>>
>>>>>>>>> Thanks,
>>>>>>>>>
>>>>>>>>> let me try to debug that. I think the root of the issue is
>>>>>>>>> somewhere else.
>>>>>>>>>
>>>>>>>>> Sebastian
>>>>>>>>> Am 28.12.2012 05:28 schrieb "Maxim Solodovnik" <
>>>>>>>>> solomax666@gmail.com>:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> the steps are very simple:
>>>>>>>>>>
>>>>>>>>>> 0) no servers are configured
>>>>>>>>>> 1) select system restore in SWF admin
>>>>>>>>>> 2) select backup
>>>>>>>>>> 3) click "upload"
>>>>>>>>>> Result: Server is NULL, NPE without a fix (seems it affects
>>>>>>>>>> nothing)
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Thu, Dec 27, 2012 at 9:18 AM, seba.wagner@gmail.com <
>>>>>>>>>> seba.wagner@gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> Please give me the scenario to reproduce it when you have one.
>>>>>>>>>>>
>>>>>>>>>>> Thanks!
>>>>>>>>>>> Sebastian
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 2012/12/27 Maxim Solodovnik <so...@gmail.com>
>>>>>>>>>>>
>>>>>>>>>>>> Hello Sebastian,
>>>>>>>>>>>>
>>>>>>>>>>>> I catch NPE while debugging :(
>>>>>>>>>>>> Clean just imported DB was used. The NPE was 100% reproducible
>>>>>>>>>>>> on my server
>>>>>>>>>>>>
>>>>>>>>>>>> I'll doublecheck
>>>>>>>>>>>> On Dec 27, 2012 5:25 AM, "seba.wagner@gmail.com" <
>>>>>>>>>>>> seba.wagner@gmail.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> In fact by reading this method, logically your if-statement
>>>>>>>>>>>>> should never be true.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Cause:
>>>>>>>>>>>>> the method "sendUploadCompletMessageByPublicSID" first tries
>>>>>>>>>>>>> to get the RoomClient with:
>>>>>>>>>>>>> RoomClient currentClient = this.clientListManager
>>>>>>>>>>>>>
>>>>>>>>>>>>> .getClientByPublicSID(publicSID, false, null);
>>>>>>>>>>>>>
>>>>>>>>>>>>> The null at the end means it searches a RoomClient with that
>>>>>>>>>>>>> publicSID and the serverId = null. That means it searches for a
>>>>>>>>>>>>> Connection/Session LOCALLY.
>>>>>>>>>>>>>
>>>>>>>>>>>>> If RoomClient is != null => Then it can directly use the
>>>>>>>>>>>>> regular sync methods. Cause it means that the session is handled on the
>>>>>>>>>>>>> same server.
>>>>>>>>>>>>> If tRoomClient is NULL, then it means it is handled on a slave
>>>>>>>>>>>>> server.
>>>>>>>>>>>>> I have impelemented this so that the master can sync the
>>>>>>>>>>>>> upload complete message to the slave.
>>>>>>>>>>>>>
>>>>>>>>>>>>> What you have implemented then at the end with that if-clause,
>>>>>>>>>>>>> actually the implementation logically can never run into that.
>>>>>>>>>>>>> If the serverId == null, the RoomClient would have already be
>>>>>>>>>>>>> found by the first getClientByPublicSID(publicSID, false, null);
>>>>>>>>>>>>>
>>>>>>>>>>>>> From my point of view an Exception should here be thrown and
>>>>>>>>>>>>> we should find out how and when it could happen that the "server" argument
>>>>>>>>>>>>> is null here. Cause actually it would mean a much bigger issue.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Where did you find any kind of issue that makes you think that
>>>>>>>>>>>>> this if-clause is needed?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Sebastian
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> 2012/12/27 seba.wagner@gmail.com <se...@gmail.com>
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hi Maxim,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I found this fix from you:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Server s = clientSessionInfo.getServerId() != null ?
>>>>>>>>>>>>>> serverDao.get(clientSessionInfo.getServerId()) : null;
>>>>>>>>>>>>>>             if (s != null) {
>>>>>>>>>>>>>>                 // no need to sync on slave if server is null
>>>>>>>>>>>>>>                 clusterSlaveJob.syncMessageToClientOnSlave(s,
>>>>>>>>>>>>>> clientSessionInfo.getRcl().getPublicSID() , message);
>>>>>>>>>>>>>>             }
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> What should that mean and what enhancements should it bring?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Actually if server == null it means that the client is
>>>>>>>>>>>>>> handled on the same server.
>>>>>>>>>>>>>> Basically on a slave ALL sessions have the server == null,
>>>>>>>>>>>>>> because from the perspective of the slave every session is locally. In fact
>>>>>>>>>>>>>> the slave does not even know that he is a slave. He handles every
>>>>>>>>>>>>>> connection as if there is no difference.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> So why should the slave NOT sync that message ? That makes no
>>>>>>>>>>>>>> sense to me.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Server == null is a correct implementation and it should not
>>>>>>>>>>>>>> throw any NullPointerException.
>>>>>>>>>>>>>> It simply means that the Session is local and not on another
>>>>>>>>>>>>>> server.
>>>>>>>>>>>>>> Actually only this kind of session could have a s != null:
>>>>>>>>>>>>>> A session that is synced from the slave to the master. The
>>>>>>>>>>>>>> master would have this session with a Server != null.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> So your comment does not makes sense to me.
>>>>>>>>>>>>>> Of course slaves do sync messages. On the slave the "server"
>>>>>>>>>>>>>> argument is _always_ null. But of course the slave should still sync that
>>>>>>>>>>>>>> message.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Sebastian
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>> Sebastian Wagner
>>>>>>>>>>>>>> https://twitter.com/#!/dead_lock
>>>>>>>>>>>>>> http://www.webbase-design.de
>>>>>>>>>>>>>> http://www.wagner-sebastian.com
>>>>>>>>>>>>>> seba.wagner@gmail.com
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> Sebastian Wagner
>>>>>>>>>>>>> https://twitter.com/#!/dead_lock
>>>>>>>>>>>>> http://www.webbase-design.de
>>>>>>>>>>>>> http://www.wagner-sebastian.com
>>>>>>>>>>>>> seba.wagner@gmail.com
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Sebastian Wagner
>>>>>>>>>>> https://twitter.com/#!/dead_lock
>>>>>>>>>>> http://www.webbase-design.de
>>>>>>>>>>> http://www.wagner-sebastian.com
>>>>>>>>>>> seba.wagner@gmail.com
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> WBR
>>>>>>>>>> Maxim aka solomax
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Sebastian Wagner
>>>>>>>> https://twitter.com/#!/dead_lock
>>>>>>>> http://www.webbase-design.de
>>>>>>>> http://www.wagner-sebastian.com
>>>>>>>> seba.wagner@gmail.com
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Sebastian Wagner
>>>>>> https://twitter.com/#!/dead_lock
>>>>>> http://www.webbase-design.de
>>>>>> http://www.wagner-sebastian.com
>>>>>> seba.wagner@gmail.com
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> WBR
>>>>> Maxim aka solomax
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Sebastian Wagner
>>>> https://twitter.com/#!/dead_lock
>>>> http://www.webbase-design.de
>>>> http://www.wagner-sebastian.com
>>>> seba.wagner@gmail.com
>>>>
>>>
>>>
>>>
>>> --
>>> Sebastian Wagner
>>> https://twitter.com/#!/dead_lock
>>> http://www.webbase-design.de
>>> http://www.wagner-sebastian.com
>>> seba.wagner@gmail.com
>>>
>>
>>
>>
>> --
>> WBR
>> Maxim aka solomax
>>
>
>
>
> --
> WBR
> Maxim aka solomax
>



-- 
Sebastian Wagner
https://twitter.com/#!/dead_lock
http://www.webbase-design.de
http://www.wagner-sebastian.com
seba.wagner@gmail.com

Re: no need to sync on slave if server is null ?!

Posted by "seba.wagner@gmail.com" <se...@gmail.com>.
Thanks,

let me try to debug that. I think the root of the issue is somewhere else.

Sebastian
Am 28.12.2012 05:28 schrieb "Maxim Solodovnik" <so...@gmail.com>:

>
> the steps are very simple:
>
> 0) no servers are configured
> 1) select system restore in SWF admin
> 2) select backup
> 3) click "upload"
> Result: Server is NULL, NPE without a fix (seems it affects nothing)
>
>
> On Thu, Dec 27, 2012 at 9:18 AM, seba.wagner@gmail.com <
> seba.wagner@gmail.com> wrote:
>
>> Please give me the scenario to reproduce it when you have one.
>>
>> Thanks!
>> Sebastian
>>
>>
>> 2012/12/27 Maxim Solodovnik <so...@gmail.com>
>>
>>> Hello Sebastian,
>>>
>>> I catch NPE while debugging :(
>>> Clean just imported DB was used. The NPE was 100% reproducible on my
>>> server
>>>
>>> I'll doublecheck
>>> On Dec 27, 2012 5:25 AM, "seba.wagner@gmail.com" <se...@gmail.com>
>>> wrote:
>>>
>>>> In fact by reading this method, logically your if-statement should
>>>> never be true.
>>>>
>>>> Cause:
>>>> the method "sendUploadCompletMessageByPublicSID" first tries to get the
>>>> RoomClient with:
>>>> RoomClient currentClient = this.clientListManager
>>>>                                 .getClientByPublicSID(publicSID, false,
>>>> null);
>>>>
>>>> The null at the end means it searches a RoomClient with that publicSID
>>>> and the serverId = null. That means it searches for a Connection/Session
>>>> LOCALLY.
>>>>
>>>> If RoomClient is != null => Then it can directly use the regular sync
>>>> methods. Cause it means that the session is handled on the same server.
>>>> If tRoomClient is NULL, then it means it is handled on a slave server.
>>>> I have impelemented this so that the master can sync the upload
>>>> complete message to the slave.
>>>>
>>>> What you have implemented then at the end with that if-clause, actually
>>>> the implementation logically can never run into that.
>>>> If the serverId == null, the RoomClient would have already be found by
>>>> the first getClientByPublicSID(publicSID, false, null);
>>>>
>>>> From my point of view an Exception should here be thrown and we should
>>>> find out how and when it could happen that the "server" argument is null
>>>> here. Cause actually it would mean a much bigger issue.
>>>>
>>>> Where did you find any kind of issue that makes you think that this
>>>> if-clause is needed?
>>>>
>>>> Sebastian
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> 2012/12/27 seba.wagner@gmail.com <se...@gmail.com>
>>>>
>>>>> Hi Maxim,
>>>>>
>>>>> I found this fix from you:
>>>>>
>>>>> Server s = clientSessionInfo.getServerId() != null ?
>>>>> serverDao.get(clientSessionInfo.getServerId()) : null;
>>>>>             if (s != null) {
>>>>>                 // no need to sync on slave if server is null
>>>>>                 clusterSlaveJob.syncMessageToClientOnSlave(s,
>>>>> clientSessionInfo.getRcl().getPublicSID() , message);
>>>>>             }
>>>>>
>>>>> What should that mean and what enhancements should it bring?
>>>>>
>>>>> Actually if server == null it means that the client is handled on the
>>>>> same server.
>>>>> Basically on a slave ALL sessions have the server == null, because
>>>>> from the perspective of the slave every session is locally. In fact the
>>>>> slave does not even know that he is a slave. He handles every connection as
>>>>> if there is no difference.
>>>>>
>>>>> So why should the slave NOT sync that message ? That makes no sense to
>>>>> me.
>>>>>
>>>>> Server == null is a correct implementation and it should not throw any
>>>>> NullPointerException.
>>>>> It simply means that the Session is local and not on another server.
>>>>> Actually only this kind of session could have a s != null:
>>>>> A session that is synced from the slave to the master. The master
>>>>> would have this session with a Server != null.
>>>>>
>>>>> So your comment does not makes sense to me.
>>>>> Of course slaves do sync messages. On the slave the "server" argument
>>>>> is _always_ null. But of course the slave should still sync that message.
>>>>>
>>>>> Sebastian
>>>>>
>>>>>
>>>>> --
>>>>> Sebastian Wagner
>>>>> https://twitter.com/#!/dead_lock
>>>>> http://www.webbase-design.de
>>>>> http://www.wagner-sebastian.com
>>>>> seba.wagner@gmail.com
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Sebastian Wagner
>>>> https://twitter.com/#!/dead_lock
>>>> http://www.webbase-design.de
>>>> http://www.wagner-sebastian.com
>>>> seba.wagner@gmail.com
>>>>
>>>
>>
>>
>> --
>> Sebastian Wagner
>> https://twitter.com/#!/dead_lock
>> http://www.webbase-design.de
>> http://www.wagner-sebastian.com
>> seba.wagner@gmail.com
>>
>
>
>
> --
> WBR
> Maxim aka solomax
>

Re: no need to sync on slave if server is null ?!

Posted by Maxim Solodovnik <so...@gmail.com>.
the steps are very simple:

0) no servers are configured
1) select system restore in SWF admin
2) select backup
3) click "upload"
Result: Server is NULL, NPE without a fix (seems it affects nothing)


On Thu, Dec 27, 2012 at 9:18 AM, seba.wagner@gmail.com <
seba.wagner@gmail.com> wrote:

> Please give me the scenario to reproduce it when you have one.
>
> Thanks!
> Sebastian
>
>
> 2012/12/27 Maxim Solodovnik <so...@gmail.com>
>
>> Hello Sebastian,
>>
>> I catch NPE while debugging :(
>> Clean just imported DB was used. The NPE was 100% reproducible on my
>> server
>>
>> I'll doublecheck
>> On Dec 27, 2012 5:25 AM, "seba.wagner@gmail.com" <se...@gmail.com>
>> wrote:
>>
>>> In fact by reading this method, logically your if-statement should never
>>> be true.
>>>
>>> Cause:
>>> the method "sendUploadCompletMessageByPublicSID" first tries to get the
>>> RoomClient with:
>>> RoomClient currentClient = this.clientListManager
>>>                                 .getClientByPublicSID(publicSID, false,
>>> null);
>>>
>>> The null at the end means it searches a RoomClient with that publicSID
>>> and the serverId = null. That means it searches for a Connection/Session
>>> LOCALLY.
>>>
>>> If RoomClient is != null => Then it can directly use the regular sync
>>> methods. Cause it means that the session is handled on the same server.
>>> If tRoomClient is NULL, then it means it is handled on a slave server.
>>> I have impelemented this so that the master can sync the upload complete
>>> message to the slave.
>>>
>>> What you have implemented then at the end with that if-clause, actually
>>> the implementation logically can never run into that.
>>> If the serverId == null, the RoomClient would have already be found by
>>> the first getClientByPublicSID(publicSID, false, null);
>>>
>>> From my point of view an Exception should here be thrown and we should
>>> find out how and when it could happen that the "server" argument is null
>>> here. Cause actually it would mean a much bigger issue.
>>>
>>> Where did you find any kind of issue that makes you think that this
>>> if-clause is needed?
>>>
>>> Sebastian
>>>
>>>
>>>
>>>
>>>
>>>
>>> 2012/12/27 seba.wagner@gmail.com <se...@gmail.com>
>>>
>>>> Hi Maxim,
>>>>
>>>> I found this fix from you:
>>>>
>>>> Server s = clientSessionInfo.getServerId() != null ?
>>>> serverDao.get(clientSessionInfo.getServerId()) : null;
>>>>             if (s != null) {
>>>>                 // no need to sync on slave if server is null
>>>>                 clusterSlaveJob.syncMessageToClientOnSlave(s,
>>>> clientSessionInfo.getRcl().getPublicSID() , message);
>>>>             }
>>>>
>>>> What should that mean and what enhancements should it bring?
>>>>
>>>> Actually if server == null it means that the client is handled on the
>>>> same server.
>>>> Basically on a slave ALL sessions have the server == null, because from
>>>> the perspective of the slave every session is locally. In fact the slave
>>>> does not even know that he is a slave. He handles every connection as if
>>>> there is no difference.
>>>>
>>>> So why should the slave NOT sync that message ? That makes no sense to
>>>> me.
>>>>
>>>> Server == null is a correct implementation and it should not throw any
>>>> NullPointerException.
>>>> It simply means that the Session is local and not on another server.
>>>> Actually only this kind of session could have a s != null:
>>>> A session that is synced from the slave to the master. The master would
>>>> have this session with a Server != null.
>>>>
>>>> So your comment does not makes sense to me.
>>>> Of course slaves do sync messages. On the slave the "server" argument
>>>> is _always_ null. But of course the slave should still sync that message.
>>>>
>>>> Sebastian
>>>>
>>>>
>>>> --
>>>> Sebastian Wagner
>>>> https://twitter.com/#!/dead_lock
>>>> http://www.webbase-design.de
>>>> http://www.wagner-sebastian.com
>>>> seba.wagner@gmail.com
>>>>
>>>
>>>
>>>
>>> --
>>> Sebastian Wagner
>>> https://twitter.com/#!/dead_lock
>>> http://www.webbase-design.de
>>> http://www.wagner-sebastian.com
>>> seba.wagner@gmail.com
>>>
>>
>
>
> --
> Sebastian Wagner
> https://twitter.com/#!/dead_lock
> http://www.webbase-design.de
> http://www.wagner-sebastian.com
> seba.wagner@gmail.com
>



-- 
WBR
Maxim aka solomax

Re: no need to sync on slave if server is null ?!

Posted by "seba.wagner@gmail.com" <se...@gmail.com>.
Please give me the scenario to reproduce it when you have one.

Thanks!
Sebastian


2012/12/27 Maxim Solodovnik <so...@gmail.com>

> Hello Sebastian,
>
> I catch NPE while debugging :(
> Clean just imported DB was used. The NPE was 100% reproducible on my server
>
> I'll doublecheck
> On Dec 27, 2012 5:25 AM, "seba.wagner@gmail.com" <se...@gmail.com>
> wrote:
>
>> In fact by reading this method, logically your if-statement should never
>> be true.
>>
>> Cause:
>> the method "sendUploadCompletMessageByPublicSID" first tries to get the
>> RoomClient with:
>> RoomClient currentClient = this.clientListManager
>>                                 .getClientByPublicSID(publicSID, false,
>> null);
>>
>> The null at the end means it searches a RoomClient with that publicSID
>> and the serverId = null. That means it searches for a Connection/Session
>> LOCALLY.
>>
>> If RoomClient is != null => Then it can directly use the regular sync
>> methods. Cause it means that the session is handled on the same server.
>> If tRoomClient is NULL, then it means it is handled on a slave server.
>> I have impelemented this so that the master can sync the upload complete
>> message to the slave.
>>
>> What you have implemented then at the end with that if-clause, actually
>> the implementation logically can never run into that.
>> If the serverId == null, the RoomClient would have already be found by
>> the first getClientByPublicSID(publicSID, false, null);
>>
>> From my point of view an Exception should here be thrown and we should
>> find out how and when it could happen that the "server" argument is null
>> here. Cause actually it would mean a much bigger issue.
>>
>> Where did you find any kind of issue that makes you think that this
>> if-clause is needed?
>>
>> Sebastian
>>
>>
>>
>>
>>
>>
>> 2012/12/27 seba.wagner@gmail.com <se...@gmail.com>
>>
>>> Hi Maxim,
>>>
>>> I found this fix from you:
>>>
>>> Server s = clientSessionInfo.getServerId() != null ?
>>> serverDao.get(clientSessionInfo.getServerId()) : null;
>>>             if (s != null) {
>>>                 // no need to sync on slave if server is null
>>>                 clusterSlaveJob.syncMessageToClientOnSlave(s,
>>> clientSessionInfo.getRcl().getPublicSID() , message);
>>>             }
>>>
>>> What should that mean and what enhancements should it bring?
>>>
>>> Actually if server == null it means that the client is handled on the
>>> same server.
>>> Basically on a slave ALL sessions have the server == null, because from
>>> the perspective of the slave every session is locally. In fact the slave
>>> does not even know that he is a slave. He handles every connection as if
>>> there is no difference.
>>>
>>> So why should the slave NOT sync that message ? That makes no sense to
>>> me.
>>>
>>> Server == null is a correct implementation and it should not throw any
>>> NullPointerException.
>>> It simply means that the Session is local and not on another server.
>>> Actually only this kind of session could have a s != null:
>>> A session that is synced from the slave to the master. The master would
>>> have this session with a Server != null.
>>>
>>> So your comment does not makes sense to me.
>>> Of course slaves do sync messages. On the slave the "server" argument is
>>> _always_ null. But of course the slave should still sync that message.
>>>
>>> Sebastian
>>>
>>>
>>> --
>>> Sebastian Wagner
>>> https://twitter.com/#!/dead_lock
>>> http://www.webbase-design.de
>>> http://www.wagner-sebastian.com
>>> seba.wagner@gmail.com
>>>
>>
>>
>>
>> --
>> Sebastian Wagner
>> https://twitter.com/#!/dead_lock
>> http://www.webbase-design.de
>> http://www.wagner-sebastian.com
>> seba.wagner@gmail.com
>>
>


-- 
Sebastian Wagner
https://twitter.com/#!/dead_lock
http://www.webbase-design.de
http://www.wagner-sebastian.com
seba.wagner@gmail.com

Re: no need to sync on slave if server is null ?!

Posted by Maxim Solodovnik <so...@gmail.com>.
Hello Sebastian,

I catch NPE while debugging :(
Clean just imported DB was used. The NPE was 100% reproducible on my server

I'll doublecheck
On Dec 27, 2012 5:25 AM, "seba.wagner@gmail.com" <se...@gmail.com>
wrote:

> In fact by reading this method, logically your if-statement should never
> be true.
>
> Cause:
> the method "sendUploadCompletMessageByPublicSID" first tries to get the
> RoomClient with:
> RoomClient currentClient = this.clientListManager
>                                 .getClientByPublicSID(publicSID, false,
> null);
>
> The null at the end means it searches a RoomClient with that publicSID and
> the serverId = null. That means it searches for a Connection/Session
> LOCALLY.
>
> If RoomClient is != null => Then it can directly use the regular sync
> methods. Cause it means that the session is handled on the same server.
> If tRoomClient is NULL, then it means it is handled on a slave server.
> I have impelemented this so that the master can sync the upload complete
> message to the slave.
>
> What you have implemented then at the end with that if-clause, actually
> the implementation logically can never run into that.
> If the serverId == null, the RoomClient would have already be found by the
> first getClientByPublicSID(publicSID, false, null);
>
> From my point of view an Exception should here be thrown and we should
> find out how and when it could happen that the "server" argument is null
> here. Cause actually it would mean a much bigger issue.
>
> Where did you find any kind of issue that makes you think that this
> if-clause is needed?
>
> Sebastian
>
>
>
>
>
>
> 2012/12/27 seba.wagner@gmail.com <se...@gmail.com>
>
>> Hi Maxim,
>>
>> I found this fix from you:
>>
>> Server s = clientSessionInfo.getServerId() != null ?
>> serverDao.get(clientSessionInfo.getServerId()) : null;
>>             if (s != null) {
>>                 // no need to sync on slave if server is null
>>                 clusterSlaveJob.syncMessageToClientOnSlave(s,
>> clientSessionInfo.getRcl().getPublicSID() , message);
>>             }
>>
>> What should that mean and what enhancements should it bring?
>>
>> Actually if server == null it means that the client is handled on the
>> same server.
>> Basically on a slave ALL sessions have the server == null, because from
>> the perspective of the slave every session is locally. In fact the slave
>> does not even know that he is a slave. He handles every connection as if
>> there is no difference.
>>
>> So why should the slave NOT sync that message ? That makes no sense to me.
>>
>> Server == null is a correct implementation and it should not throw any
>> NullPointerException.
>> It simply means that the Session is local and not on another server.
>> Actually only this kind of session could have a s != null:
>> A session that is synced from the slave to the master. The master would
>> have this session with a Server != null.
>>
>> So your comment does not makes sense to me.
>> Of course slaves do sync messages. On the slave the "server" argument is
>> _always_ null. But of course the slave should still sync that message.
>>
>> Sebastian
>>
>>
>> --
>> Sebastian Wagner
>> https://twitter.com/#!/dead_lock
>> http://www.webbase-design.de
>> http://www.wagner-sebastian.com
>> seba.wagner@gmail.com
>>
>
>
>
> --
> Sebastian Wagner
> https://twitter.com/#!/dead_lock
> http://www.webbase-design.de
> http://www.wagner-sebastian.com
> seba.wagner@gmail.com
>

Re: no need to sync on slave if server is null ?!

Posted by "seba.wagner@gmail.com" <se...@gmail.com>.
In fact by reading this method, logically your if-statement should never be
true.

Cause:
the method "sendUploadCompletMessageByPublicSID" first tries to get the
RoomClient with:
RoomClient currentClient = this.clientListManager
                                .getClientByPublicSID(publicSID, false,
null);

The null at the end means it searches a RoomClient with that publicSID and
the serverId = null. That means it searches for a Connection/Session
LOCALLY.

If RoomClient is != null => Then it can directly use the regular sync
methods. Cause it means that the session is handled on the same server.
If tRoomClient is NULL, then it means it is handled on a slave server.
I have impelemented this so that the master can sync the upload complete
message to the slave.

What you have implemented then at the end with that if-clause, actually the
implementation logically can never run into that.
If the serverId == null, the RoomClient would have already be found by the
first getClientByPublicSID(publicSID, false, null);

>From my point of view an Exception should here be thrown and we should find
out how and when it could happen that the "server" argument is null here.
Cause actually it would mean a much bigger issue.

Where did you find any kind of issue that makes you think that this
if-clause is needed?

Sebastian






2012/12/27 seba.wagner@gmail.com <se...@gmail.com>

> Hi Maxim,
>
> I found this fix from you:
>
> Server s = clientSessionInfo.getServerId() != null ?
> serverDao.get(clientSessionInfo.getServerId()) : null;
>             if (s != null) {
>                 // no need to sync on slave if server is null
>                 clusterSlaveJob.syncMessageToClientOnSlave(s,
> clientSessionInfo.getRcl().getPublicSID() , message);
>             }
>
> What should that mean and what enhancements should it bring?
>
> Actually if server == null it means that the client is handled on the same
> server.
> Basically on a slave ALL sessions have the server == null, because from
> the perspective of the slave every session is locally. In fact the slave
> does not even know that he is a slave. He handles every connection as if
> there is no difference.
>
> So why should the slave NOT sync that message ? That makes no sense to me.
>
> Server == null is a correct implementation and it should not throw any
> NullPointerException.
> It simply means that the Session is local and not on another server.
> Actually only this kind of session could have a s != null:
> A session that is synced from the slave to the master. The master would
> have this session with a Server != null.
>
> So your comment does not makes sense to me.
> Of course slaves do sync messages. On the slave the "server" argument is
> _always_ null. But of course the slave should still sync that message.
>
> Sebastian
>
>
> --
> Sebastian Wagner
> https://twitter.com/#!/dead_lock
> http://www.webbase-design.de
> http://www.wagner-sebastian.com
> seba.wagner@gmail.com
>



-- 
Sebastian Wagner
https://twitter.com/#!/dead_lock
http://www.webbase-design.de
http://www.wagner-sebastian.com
seba.wagner@gmail.com