[jira] [Updated] (CASSANDRA-2116) Separate out filesystem errors from generic IOErrors

2012-07-30 Thread Aleksey Yeschenko (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aleksey Yeschenko updated CASSANDRA-2116:
-

Attachment: CASSANDRA-2116.2.patch

> Separate out filesystem errors from generic IOErrors
> 
>
> Key: CASSANDRA-2116
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2116
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Chris Goffinet
>Assignee: Aleksey Yeschenko
> Fix For: 1.2
>
> Attachments: 
> 0001-Issue-2116-Replace-some-IOErrors-with-more-informati.patch, 
> 0001-Separate-out-filesystem-errors-from-generic-IOErrors.patch, 2116-v5.txt, 
> CASSANDRA-2116-v3.patch, CASSANDRA-2116-v4.patch, CASSANDRA-2116-v6.patch, 
> CASSANDRA-2116.2.patch
>
>
> We throw IOErrors everywhere today in the codebase. We should separate out 
> specific errors such as (reading, writing) from filesystem into FSReadError 
> and FSWriteError. This makes it possible in the next ticket to allow certain 
> failure modes (kill the server if reads or writes fail to disk).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-2116) Separate out filesystem errors from generic IOErrors

2012-07-26 Thread Aleksey Yeschenko (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aleksey Yeschenko updated CASSANDRA-2116:
-

Attachment: CASSANDRA-2116-v6.patch

> Separate out filesystem errors from generic IOErrors
> 
>
> Key: CASSANDRA-2116
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2116
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Chris Goffinet
>Assignee: Aleksey Yeschenko
> Fix For: 1.2
>
> Attachments: 
> 0001-Issue-2116-Replace-some-IOErrors-with-more-informati.patch, 
> 0001-Separate-out-filesystem-errors-from-generic-IOErrors.patch, 2116-v5.txt, 
> CASSANDRA-2116-v3.patch, CASSANDRA-2116-v4.patch, CASSANDRA-2116-v6.patch
>
>
> We throw IOErrors everywhere today in the codebase. We should separate out 
> specific errors such as (reading, writing) from filesystem into FSReadError 
> and FSWriteError. This makes it possible in the next ticket to allow certain 
> failure modes (kill the server if reads or writes fail to disk).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-2116) Separate out filesystem errors from generic IOErrors

2012-07-24 Thread Jonathan Ellis (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jonathan Ellis updated CASSANDRA-2116:
--

Attachment: 2116-v5.txt

v5 attached.  I got up through KeyIterator in the review but got bogged down in 
the compressed reader code, which needs some deeper fixes.  (Still lots of bare 
IOExceptions being thrown in CM.Writer and CRAR.)

Here's the changes I made while going through it:

- updated try/catch in CCE.create to wrap the bytesRemaining call specifically
- moved StorageService.getCannonicalPath into FileUtils and added overload 
taking a File
- updated CFMD.reload to turn ConfigurationException into RTE instead of IOE
- Introduced CorruptSSTableError where we were using RTE.  We don't do anything 
with it, yet, but this will make it much easier if we need to down the road 
since RTE is used *all* over the place.
- added FSWE around setLength in CommitLogSegment
- removed extra catches in doCleanupCompaction in favor of the existing catch 
(Exception) block, extended to Throwable
- split FailureDetector RTE into RTE + FSWE
- lots of changes to RandomAccessReader, CompressionMetadata, CRAR (incomplete)


> Separate out filesystem errors from generic IOErrors
> 
>
> Key: CASSANDRA-2116
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2116
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Chris Goffinet
>Assignee: Aleksey Yeschenko
> Fix For: 1.2
>
> Attachments: 
> 0001-Issue-2116-Replace-some-IOErrors-with-more-informati.patch, 
> 0001-Separate-out-filesystem-errors-from-generic-IOErrors.patch, 2116-v5.txt, 
> CASSANDRA-2116-v3.patch, CASSANDRA-2116-v4.patch
>
>
> We throw IOErrors everywhere today in the codebase. We should separate out 
> specific errors such as (reading, writing) from filesystem into FSReadError 
> and FSWriteError. This makes it possible in the next ticket to allow certain 
> failure modes (kill the server if reads or writes fail to disk).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-2116) Separate out filesystem errors from generic IOErrors

