diff options
author | Robert Dionne <bob@cloudant.com> | 2010-11-22 19:48:29 -0500 |
---|---|---|
committer | Adam Kocoloski <adam@cloudant.com> | 2010-12-09 15:30:03 -0500 |
commit | ab65f7b8add60ac0a6f9baac25d770ca8297a7a5 (patch) | |
tree | 6e76b6429eb6f26cc23b4cff59b14110b3d3d366 /apps/couch/src/couch_view_group.erl | |
parent | 5c3161d57b1d2d7953497c24be09112b6bcf71b6 (diff) |
Support per-shard view compaction w/ non-local design docs, closes #16
Diffstat (limited to 'apps/couch/src/couch_view_group.erl')
-rw-r--r-- | apps/couch/src/couch_view_group.erl | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/apps/couch/src/couch_view_group.erl b/apps/couch/src/couch_view_group.erl index 8b79af63..377e7516 100644 --- a/apps/couch/src/couch_view_group.erl +++ b/apps/couch/src/couch_view_group.erl @@ -440,17 +440,13 @@ set_view_sig(#group{ G#group{sig=couch_util:md5(term_to_binary({Views, Language, DesignOptions}))}. open_db_group(DbName, GroupId) -> - case couch_db:open_int(DbName, []) of - {ok, Db} -> - case couch_db:open_doc(Db, GroupId) of - {ok, Doc} -> - {ok, Db, design_doc_to_view_group(Doc)}; - Else -> - couch_db:close(Db), - Else - end; - Else -> - Else + {Pid, Ref} = spawn_monitor(fun() -> + exit(fabric:open_doc(mem3:dbname(DbName), GroupId, [])) + end), + receive {'DOWN', Ref, process, Pid, {ok, Doc}} -> + {ok, design_doc_to_view_group(Doc)}; + {'DOWN', Ref, process, Pid, Error} -> + Error end. get_group_info(State) -> |