Stop inlining Attribute writer BatchUpdateTask and BatchRemoveTask destructors.
@@ -247,6 +247,7 @@ struct BatchUpdateTask : public vespalib::Executor::Task {
_immediateCommit(immediateCommit),
_onWriteDone()
{ }
+ ~BatchUpdateTask() override;
void run() override {
if (_immediateCommit) {
@@ -267,6 +268,8 @@ struct BatchUpdateTask : public vespalib::Executor::Task {
search::IDestructorCallback::SP _onWriteDone;
};
+BatchUpdateTask::~BatchUpdateTask() = default;
+
class FieldContext
{
vespalib::string _name;
@@ -507,7 +510,7 @@ public:
_immediateCommit(immediateCommit),
_onWriteDone(onWriteDone)
{}
- ~BatchRemoveTask() override = default;
+ ~BatchRemoveTask() override;
void run() override {
for (auto field : _writeCtx.getFields()) {
auto &attr = field.getAttribute();
@@ -523,6 +526,8 @@ public:
}
};
+BatchRemoveTask::~BatchRemoveTask() = default;
+
class CommitTask : public vespalib::Executor::Task
{
const AttributeWriter::WriteContext &_wc;
