OK, open up a JIRA. If it's not too complex it could indeed be a good
change.

2012/2/2 Aleksei Udatšnõi <[email protected]>

> Hi Sean,
>
> The goal is to produce anonymous "cold start" user-based
> recommendations in an environment of 100-200 concurrent users.
>
> It may work in a synchronized way as is with only one fixed
> TEMP_USER_ID. However while one anonymous user insert its temp data
> into the model, other threads have to wait until the TEMP_USER_ID is
> released.
>
> With high volume of concurrent users, it may become a serious
> bottleneck. So I would like to improve the throughout.
>
> If you find it is not a useful feature for core, I can implement it in
> my custom recommender.
>
> Thanks!
>
>
>
> On Thu, Feb 2, 2012 at 11:21 AM, Sean Owen <[email protected]> wrote:
> > Why does this make it useful in a multi-user environment? you can already
> > use it just fine, with synchronization.
> > I am wary of making this hacky wrapper more complex.
> >
> > 2012/2/2 Aleksei Udatšnõi <[email protected]>
> >
> >> Hello,
> >>
> >> I would like to make a change to PlusAnonymousUserDataModel. Currently
> >> the ID of the anonymous user is fixed to Long.MIN_VALUE. Only one set
> >> of temp data can be inserted into the model and used at one time.
> >>
> >> I propose the change to enable multiple users to insert into this
> >> model concurrently in a thread-safe manner.
> >>
> >> The idea is to define a pool of available anonymous user IDs. Every
> >> time a new anonymous user makes a request, the next available
> >> TEMP_USER_ID is pulled from the queue. After recommendations are
> >> retrieved, the TEMP_USER_ID can be returned to the pool.
> >>
> >> As the result this model will become usable in a production multi-user
> >> environment.
> >>
> >> Waiting for your feedback,
> >> Aleksei
> >>
>

Reply via email to