I think this cache.close() discussion is off topic. I’m not sure that’s the case, but it’s not at the root of my question.
The problem: Using gfsh -e, from a gfsh rule in test, stop server does not properly block as the rest of the api seems to. I’m looking for a better understanding of the desired interface. The suggestion put forth is to use the existing indicators to make it synchronous. That seems right to me, but I could be wrong. Thanks, Mark Sent from my iPhone > On Sep 10, 2019, at 7:12 PM, John Blum <jb...@pivotal.io> wrote: > > @Mike - Who said anything about... > > "*masking it in an early return from the shutdown command doesn't seem like > the appropriate action.*" > > I think you missed the point. You explicitly have to break out of the > wait, which is a conscious decision when *Gfsh* is run interactively. > > The command as I previously stated, is "blocking", or "synchronous" with > respect to cache.close(), which is "ultimately" what gets called whether > the stop happens in-process or out-of-process (for that matter). So, in a > non-interactive mode, the real issue is, why is the cache not completely > and properly closed/shutdown after a cache.close() call then? > > Fix cache.close() then! Don't simply bandaid this thing with yet another > unreliable means to ascertain whether the cache was completely and properly > shutdown. And, don't put responsibility on the user to have register and > receive notification on complete shutdown, or some other ridiculous means, > either. > > >> On Tue, Sep 10, 2019 at 6:15 PM Michael Stolz <mst...@pivotal.io> wrote: >> >> I understand that issue John, but masking it in an early return from the >> shutdown command doesn't seem like the appropriate action. >> Maybe we should consider that nearly all gfsh commands are not blocking, >> and rather, have a way to determine which ones are still waiting for >> completion? >> >> -- >> Mike Stolz >> Principal Engineer, Pivotal Cloud Cache >> Mobile: +1-631-835-4771 >> >> >> >>> On Tue, Sep 10, 2019 at 9:13 PM John Blum <jb...@pivotal.io> wrote: >>> >>> @Anil- I hear your argument when you are "scripting" with *Gfsh*, but >>> blocking absolutely maybe less desirable when using *Gfsh* interactively. >>> There are, after all, many non-cluster based commands. >>> >>> @Mark - I see. I have generally found in my own testing purposes, >>> especially automated, that a cache instance is not fully closed and has >> not >>> properly released all it's resource even after cache.close() returns. >>> >>> -j >>> >>>> On Tue, Sep 10, 2019 at 5:02 PM Mark Hanson <mhan...@pivotal.io> wrote: >>>> >>>> Hi John, >>>> >>>> Kirk and I found that in our testing it was returning before it was >> fully >>>> stopped. I have a change that seems viable that waits for the pid file >> to >>>> disappear from the subdirectory of the server. I am not a fan. I would >>>> prefer to wait for the pid to disappear, but that doesn’t seem like it >>> will >>>> be cross-platform friendly. >>>> >>>> Thanks, >>>> Mark >>>> >>>>> On Sep 10, 2019, at 3:31 PM, John Blum <jb...@pivotal.io> wrote: >>>>> >>>>> `stop server` is synchronous (with an option to break out of the wait >>>> using >>>>> CTRL^C) AFAIR. >>>>> >>>>> Way deep down inside, it simply relies on GemFireCache.close() to >>> return >>>>> (in-process). >>>>> >>>>> As Darrel mentioned, there is not "true" signal the the server was >>>>> successfully stopped. >>>>> >>>>> -j >>>>> >>>>> >>>>> On Tue, Sep 10, 2019 at 3:23 PM Darrel Schneider < >>> dschnei...@pivotal.io> >>>>> wrote: >>>>> >>>>>> I think it would be good for stop server to confirm in some way that >>> the >>>>>> server has stopped before returning. >>>>>> >>>>>> On Tue, Sep 10, 2019 at 3:08 PM Mark Hanson <mhan...@pivotal.io> >>> wrote: >>>>>> >>>>>>> Hello All, >>>>>>> >>>>>>> I would like to propose that we make the gfsh “stop server” command >>>>>>> synchronous. It is causing some issues with some tests as the rest >> of >>>> the >>>>>>> calls are blocking. Stop on the other hand immediately returns by >>>>>>> comparison. >>>>>>> This causes issues as shown in GEODE-7017 specifically. >>>>>>> >>>>>>> GEODE:7017 CI failure: >>>>>>> >>> org.apache.geode.launchers.ServerStartupValueRecoveryNotificationTest > >>>>>>> startupReportsOnlineOnlyAfterRedundancyRestored >>>>>>> https://issues.apache.org/jira/browse/GEODE-7017 < >>>>>>> https://issues.apache.org/jira/browse/GEODE-7017> >>>>>>> >>>>>>> >>>>>>> What do people think? >>>>>>> >>>>>>> Thanks, >>>>>>> Mark >>>>>> >>>>> >>>>> >>>>> -- >>>>> -John >>>>> john.blum10101 (skype) >>>> >>>> >>> >>> -- >>> -John >>> john.blum10101 (skype) >>> >> > > > -- > -John > john.blum10101 (skype)