in lib/core/elastic_connector_actions.rb [579:603]
def update_doc_fields(index, id, doc = {}, seq_no = nil, primary_term = nil)
return if doc.empty?
update_args = {
:index => index,
:id => id,
:body => { :doc => doc },
:refresh => true,
:retry_on_conflict => 3
}
if seq_no && primary_term
update_args[:if_seq_no] = seq_no
update_args[:if_primary_term] = primary_term
update_args.delete(:retry_on_conflict)
end
begin
client.update(update_args)
rescue Elastic::Transport::Transport::Errors::Conflict
raise ConnectorVersionChangedError.new(id, seq_no, primary_term)
end
end