cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Petrov (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-12461) Add hooks to StorageService shutdown
Date Fri, 19 Aug 2016 17:56:20 GMT


Alex Petrov commented on CASSANDRA-12461:

bq. It is a great way to introduce stupid bugs and the performance benefits here would be

I was actually advocating for correctness. With a volatile variable we won't be able to guarantee
exactly-once (we could with locking but it's usually much harder). If you're still against
it even in that case, I'll take a look at locking version you implemented again as I think
we should guard the boolean variable, as it'd already protect the access to lists. Either
way works for me, we should just make sure that list accessors (both add and remove) disallow
modifying lists after shutdown hook is ran.

bq. I only smoke tested things on a shutdown, I'm wondering if that error has to do with the
shutdown hook for logback being called twice. I'll test that case today.

As far as I remember, this error showed up during "normal" shutdown (interrupt). And during
drain (I've tested by adding some println hooks), I just seen all messages duplicated (which
is kind of clear from the logic), but I'd argue that running whole process twice is not required.
And if we do run hooks, we most likely should run them once (?), which would be during "normal"

> Add hooks to StorageService shutdown
> ------------------------------------
>                 Key: CASSANDRA-12461
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Anthony Cozzie
>            Assignee: Anthony Cozzie
>         Attachments: 0001-CASSANDRA-12461-add-C-support-for-shutdown-runnables.patch
> The JVM will usually run shutdown hooks in parallel.  This can lead to synchronization
problems between Cassandra, services that depend on it, and services it depends on.  This
patch adds some simple support for shutdown hooks to StorageService.
> This should nearly solve CASSANDRA-12011

This message was sent by Atlassian JIRA

View raw message