Hi Jake,

For Option 6: We could fix isClosed as well. That is a great suggestion. 
Currently, it returns almost immediately.
I like your options though....

Any other thoughts?

Any preferences? It think any of the current options seem better than the 
current situation as long as we fix isClosed.

Thanks,
Mark
________________________________
From: Jacob Barrett <jbarr...@pivotal.io>
Sent: Tuesday, April 14, 2020 2:30 PM
To: dev@geode.apache.org <dev@geode.apache.org>
Subject: Re: [Discuss] Cache.close synchronous is not synchronous, but code 
still expects it to be....

Option 4: Cache.closeAndWait(long timeout, TimeUnit unit) - Closes and waits 
until it is really closed.
Option 5: Cache.close(Runnable closedCalleback) - Runs callback after cache is 
really close.
Option 6: cache.close(); while (!cache.isClosed());


> On Apr 14, 2020, at 2:11 PM, Mark Hanson <mhan...@pivotal.io> wrote:
>
> Hi All,
>
> I know that we have discussed this once before, but I think it bears 
> repeating. We have test code that assumes cache.close is synchronous. It is 
> not. Not even close. I would like discuss some possible changes.
>
> Option 1. Call it what it is.  Deprecate Cache.close and create a new method 
> called asyncClose to replace it. Simple and descriptive.
> Option 2. Fix cache close so it is synchronous. Some might say that we are 
> going to break behavior, but I doubt any user relies on the fact that it is 
> asynchronous. That would be dangerous in and of itself. Obviously, we don’t 
> want to change behavior, but there have been a number of distributed tests 
> that have failed for this. If internal to the code devs don’t get it right, 
> where does that leave users.
> Option 3. Status quo.
>
> What do you think? Are there other options I am missing?
>
> Thanks,
> Mark
>

Reply via email to