Commit d685633a authored by Kamil Trzciński's avatar Kamil Trzciński

Merge branch 'fix/sm/erase_old_trace' into 'master'

Use update_column than write_attribute and save

Closes #44366

See merge request gitlab-org/gitlab-ce!17861
parents 216ead60 301c4ef9
......@@ -328,8 +328,7 @@ module Ci
end
def erase_old_trace!
write_attribute(:trace, nil)
save
update_column(:trace, nil)
end
def needs_touch?
......
......@@ -510,6 +510,28 @@ describe Gitlab::Ci::Trace do
it_behaves_like 'source trace in database stays intact', error: ActiveRecord::RecordInvalid
end
context 'when there is a validation error on Ci::Build' do
before do
allow_any_instance_of(Ci::Build).to receive(:save).and_return(false)
allow_any_instance_of(Ci::Build).to receive_message_chain(:errors, :full_messages)
.and_return(%w[Error Error])
end
context "when erase old trace with 'save'" do
before do
build.send(:write_attribute, :trace, nil)
build.save
end
it 'old trace is not deleted' do
build.reload
expect(build.trace.raw).to eq(trace_content)
end
end
it_behaves_like 'archive trace in database'
end
end
end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment