[
https://issues.apache.org/jira/browse/CASSANDRA-14384?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Advertising
Ariel Weisberg resolved CASSANDRA-14384.
----------------------------------------
Resolution: Duplicate
Duplicate of CASSANDRA-14383
> If fsync fails it's always an issue and continuing execution is suspect
> -----------------------------------------------------------------------
>
> Key: CASSANDRA-14384
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14384
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Ariel Weisberg
> Assignee: Ariel Weisberg
> Priority: Major
> Fix For: 2.1.x, 3.0.x, 3.11.x, 4.x
>
>
> We can't catch fsync errors and continue so we shouldn't have code that does
> that in C*. There was a Postgres bug where fsync returned an error and the FS
> lost data, but subsequent fsyncs succeeded.
> The [LastErrorException code in
> NativeLibrary.trySync|https://github.com/apache/cassandra/commit/be313935e54be450d9aaabda7965a2f266e922c9#diff-4258621cdf765f0fea6770db5d40038fR307]
> looks a little janky. What's up with that? When would trySync be something
> we would merely try? If try is good enough why do it at all considering try
> is the default behavior of a series of unsynced filesystem operations.
> Also when we fsync in FD it's not just fsyncing that file the FS is
> potentially fsyncing other data and the error code we get could be related to
> that other data so we can't safely ignore it. The filesystem could be
> internally inconsistent as well. This happens because the FS journaling may
> force the FS to flush other data as well to preserve the ordering
> requirements of journaled metadata.
> If we ignore fsync errors it needs to be for whitelisted reasons such as a
> bad FD.
> I know we have FSErrorHandler and it makes sense for reads, but I'm not sold
> on it being the right answer for writes. We don't retry flushing a memtable
> or writing to the commit log to my knowledge. We could go read only and I
> need to check if that is w
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org