2012-07-24 Thread Aleksey Yeschenko (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aleksey Yeschenko updated CASSANDRA-2116:
-

Attachment: CASSANDRA-2116-v4.patch

I reverted change to the SSTII. Can't reliably throw any FSE from there, from 
the calling code either.

SSTW methods' callers that used to catch IOE and do writer.abort() now catch 
FSWE and do the same. Any call that wasn't performing any cleanup was left as 
it was - without the cleanup.

And most FSRE were converted to RTE since in most cases you can't be sure that 
FS was indeed the reason for the IOE.

This hast to be all this time.

> Separate out filesystem errors from generic IOErrors
> 
>
> Key: CASSANDRA-2116
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2116
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Chris Goffinet
>Assignee: Aleksey Yeschenko
> Fix For: 1.2
>
> Attachments: 
> 0001-Issue-2116-Replace-some-IOErrors-with-more-informati.patch, 
> 0001-Separate-out-filesystem-errors-from-generic-IOErrors.patch, 
> CASSANDRA-2116-v3.patch, CASSANDRA-2116-v4.patch
>
>
> We throw IOErrors everywhere today in the codebase. We should separate out 
> specific errors such as (reading, writing) from filesystem into FSReadError 
> and FSWriteError. This makes it possible in the next ticket to allow certain 
> failure modes (kill the server if reads or writes fail to disk).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-2116) Separate out filesystem errors from generic IOErrors

2012-07-18 Thread Aleksey Yeschenko (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aleksey Yeschenko updated CASSANDRA-2116:
-

Attachment: CASSANDRA-2116-v3.patch

This should do it.

> Separate out filesystem errors from generic IOErrors
> 
>
> Key: CASSANDRA-2116
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2116
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Chris Goffinet
>Assignee: Aleksey Yeschenko
> Fix For: 1.2
>
> Attachments: 
> 0001-Issue-2116-Replace-some-IOErrors-with-more-informati.patch, 
> 0001-Separate-out-filesystem-errors-from-generic-IOErrors.patch, 
> CASSANDRA-2116-v3.patch
>
>
> We throw IOErrors everywhere today in the codebase. We should separate out 
> specific errors such as (reading, writing) from filesystem into FSReadError 
> and FSWriteError. This makes it possible in the next ticket to allow certain 
> failure modes (kill the server if reads or writes fail to disk).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-2116) Separate out filesystem errors from generic IOErrors

2012-07-15 Thread Aleksey Yeschenko (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aleksey Yeschenko updated CASSANDRA-2116:
-

Attachment: (was: 
0001-Issue-2116-Replace-some-IOErrors-with-more-informati.patch)

> Separate out filesystem errors from generic IOErrors
> 
>
> Key: CASSANDRA-2116
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2116
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Chris Goffinet
>Assignee: Aleksey Yeschenko
> Fix For: 1.2
>
> Attachments: 
> 0001-Issue-2116-Replace-some-IOErrors-with-more-informati.patch, 
> 0001-Separate-out-filesystem-errors-from-generic-IOErrors.patch
>
>
> We throw IOErrors everywhere today in the codebase. We should separate out 
> specific errors such as (reading, writing) from filesystem into FSReadError 
> and FSWriteError. This makes it possible in the next ticket to allow certain 
> failure modes (kill the server if reads or writes fail to disk).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-2116) Separate out filesystem errors from generic IOErrors

2012-07-15 Thread Aleksey Yeschenko (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aleksey Yeschenko updated CASSANDRA-2116:
-

Attachment: 0001-Issue-2116-Replace-some-IOErrors-with-more-informati.patch

> Separate out filesystem errors from generic IOErrors
> 
>
> Key: CASSANDRA-2116
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2116
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Chris Goffinet
>Assignee: Aleksey Yeschenko
> Fix For: 1.2
>
> Attachments: 
> 0001-Issue-2116-Replace-some-IOErrors-with-more-informati.patch, 
> 0001-Issue-2116-Replace-some-IOErrors-with-more-informati.patch, 
> 0001-Separate-out-filesystem-errors-from-generic-IOErrors.patch
>
>
> We throw IOErrors everywhere today in the codebase. We should separate out 
> specific errors such as (reading, writing) from filesystem into FSReadError 
> and FSWriteError. This makes it possible in the next ticket to allow certain 
> failure modes (kill the server if reads or writes fail to disk).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-2116) Separate out filesystem errors from generic IOErrors

