You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2022/05/13 21:32:00 UTC

[jira] [Commented] (GEODE-10306) CacheServerImpl should stop the acceptor immediately after stop is called

    [ https://issues.apache.org/jira/browse/GEODE-10306?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17536899#comment-17536899 ] 

ASF subversion and git services commented on GEODE-10306:
---------------------------------------------------------

Commit 20844a84947a746ec4c740acf5af6734bfb272c1 in geode's branch refs/heads/develop from mhansonp
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=20844a8494 ]

GEODE-10306 Fixing an order issue that can lead to problems when stopping (#7682)

When stopping the cache server, the acceptor is last which should not be the case. It should be first so new data stops coming in.

> CacheServerImpl should stop the acceptor immediately after stop is called
> -------------------------------------------------------------------------
>
>                 Key: GEODE-10306
>                 URL: https://issues.apache.org/jira/browse/GEODE-10306
>             Project: Geode
>          Issue Type: Bug
>            Reporter: Mark Hanson
>            Assignee: Mark Hanson
>            Priority: Major
>              Labels: pull-request-available
>
> Currently, after cache server stop is called, it takes a while for the acceptor to stop taking new data, which can be a problem because the bigger the window of time, the greater the risk of data loss. 
>  
> {noformat}
> public synchronized void stop() {
>   if (!isRunning()) {
>     return;
>   }
>   RuntimeException firstException = null;
>   try {
>     if (loadMonitor != null) {
>       loadMonitor.stop();
>     }
>   } catch (RuntimeException e) {
>     logger.warn("CacheServer - Error closing load monitor", e);
>     firstException = e;
>   }
>   try {
>     if (advisor != null) {
>       advisor.close();
>     }
>   } catch (RuntimeException e) {
>     logger.warn("CacheServer - Error closing advisor", e);
>     firstException = e;
>   }
> PROBLEM ->  try {
>     if (acceptor != null) {
>       acceptor.close();
>     }
>   } catch (RuntimeException e) {
>     logger.warn("CacheServer - Error closing acceptor monitor", e);
>     if (firstException != null) {
>       firstException = e;
>     }
>   } {noformat}



--
This message was sent by Atlassian Jira
(v8.20.7#820007)