If you're running so close to the edge of running out of memory that
creating a ln process pushes you over the edge, you should fix the
broader cause instead of the specific symptom. :)

On Tue, Apr 27, 2010 at 10:09 PM, Lee Parker <l...@socialagency.com> wrote:
> So, after reading the thread which Eric posted earlier, I have created a
> workaround for the issue.  In my backup script, I add a swapfile with
> swapon, tell cassandra to create the snapshots, then remove the swapfile
> with swapoff.  Then I continue with the rest of the work the backup script
> needs to do in gathering up the snapshots into a tarball and pushing it to
> S3.
>
> Lee Parker
>
> On Tue, Apr 27, 2010 at 9:01 PM, Lee Parker <l...@socialagency.com> wrote:
>>
>> The system is a ubuntu server running 8.04 LTS.  Now, I'm getting the
>> problem again this evening even with the addition of the swap space.
>>
>> Lee Parker
>>
>> On Tue, Apr 27, 2010 at 1:13 PM, Jonathan Shook <jsh...@gmail.com> wrote:
>>>
>>> The allocation of memory may have failed depending on the available
>>> virtual memory, whether or not the memory would have been subsequently
>>> accessed by the process.  Some systems do the work of allocating physical
>>> pages only when they are accessed for the first time. I'm not sure if yours
>>> is one of them.
>>>
>>> On Tue, Apr 27, 2010 at 10:45 AM, Lee Parker <l...@socialagency.com>
>>> wrote:
>>>>
>>>> Adding a swapfile fixed the error, but it doesn't look as though the
>>>> process is even using the swap file at all.
>>>>
>>>> Lee Parker
>>>>
>>>> On Tue, Apr 27, 2010 at 9:49 AM, Eric Hauser <ewhau...@gmail.com> wrote:
>>>>>
>>>>> Have you read this?
>>>>> http://forums.sun.com/thread.jspa?messageID=9734530
>>>>> I don't think EC2 instances have any swap.
>>>>>
>>>>>
>>>>> On Tue, Apr 27, 2010 at 10:16 AM, Lee Parker <l...@socialagency.com>
>>>>> wrote:
>>>>>>
>>>>>> Can anyone help with this?  It is preventing me from getting backups
>>>>>> of our cluster.
>>>>>>
>>>>>> Lee Parker
>>>>>>
>>>>>> On Mon, Apr 26, 2010 at 10:02 PM, Lee Parker <l...@socialagency.com>
>>>>>> wrote:
>>>>>>>
>>>>>>> I was attempting to get a snapshot on our cassandra nodes.  I get the
>>>>>>> following error every time I run nodetool ... snapshot.
>>>>>>> Exception in thread "main" java.io.IOException: Cannot run program
>>>>>>> "ln": java.io.IOException: error=12, Cannot allocate memory
>>>>>>> at java.lang.ProcessBuilder.start(ProcessBuilder.java:459)
>>>>>>> at
>>>>>>> org.apache.cassandra.io.util.FileUtils.createHardLink(FileUtils.java:221)
>>>>>>> at
>>>>>>> org.apache.cassandra.db.ColumnFamilyStore.snapshot(ColumnFamilyStore.java:1060)
>>>>>>> at org.apache.cassandra.db.Table.snapshot(Table.java:256)
>>>>>>> at
>>>>>>> org.apache.cassandra.service.StorageService.takeAllSnapshot(StorageService.java:1005)
>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>>> at
>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>>>> at
>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>>>> at java.lang.reflect.Method.invoke(Method.java:597)
>>>>>>> at
>>>>>>> com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:93)
>>>>>>> at
>>>>>>> com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:27)
>>>>>>> at
>>>>>>> com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:208)
>>>>>>> at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:120)
>>>>>>> at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:262)
>>>>>>> at
>>>>>>> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
>>>>>>> at
>>>>>>> com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
>>>>>>> at
>>>>>>> javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1426)
>>>>>>> at
>>>>>>> javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72)
>>>>>>> at
>>>>>>> javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1264)
>>>>>>> at
>>>>>>> javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1359)
>>>>>>> at
>>>>>>> javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:788)
>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>>> at
>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>>>> at
>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>>>> at java.lang.reflect.Method.invoke(Method.java:597)
>>>>>>> at
>>>>>>> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305)
>>>>>>> at sun.rmi.transport.Transport$1.run(Transport.java:159)
>>>>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>>>>> at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
>>>>>>> at
>>>>>>> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
>>>>>>> at
>>>>>>> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
>>>>>>> at
>>>>>>> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
>>>>>>> at
>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>>>>> at
>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>>>>> at java.lang.Thread.run(Thread.java:619)
>>>>>>> Caused by: java.io.IOException: java.io.IOException: error=12, Cannot
>>>>>>> allocate memory
>>>>>>> at java.lang.UNIXProcess.<init>(UNIXProcess.java:148)
>>>>>>> at java.lang.ProcessImpl.start(ProcessImpl.java:65)
>>>>>>> at java.lang.ProcessBuilder.start(ProcessBuilder.java:452)
>>>>>>> ... 34 more
>>>>>>> The nodes are both Amazon EC2 Large instances with 7.5G RAM (6
>>>>>>> allocated for Java heap) with two cores and only 70G of data in 
>>>>>>> casssandra.
>>>>>>>  They have plenty of available RAM and HD space.  Has anyone else run 
>>>>>>> into
>>>>>>> this error?
>>>>>>>
>>>>>>> Lee Parker
>>>>>
>>>>
>>>
>>
>
>



-- 
Jonathan Ellis
Project Chair, Apache Cassandra
co-founder of Riptano, the source for professional Cassandra support
http://riptano.com

Reply via email to