On Sat, Jan 1, 2022 at 10:07 PM Mark Thomas <ma...@apache.org> wrote:
>
> On 01/01/2022 20:05, Rémy Maucherat wrote:
> > On Sat, Jan 1, 2022 at 8:20 PM Mark Thomas <ma...@apache.org> wrote:
> >>
> >> Hi all,
> >>
> >> Probably questions for Rémy but any input welcome.
> >>
> >> I'm looking at SpotBugs and it has a few warning for this class. My
> >> questions are:
> >>
> >> 1. Should the methods the modify the database (createXXX, modifiedXXX,
> >> removedXXX) use writeLock rather than readLock?
> >
> > This is copy/pasted from MemoryUserDatabase. I think this is probably
> > as intended, this prevents a concurrent read, and the only actual
> > write operation is persisting to the database.
>
> Thanks for the pointer. That helps. I think a little additional locking
> is going to be required to keep everything consistent.
>
> >> 2. What sequence of actions between saves are meant to be supported? I'm
> >> thinking about combinations of create/modify/delete?
> >
> > Any. Hopefully the user is a bit reasonable ;) It should work like the
> > MemoryUserDatabase, modifications occur locally until the save
> > operation which updates the database. The test case has scenarios, so
> > if you find some more that you want to have supported they can be
> > added there ...
> >
> > For example, if a user is created:
> > - createdUsers.put and modifiedUsers.remove
> > - the if you modify it, it won't do anything more since the user is
> > already in createdUsers
>
> OK. Thanks. I thought I found a few problematic scenarios but I need to
> think them through some more. Adding test cases is a good idea.

Thanks for the sync improvements.

As for the problematic scenarios, sequences like create/remove/create
seem confusing when reading the code but do work.

Rémy

>
> Mark
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to