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.