incubator-couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mark Hammond (JIRA)" <j...@apache.org>
Subject [jira] Commented: (COUCHDB-86) (CouchDB on Windows) compaction can not be done.
Date Thu, 04 Feb 2010 06:12:28 GMT

    [ https://issues.apache.org/jira/browse/COUCHDB-86?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12829470#action_12829470
] 

Mark Hammond commented on COUCHDB-86:
-------------------------------------

> If there are any Windows devs with Erlang experience out there, 
> help would definitely be appreciated on this one.

It sounds like you are after help in making the Windows file-system act like a *nix one, but
I fear that is not possible.  FILE_SHARE_DELETE isn't an option as although the DB can be
deleted, it still can't be recreated - leaving us in exactly the same position.

I believe we need someone with enough understanding of couchdb to propose and (help) implement
 how couchdb could perform these operations given the characteristics of the file-system -
it is only then a windows dev can help.  As Paul noted in the past, COUCHDB-67 is such an
idea (but as Juhani mentioned, that isn't getting traction)

> (CouchDB on Windows) compaction can not be done.
> ------------------------------------------------
>
>                 Key: COUCHDB-86
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-86
>             Project: CouchDB
>          Issue Type: Bug
>          Components: Build System
>    Affects Versions: 0.8
>         Environment: Windows XP,    Erlang/OTP R12B-3
>            Reporter: Li Zhengji
>            Assignee: Paul Joseph Davis
>            Priority: Blocker
>             Fix For: 1.0
>
>   Original Estimate: 5h
>  Remaining Estimate: 5h
>
> During compacting, rename the current DB file to a .old file is not allowed on Windows.
> A possible workaround for this could be: 
> 1. Close current DB file (.couch);
> 2. Send db_updated to update to use .compact;
> 3. After 5sec, delete the .couch file;  ---- This is done in a linked process, after
that, this process send a message to update_loop;
> 4. After received the message in update_loop, close current DB file which is a .compact
file, then rename it to .couch;
> 5. Finally, db_updated again to use this new .couch file.
> Maybe, there would be a "pause" in service?

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


Mime
View raw message