Skip to content

Commit 599c3da

Browse files
authored
Merge pull request apache#4770 from apache/nouveau-index-ordering-bugfix
fix nouveau index updating ordering
2 parents e9135ac + b4f3ca5 commit 599c3da

File tree

2 files changed

+23
-18
lines changed

2 files changed

+23
-18
lines changed

src/nouveau/src/nouveau_api.erl

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@
2424
delete_path/1,
2525
delete_path/2,
2626
delete_doc_async/5,
27-
purge_doc/4,
27+
purge_doc/5,
2828
update_doc_async/7,
2929
search/2,
30-
set_purge_seq/3,
31-
set_update_seq/3,
30+
set_purge_seq/4,
31+
set_update_seq/4,
3232
drain_async_responses/2,
3333
jaxrs_error/2
3434
]).
@@ -119,12 +119,17 @@ delete_doc_async(ConnPid, #index{} = Index, DocId, MatchSeq, UpdateSeq) when
119119
]
120120
).
121121

122-
purge_doc(#index{} = Index, DocId, MatchSeq, PurgeSeq) when
123-
is_binary(DocId), is_integer(MatchSeq), MatchSeq >= 0, is_integer(PurgeSeq), PurgeSeq > 0
122+
purge_doc(ConnPid, #index{} = Index, DocId, MatchSeq, PurgeSeq) when
123+
is_pid(ConnPid),
124+
is_binary(DocId),
125+
is_integer(MatchSeq),
126+
MatchSeq >= 0,
127+
is_integer(PurgeSeq),
128+
PurgeSeq > 0
124129
->
125130
ReqBody = #{match_seq => MatchSeq, seq => PurgeSeq, purge => true},
126-
Resp = send_if_enabled(
127-
doc_url(Index, DocId), [?JSON_CONTENT_TYPE], delete, jiffy:encode(ReqBody)
131+
Resp = send_direct_if_enabled(
132+
ConnPid, doc_url(Index, DocId), [?JSON_CONTENT_TYPE], delete, jiffy:encode(ReqBody), []
128133
),
129134
case Resp of
130135
{ok, "204", _, _} ->
@@ -175,22 +180,22 @@ search(#index{} = Index, QueryArgs) ->
175180
send_error(Reason)
176181
end.
177182

178-
set_update_seq(#index{} = Index, MatchSeq, UpdateSeq) ->
183+
set_update_seq(ConnPid, #index{} = Index, MatchSeq, UpdateSeq) ->
179184
ReqBody = #{
180185
match_update_seq => MatchSeq,
181186
update_seq => UpdateSeq
182187
},
183-
set_seq(Index, ReqBody).
184-
set_purge_seq(#index{} = Index, MatchSeq, PurgeSeq) ->
188+
set_seq(ConnPid, Index, ReqBody).
189+
set_purge_seq(ConnPid, #index{} = Index, MatchSeq, PurgeSeq) ->
185190
ReqBody = #{
186191
match_purge_seq => MatchSeq,
187192
purge_seq => PurgeSeq
188193
},
189-
set_seq(Index, ReqBody).
194+
set_seq(ConnPid, Index, ReqBody).
190195

191-
set_seq(#index{} = Index, ReqBody) ->
192-
Resp = send_if_enabled(
193-
index_url(Index), [?JSON_CONTENT_TYPE], post, jiffy:encode(ReqBody)
196+
set_seq(ConnPid, #index{} = Index, ReqBody) ->
197+
Resp = send_direct_if_enabled(
198+
ConnPid, index_url(Index), [?JSON_CONTENT_TYPE], post, jiffy:encode(ReqBody), []
194199
),
195200
case Resp of
196201
{ok, "204", _, _} ->

src/nouveau/src/nouveau_index_updater.erl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -107,9 +107,9 @@ update(#index{} = Index) ->
107107
Db, Acc0#acc.update_seq, fun load_docs/2, Acc0, []
108108
),
109109
nouveau_api:drain_async_responses(Acc1#acc.reqids, 0),
110-
ibrowse:stop_worker_process(ConnPid),
111-
exit(nouveau_api:set_update_seq(Index, Acc1#acc.update_seq, NewCurSeq))
110+
exit(nouveau_api:set_update_seq(ConnPid, Index, Acc1#acc.update_seq, NewCurSeq))
112111
after
112+
ibrowse:stop_worker_process(ConnPid),
113113
ret_os_process(Proc)
114114
end
115115
end
@@ -232,7 +232,7 @@ purge_index(ConnPid, Db, Index, #purge_acc{} = PurgeAcc0) ->
232232
case couch_db:get_full_doc_info(Db, Id) of
233233
not_found ->
234234
ok = nouveau_api:purge_doc(
235-
Index, Id, PurgeAcc1#purge_acc.index_purge_seq, PurgeSeq
235+
ConnPid, Index, Id, PurgeAcc1#purge_acc.index_purge_seq, PurgeSeq
236236
),
237237
PurgeAcc1#purge_acc{index_purge_seq = PurgeSeq};
238238
FDI ->
@@ -265,7 +265,7 @@ purge_index(ConnPid, Db, Index, #purge_acc{} = PurgeAcc0) ->
265265
),
266266
DbPurgeSeq = couch_db:get_purge_seq(Db),
267267
ok = nouveau_api:set_purge_seq(
268-
Index, PurgeAcc3#purge_acc.index_purge_seq, DbPurgeSeq
268+
ConnPid, Index, PurgeAcc3#purge_acc.index_purge_seq, DbPurgeSeq
269269
),
270270
update_local_doc(Db, Index, DbPurgeSeq),
271271
{ok, PurgeAcc3}

0 commit comments

Comments
 (0)