You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Matthew F. Dennis (JIRA)" <ji...@apache.org> on 2010/06/10 02:02:15 UTC

[jira] Commented: (CASSANDRA-1178) get_slice calls do not close files when finished resulting in "too many open files" exceptions and rendering C unusable

    [ https://issues.apache.org/jira/browse/CASSANDRA-1178?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12877272#action_12877272 ] 

Matthew F. Dennis commented on CASSANDRA-1178:
----------------------------------------------

intellij often automatically reorders imports and removes unused ones (they call it "optimizing imports").  I just let it do it's thing in this regard (to be honest I've just gotten in the habit of ignoring the import section).

At least for get_slice, close is properly called (as evident by the patch fixing the problem).   It may be the case that for other calls close is not correctly called, I didn't specifically look for such cases but 1) I haven't noticed a problem making other calls and 2) I didn't notice anything in the code while debugging this issue.

In general I agree that self contained objects are better but that doesn't necessarily fit in this case as the open file is really a system resource.  Given the way Java does GC, such resources should be explicitly released.

I discussed this particular case with jbellis and the thought for the original patch that introduced this bug was that some callers would want to reuse an existing file.  In such a case, they would be responsible for closing the file but that meant that SSTableSliceIterator shouldn't close it out from under them.

> get_slice calls do not close files when finished resulting in "too many open files" exceptions and rendering C unusable
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-1178
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1178
>             Project: Cassandra
>          Issue Type: Bug
>    Affects Versions: 0.7
>            Reporter: Matthew F. Dennis
>            Assignee: Matthew F. Dennis
>             Fix For: 0.7
>
>         Attachments: 0001-trunk-1178.patch
>
>
> insert ~100K rows.  Read them back in a loop.  Notice "too many open files" exceptions in log.  SSTableSliceIterator is never closing the files.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.