You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jonathan Ellis (Updated) (JIRA)" <ji...@apache.org> on 2012/01/13 00:27:41 UTC

[jira] [Updated] (CASSANDRA-3735) Fix "Unable to create hard link" SSTableReaderTest error messages

     [ https://issues.apache.org/jira/browse/CASSANDRA-3735?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-3735:
--------------------------------------

    Attachment: 0002-remove-incremental-backups-before-reloading-sstables.patch
                0001-fix-generation-update-in-loadNewSSTables.patch

Two parts:

first makes it so loadNewSSTables won't reset sstable generation to a lower value than it currently is.

second removes the (hard linked) sstables from the incremental backups directory, so that when loadNewSSTables links them back in they won't conflict.

patch 2 doesn't actually work on Windows because something is keeping the Data component open.  Java6 just says "delete failed;" java7's Files.delete says "java.nio.file.FileSystemException: build\test\cassandra\data\Keyspace1\backups\Standard1-hc-1-Data.db: The process cannot access the file because it is being used by another process."

I'm guessing it's counting something (what?) that opened the original Data, towards the link entry as well.  But, this should be enough to make the messages go away on Linux, which takes a more permissive view of deleting files opened elsewhere.
                
> Fix "Unable to create hard link" SSTableReaderTest error messages
> -----------------------------------------------------------------
>
>                 Key: CASSANDRA-3735
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3735
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Jonathan Ellis
>            Priority: Minor
>         Attachments: 0001-fix-generation-update-in-loadNewSSTables.patch, 0002-remove-incremental-backups-before-reloading-sstables.patch
>
>
> Sample failure (on Windows):
> {noformat}
>     [junit] java.io.IOException: Exception while executing the command: cmd /c mklink /H C:\Users\Jonathan\projects\cassandra\git\build\test\cassandra\data\Keyspace1\backups\Standard1-hc-1-Index.db c:\Users\Jonathan\projects\cassandra\git\build\test\cassandra\data\Keyspace1\Standard1-hc-1-Index.db,command error Code: 1, command output: Cannot create a file when that file already exists.
>     [junit]
>     [junit]     at org.apache.cassandra.utils.CLibrary.exec(CLibrary.java:213)
>     [junit]     at org.apache.cassandra.utils.CLibrary.createHardLinkWithExec(CLibrary.java:188)
>     [junit]     at org.apache.cassandra.utils.CLibrary.createHardLink(CLibrary.java:151)
>     [junit]     at org.apache.cassandra.io.sstable.SSTableReader.createLinks(SSTableReader.java:833)
>     [junit]     at org.apache.cassandra.db.DataTracker$1.runMayThrow(DataTracker.java:161)
>     [junit]     at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30)
>     [junit]     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>     [junit]     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>     [junit]     at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>     [junit]     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
>     [junit]     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)
>     [junit]     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>     [junit]     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>     [junit]     at java.lang.Thread.run(Thread.java:662)
>     [junit] ERROR 17:10:17,111 Fatal exception in thread Thread[NonPeriodicTasks:1,5,main]
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira