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 2013/01/29 05:47:38 UTC

Why is ApplicationAdapter no more using MultiThreadedApplicationAdapter ?

Hi Maxim,

I've seen in your latest changes you have refactored the ApplicationAdapter
to use the basic interface and no more the MultiThreadedApplicationAdapter.

What is the reason behind it?

Thanks!
Sebastian

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

Re: Why is ApplicationAdapter no more using MultiThreadedApplicationAdapter ?

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

that is right, I can remember now, the MultiThreadedAdapter is actually
already in use.

By the way: You can have the debug information about the session when you
goto the Admin panel, there is an "i" icon on top of the client
information. If you click on that, you will see the Debug information from
the session cache in the UI.

Sebastian


2013/1/29 Maxim Solodovnik <so...@gmail.com>

> Sure,
>
> Thanks a lot.
> We did sort of performance testing these days: ~7 people came into 1 room
> with both audio and video enabled
>
> The server was not very stable on such scenario :( (there were lags in
> audio and video, new participants were unable to connect)
> I did revert to the previous revision until performance was OK
>
> While this testing we found rev. 1419201 works OK and rev. 1417735 has
> performance degradation.
> The only major change between these 2 revisions was ConferenceService.getServerForSession
> method, this is why I have added debugging.
>
>
> increasing of number of publicSID in the cache can be observed by entering
> and leaving 1 room by only user
> On each entering publicSID count increasing by 3 .... (not sure if it is
> expected behavior or not)
>
> Will wait for your changes :)
>
>
>
> On Tue, Jan 29, 2013 at 1:40 PM, seba.wagner@gmail.com <
> seba.wagner@gmail.com> wrote:
>
>> Let me check that I have a bunch of changes locally to the SessionStore
>> that I have to test before I can commit it.
>>
>> Sebastian
>>
>>
>> 2013/1/29 Maxim Solodovnik <so...@gmail.com>
>>
>>> I'm also seeing on server restart .....
>>>
>>>
>>> java.lang.NullPointerException: null
>>>         at
>>> org.apache.openmeetings.remote.red5.ScopeApplicationAdapter.setUsernameReconnect(ScopeApplicationAdapter.java:1711)
>>> ~[openmeetings-2.1.0-SNAPSHOT.jar:na]
>>>
>>>
>>> Maybe you can suggest what is the proper way of handling it?
>>>
>>>
>>>
>>> On Tue, Jan 29, 2013 at 1:12 PM, Maxim Solodovnik <so...@gmail.com>wrote:
>>>
>>>> Hello Sebastian,
>>>>
>>>> some time ago I have changed the parent class
>>>> of ScopeApplicationAdapter to be MultiThreadedApplicationAdapter (since we
>>>> should work  multithreaded ...)
>>>>
>>>> yesterday I noticed "ApplicationAdapter extends
>>>> MultiThreadedApplicationAdapter" so I revert it back.
>>>>
>>>> Can you please help me with HashMapStore?
>>>>
>>>> I have added the following code to
>>>> ConferenceService.getServerForSession(String SID, long roomId) method:
>>>>
>>>> log.debug("-- getServerForSession ENTER\n\t\t====================\n" +
>>>> sessionManager.getSessionStatistics() + "\n\t\t====================\n");
>>>>
>>>> as a result I can see
>>>>
>>>> the following lines in the log:
>>>> clientsByServerAndPublicSID Server null Number of PublicSIDs: XX
>>>>
>>>> where XX is only increasing ....
>>>>
>>>> Is it by design? should this hashMap be cleaned up?
>>>>
>>>>
>>>>
>>>> On Tue, Jan 29, 2013 at 11:47 AM, seba.wagner@gmail.com <
>>>> seba.wagner@gmail.com> wrote:
>>>>
>>>>> Hi Maxim,
>>>>>
>>>>> I've seen in your latest changes you have refactored the
>>>>> ApplicationAdapter to use the basic interface and no more the
>>>>> MultiThreadedApplicationAdapter.
>>>>>
>>>>> What is the reason behind it?
>>>>>
>>>>> Thanks!
>>>>> Sebastian
>>>>>
>>>>> --
>>>>> 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
>>
>
>
>
> --
> 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: Why is ApplicationAdapter no more using MultiThreadedApplicationAdapter ?

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

Thanks a lot.
We did sort of performance testing these days: ~7 people came into 1 room
with both audio and video enabled

The server was not very stable on such scenario :( (there were lags in
audio and video, new participants were unable to connect)
I did revert to the previous revision until performance was OK

While this testing we found rev. 1419201 works OK and rev. 1417735 has
performance degradation.
The only major change between these 2 revisions was
ConferenceService.getServerForSession
method, this is why I have added debugging.


increasing of number of publicSID in the cache can be observed by entering
and leaving 1 room by only user
On each entering publicSID count increasing by 3 .... (not sure if it is
expected behavior or not)

Will wait for your changes :)



On Tue, Jan 29, 2013 at 1:40 PM, seba.wagner@gmail.com <
seba.wagner@gmail.com> wrote:

> Let me check that I have a bunch of changes locally to the SessionStore
> that I have to test before I can commit it.
>
> Sebastian
>
>
> 2013/1/29 Maxim Solodovnik <so...@gmail.com>
>
>> I'm also seeing on server restart .....
>>
>>
>> java.lang.NullPointerException: null
>>         at
>> org.apache.openmeetings.remote.red5.ScopeApplicationAdapter.setUsernameReconnect(ScopeApplicationAdapter.java:1711)
>> ~[openmeetings-2.1.0-SNAPSHOT.jar:na]
>>
>>
>> Maybe you can suggest what is the proper way of handling it?
>>
>>
>>
>> On Tue, Jan 29, 2013 at 1:12 PM, Maxim Solodovnik <so...@gmail.com>wrote:
>>
>>> Hello Sebastian,
>>>
>>> some time ago I have changed the parent class of ScopeApplicationAdapter
>>> to be MultiThreadedApplicationAdapter (since we should work  multithreaded
>>> ...)
>>>
>>> yesterday I noticed "ApplicationAdapter extends
>>> MultiThreadedApplicationAdapter" so I revert it back.
>>>
>>> Can you please help me with HashMapStore?
>>>
>>> I have added the following code to
>>> ConferenceService.getServerForSession(String SID, long roomId) method:
>>>
>>> log.debug("-- getServerForSession ENTER\n\t\t====================\n" +
>>> sessionManager.getSessionStatistics() + "\n\t\t====================\n");
>>>
>>> as a result I can see
>>>
>>> the following lines in the log:
>>> clientsByServerAndPublicSID Server null Number of PublicSIDs: XX
>>>
>>> where XX is only increasing ....
>>>
>>> Is it by design? should this hashMap be cleaned up?
>>>
>>>
>>>
>>> On Tue, Jan 29, 2013 at 11:47 AM, seba.wagner@gmail.com <
>>> seba.wagner@gmail.com> wrote:
>>>
>>>> Hi Maxim,
>>>>
>>>> I've seen in your latest changes you have refactored the
>>>> ApplicationAdapter to use the basic interface and no more the
>>>> MultiThreadedApplicationAdapter.
>>>>
>>>> What is the reason behind it?
>>>>
>>>> Thanks!
>>>> Sebastian
>>>>
>>>> --
>>>> 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
>



-- 
WBR
Maxim aka solomax

Re: Why is ApplicationAdapter no more using MultiThreadedApplicationAdapter ?

Posted by "seba.wagner@gmail.com" <se...@gmail.com>.
Let me check that I have a bunch of changes locally to the SessionStore
that I have to test before I can commit it.

Sebastian


2013/1/29 Maxim Solodovnik <so...@gmail.com>

