cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aaron Morton (JIRA)" <>
Subject [jira] Created: (CASSANDRA-1557) ColumnFamilyStore masking IOException from FileUtils as IOError
Date Wed, 29 Sep 2010 08:03:33 GMT
ColumnFamilyStore masking IOException from FileUtils as IOError

                 Key: CASSANDRA-1557
             Project: Cassandra
          Issue Type: Bug
          Components: API
    Affects Versions: 0.7 beta 2
            Reporter: Aaron Morton
            Priority: Minor

The code in ColumnFamilyStore.snapshot() line 1368 is catching an IOException from the call
to FileUtils.createHardLink() and wrapping it in an IOError. However the code in TruncateVerbHandler:56
is looking for the IOException. This can result  in the client not getting a response to a
truncate() API call. 

When running on a machine with very low memory I attempted to truncate a CF with few rows,
the following error occurred in the logs.

ERROR [MUTATION_STAGE:25] 2010-09-29 16:44:39,341 (line 88) Fatal
exception in thread Thread[MUTATION_STAGE:25,5,main] Cannot run program "ln": error=12,
Cannot allocate memory
        at org.apache.cassandra.db.ColumnFamilyStore.snapshot(
        at org.apache.cassandra.db.ColumnFamilyStore.truncate(
        at org.apache.cassandra.db.Table.truncate(
        at org.apache.cassandra.db.TruncateVerbHandler.doVerb(
        at javautil.concurrent.ThreadPoolExecutor$Worker.runTask(
        at java.util.concurrent.ThreadPoolExecutor$
Caused by: Cannot run program "ln": error=12, Cannot
allocate memory
        at java.lang.ProcessBuilder.start(
        at org.apache.cassandra.db.ColumnFamilyStore.snapshot(
        ... 7 more
Caused by: error=12, Cannot allocate memory
        at java.lang.UNIXProcess.<init>(
        at java.lang.ProcessImpl.start(
        at java.lang.ProcessBuilder.start(
        ... 10 more

On the client I got this:

  File "/tech/home//git_home/trojan/trojan/cassandra/Cassandrapy", line 846, in truncate
  File "/tech/home//git_home/trojan/trojan/cassandra/", line 857, in recv_truncate
    (fname, mtype, rseqid) = self._iprot.readMessageBegin()
  File "/tech/home//git_home/trojan/trojan/thrift/protocol/", line 126,
in readMessageBegin
    sz = self.readI32()
    chunk =
  File "/tech/home//git_home/trojan/trojan/thrift/transport/", line 92, in read
    buff = self.handle.recv(sz)
timeout: timed out

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

View raw message