diff --git a/alternator/executor.cc b/alternator/executor.cc index f15f160840..dc726680a1 100644 --- a/alternator/executor.cc +++ b/alternator/executor.cc @@ -297,7 +297,10 @@ future executor::put_item(sstring content) { elogger.warn("Applying mutation {}", m); return _proxy.mutate(std::vector{std::move(m)}, db::consistency_level::QUORUM, db::no_timeout, tracing::trace_state_ptr()).then([] () { - return make_ready_future("{}"); + // The Boto3 gets confused if we return just an empty structure {}, + // thinking it isn't JSON at all. I don't know why, but putting an + // empty Attributes field in the result solves the problem. + return make_ready_future("{ \"Attributes\": {} }"); }); }