Skip to content
Draft
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion plugins/Jobs.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -121,8 +121,15 @@ bool BedrockJobsCommand::peek(SQLite& db)
{
const string& requestVerb = request.getVerb();

// Jobs commands can only crash if they look identical.
// Jobs commands can only crash if they look identical. We key the crash blacklist on the
// semantically meaningful request fields, but exclude volatile, per-request fields that are
// never identical across two requests (e.g. `requestID`). Including them would make the
// blacklist entry impossible to match, rendering the poison-pill protection a no-op.
Comment thread
cead22 marked this conversation as resolved.
Outdated
static const set<string, STableComp> volatileFields = {"requestID", "ID", "lastIP", "_source"};
for (const auto& name : request.nameValueMap) {
if (volatileFields.count(name.first)) {
continue;
}
crashIdentifyingValues.insert(name.first);
}

Expand Down
Loading