Probably https://issues.apache.org/jira/browse/CASSANDRA-4230

On Tue, May 15, 2012 at 4:08 PM, Bryan Fernandez <bfernande...@gmail.com> wrote:
> Greetings,
>
> We recently upgraded from 1.0.8 to 1.1.0. Everything has been running fine
> with the exception of snapshots. When attempting to snapshot any of the
> nodes in our six node cluster we are seeing the following error.
>
> [root@cassandra-n6 blotter]# /opt/apache-cassandra-1.1.0/bin/nodetool -h
> 10.20.50.58 snapshot
> Requested snapshot for: all keyspaces
> Exception in thread "main" java.io.IOError: java.io.IOException: Unable to
> create hard link from
> /var/lib/cassandra/data/blotter/twitter_users/twitter_users.json to
> /var/lib/cassandra/data/blotter/twitter_users/snapshots/1337115022389/twitter_users.json
> (errno 17)
> at
> org.apache.cassandra.db.ColumnFamilyStore.snapshotWithoutFlush(ColumnFamilyStore.java:1454)
> at
> org.apache.cassandra.db.ColumnFamilyStore.snapshot(ColumnFamilyStore.java:1483)
> at org.apache.cassandra.db.Table.snapshot(Table.java:205)
> at
> org.apache.cassandra.service.StorageService.takeSnapshot(StorageService.java:1793)
> 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:1427)
> at
> javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72)
> at
> javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1265)
> at
> javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1360)
> 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:303)
> 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:662)
> Caused by: java.io.IOException: Unable to create hard link from
> /var/lib/cassandra/data/blotter/twitter_users/twitter_users.json to
> /var/lib/cassandra/data/blotter/twitter_users/snapshots/1337115022389/twitter_users.json
> (errno 17)
> at org.apache.cassandra.utils.CLibrary.createHardLink(CLibrary.java:163)
> at
> org.apache.cassandra.db.Directories.snapshotLeveledManifest(Directories.java:343)
> at
> org.apache.cassandra.db.ColumnFamilyStore.snapshotWithoutFlush(ColumnFamilyStore.java:1450)
> ... 33 more
>
>
> However, an LS shows that both of these JSON files exist on the filesystem
> (although slightly different sizes).
>
> [root@cassandra-n6 blotter]# ls -al
> /var/lib/cassandra/data/blotter/twitter_users/twitter_users.json
> -rw-r--r-- 1 root root 38786 May 15 20:51
> /var/lib/cassandra/data/blotter/twitter_users/twitter_users.json
>
> [root@cassandra-n6 blotter]# ls -al
> /var/lib/cassandra/data/blotter/twitter_users/snapshots/1337115022389/twitter_users.json
> -rw-r--r-- 1 root root 38778 May 15 20:50
> /var/lib/cassandra/data/blotter/twitter_users/snapshots/1337115022389/twitter_users.json
>
>
> We are using Leveled Compaction on the twitter_users CF with I assume is
> creating the JSON files.
>
> [root@cassandra-n6 blotter]# ls -al
> /var/lib/cassandra/data/blotter/twitter_users/*.json
> -rw-r--r-- 1 root root 38779 May 15 20:51
> /var/lib/cassandra/data/blotter/twitter_users/twitter_users.json
> -rw-r--r-- 1 root root 38779 May 15 20:51
> /var/lib/cassandra/data/blotter/twitter_users/twitter_users-old.json
> -rw-r--r-- 1 root root  1040 May 15 20:51
> /var/lib/cassandra/data/blotter/twitter_users/twitter_users.twitter_user_attributes_screenname_idx.json
> -rw-r--r-- 1 root root  1046 May 15 20:50
> /var/lib/cassandra/data/blotter/twitter_users/twitter_users.twitter_user_attributes_screenname_idx-old.json
>
>
> The other column families which are not using Leveled Compaction seem to
> have their snapshots created successfully.
>
> Any ideas other than turning off Leveled Compaction?
>
>
> Thanks,
>
> Brian
>
>
>
>

Reply via email to