How are you starting up your system? If you initialize a system with a
cache.xml or cluster configuration, the cache server and gateway acceptors
are started last (see CacheCreation.create). If your cache server is
started using gfsh start server, I believe the acceptor part is also
started last (see CacheServerLauncher.createCache).

If you are using the API, it's up to you to start the cache server last. I
don't think there is any latch we can add in that case unless we also added
a method to indicate that you are done configuring the system.

-Dan

On Thu, Jan 5, 2017 at 11:20 AM, Michael Stolz <mst...@pivotal.io> wrote:

> To be honest I always just thought it was there. I bet most users do. This
> might explain some "unexplained" inconsistencies I have seen at a customer.
>
> --
> Mike Stolz
> Principal Engineer, GemFire Product Manager
> Mobile: 631-835-4771
>
> On Thu, Jan 5, 2017 at 2:09 PM, Kirk Lund <kl...@apache.org> wrote:
>
> > So, I'm looking into an issue in which the Geode Server starts up and
> > accepts connections from Clients and starts handling their requests
> before
> > its Cache has completed initialization.
> >
> > Regions have a series of initialization latches that local puts and gets
> > are forced to wait on. For example, initializationLatchAfterGetIni
> > tialImage
> > is released after GII completes for that Region. Local puts and gets are
> > not allowed to be handled until after GII completes.
> >
> > I would expect the Cache to have an initialization latch as well that
> > Client requests have to wait on before the Geode Server completes Cache
> > initialization.
> >
> > Does anyone know why Cache or AcceptorImpl don't have an initialization
> > latch like this? Does anyone have a good reason to not add such an
> > initialization latch to protect incoming Client requests?
> >
> > Thanks,
> > Kirk
> >
>

Reply via email to