2012-07-12 Thread Jonathan Ellis (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jonathan Ellis updated CASSANDRA-2116:
--

Reviewer: jbellis  (was: yukim)

Thanks, Aleksey.  This looks like a good start!

As a rule of thumb, my expectation would be that most catch (IOException) block 
should either be removed (and just declare that method to throw IOE) or 
transform to FSE.  Of course there will be exceptions, e.g. IOException from a 
socket instead of local disk.  But a quick inspection shows a lot of places 
where this still needs to be done.

Nit: should CLWE subclass FSError?

> Separate out filesystem errors from generic IOErrors
> 
>
> Key: CASSANDRA-2116
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2116
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Chris Goffinet
>Assignee: Aleksey Yeschenko
> Fix For: 1.2
>
> Attachments: 
> 0001-Issue-2116-Replace-some-IOErrors-with-more-informati.patch, 
> 0001-Separate-out-filesystem-errors-from-generic-IOErrors.patch
>
>
> We throw IOErrors everywhere today in the codebase. We should separate out 
> specific errors such as (reading, writing) from filesystem into FSReadError 
> and FSWriteError. This makes it possible in the next ticket to allow certain 
> failure modes (kill the server if reads or writes fail to disk).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-2116) Separate out filesystem errors from generic IOErrors

2012-07-12 Thread Aleksey Yeschenko (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aleksey Yeschenko updated CASSANDRA-2116:
-

Attachment: 0001-Issue-2116-Replace-some-IOErrors-with-more-informati.patch

This patch replaces some of the IOErrors with CommitLogWriteErrors or 
directory-aware FSReadErrors and FSWriteErrors. These will be used in #2118 to 
mark all keyspaces with durable_writes=true as non-writable (in case of 
CommitLogWriteError) or to mark affected (directory, keyspace, columnfamily) 
triples as non-writable (FSWriteError) or non-readable AND non-writable 
(FSReadError).
Some other IOErrors might be replaced during #2118.

> Separate out filesystem errors from generic IOErrors
> 
>
> Key: CASSANDRA-2116
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2116
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Chris Goffinet
>Assignee: Aleksey Yeschenko
> Fix For: 1.2
>
> Attachments: 
> 0001-Issue-2116-Replace-some-IOErrors-with-more-informati.patch, 
> 0001-Separate-out-filesystem-errors-from-generic-IOErrors.patch
>
>
> We throw IOErrors everywhere today in the codebase. We should separate out 
> specific errors such as (reading, writing) from filesystem into FSReadError 
> and FSWriteError. This makes it possible in the next ticket to allow certain 
> failure modes (kill the server if reads or writes fail to disk).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-2116) Separate out filesystem errors from generic IOErrors

2012-07-03 Thread Jonathan Ellis (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jonathan Ellis updated CASSANDRA-2116:
--

   Reviewer: yukim
Component/s: Core
   Priority: Major  (was: Minor)
   Assignee: Aleksey Yeschenko

> Separate out filesystem errors from generic IOErrors
> 
>
> Key: CASSANDRA-2116
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2116
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Chris Goffinet
>Assignee: Aleksey Yeschenko
> Fix For: 1.2
>
> Attachments: 
> 0001-Separate-out-filesystem-errors-from-generic-IOErrors.patch
>
>
> We throw IOErrors everywhere today in the codebase. We should separate out 
> specific errors such as (reading, writing) from filesystem into FSReadError 
> and FSWriteError. This makes it possible in the next ticket to allow certain 
> failure modes (kill the server if reads or writes fail to disk).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Updated: (CASSANDRA-2116) Separate out filesystem errors from generic IOErrors

2011-02-05 Thread Chris Goffinet (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-2116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Goffinet updated CASSANDRA-2116:
--

Attachment: 0001-Separate-out-filesystem-errors-from-generic-IOErrors.patch

2 new classes: FSWriteError and FSReadError.

> Separate out filesystem errors from generic IOErrors
> 
>
> Key: CASSANDRA-2116
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2116
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Chris Goffinet
>Priority: Minor
> Fix For: 0.8
>
> Attachments: 
> 0001-Separate-out-filesystem-errors-from-generic-IOErrors.patch
>
>
> We throw IOErrors everywhere today in the codebase. We should separate out 
> specific errors such as (reading, writing) from filesystem into FSReadError 
> and FSWriteError. This makes it possible in the next ticket to allow certain 
> failure modes (kill the server if reads or writes fail to disk).

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira