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 > >> >