> I'm also seeing on server restart .....
>
>
> java.lang.NullPointerException: null
>         at
> org.apache.openmeetings.remote.red5.ScopeApplicationAdapter.setUsernameReconnect(ScopeApplicationAdapter.java:1711)
> ~[openmeetings-2.1.0-SNAPSHOT.jar:na]
>
>
> Maybe you can suggest what is the proper way of handling it?
>
>
>
> On Tue, Jan 29, 2013 at 1:12 PM, Maxim Solodovnik <so...@gmail.com>wrote:
>
>> Hello Sebastian,
>>
>> some time ago I have changed the parent class of ScopeApplicationAdapter
>> to be MultiThreadedApplicationAdapter (since we should work  multithreaded
>> ...)
>>
>> yesterday I noticed "ApplicationAdapter extends
>> MultiThreadedApplicationAdapter" so I revert it back.
>>
>> Can you please help me with HashMapStore?
>>
>> I have added the following code to
>> ConferenceService.getServerForSession(String SID, long roomId) method:
>>
>> log.debug("-- getServerForSession ENTER\n\t\t====================\n" +
>> sessionManager.getSessionStatistics() + "\n\t\t====================\n");
>>
>> as a result I can see
>>
>> the following lines in the log:
>> clientsByServerAndPublicSID Server null Number of PublicSIDs: XX
>>
>> where XX is only increasing ....
>>
>> Is it by design? should this hashMap be cleaned up?
>>
>>
>>
>> On Tue, Jan 29, 2013 at 11:47 AM, seba.wagner@gmail.com <
>> seba.wagner@gmail.com> wrote:
>>
>>> Hi Maxim,
>>>
>>> I've seen in your latest changes you have refactored the
>>> ApplicationAdapter to use the basic interface and no more the
>>> MultiThreadedApplicationAdapter.
>>>
>>> What is the reason behind it?
>>>
>>> Thanks!
>>> Sebastian
>>>
>>> --
>>> 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: Why is ApplicationAdapter no more using MultiThreadedApplicationAdapter ?

Posted by Maxim Solodovnik <so...@gmail.com>.
I'm also seeing on server restart .....


java.lang.NullPointerException: null
        at
org.apache.openmeetings.remote.red5.ScopeApplicationAdapter.setUsernameReconnect(ScopeApplicationAdapter.java:1711)
~[openmeetings-2.1.0-SNAPSHOT.jar:na]


Maybe you can suggest what is the proper way of handling it?



On Tue, Jan 29, 2013 at 1:12 PM, Maxim Solodovnik <so...@gmail.com>wrote:

> Hello Sebastian,
>
> some time ago I have changed the parent class of ScopeApplicationAdapter
> to be MultiThreadedApplicationAdapter (since we should work  multithreaded
> ...)
>
> yesterday I noticed "ApplicationAdapter extends
> MultiThreadedApplicationAdapter" so I revert it back.
>
> Can you please help me with HashMapStore?
>
> I have added the following code to
> ConferenceService.getServerForSession(String SID, long roomId) method:
>
> log.debug("-- getServerForSession ENTER\n\t\t====================\n" +
> sessionManager.getSessionStatistics() + "\n\t\t====================\n");
>
> as a result I can see
>
> the following lines in the log:
> clientsByServerAndPublicSID Server null Number of PublicSIDs: XX
>
> where XX is only increasing ....
>
> Is it by design? should this hashMap be cleaned up?
>
>
>
> On Tue, Jan 29, 2013 at 11:47 AM, seba.wagner@gmail.com <
> seba.wagner@gmail.com> wrote:
>
>> Hi Maxim,
>>
>> I've seen in your latest changes you have refactored the
>> ApplicationAdapter to use the basic interface and no more the
>> MultiThreadedApplicationAdapter.
>>
>> What is the reason behind it?
>>
>> Thanks!
>> Sebastian
>>
>> --
>> 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

Re: Why is ApplicationAdapter no more using MultiThreadedApplicationAdapter ?

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

some time ago I have changed the parent class of ScopeApplicationAdapter to
be MultiThreadedApplicationAdapter (since we should work  multithreaded ...)

yesterday I noticed "ApplicationAdapter extends
MultiThreadedApplicationAdapter" so I revert it back.

Can you please help me with HashMapStore?

I have added the following code to
ConferenceService.getServerForSession(String SID, long roomId) method:

log.debug("-- getServerForSession ENTER\n\t\t====================\n" +
sessionManager.getSessionStatistics() + "\n\t\t====================\n");

as a result I can see

the following lines in the log:
clientsByServerAndPublicSID Server null Number of PublicSIDs: XX

where XX is only increasing ....

Is it by design? should this hashMap be cleaned up?



On Tue, Jan 29, 2013 at 11:47 AM, seba.wagner@gmail.com <
seba.wagner@gmail.com> wrote:

> Hi Maxim,
>
> I've seen in your latest changes you have refactored the
> ApplicationAdapter to use the basic interface and no more the
> MultiThreadedApplicationAdapter.
>
> What is the reason behind it?
>
> Thanks!
> Sebastian
>
> --
> 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