Skip to content

Commit 2c3d38b

Browse files
committed
Use releaseBefore
1 parent 474e29f commit 2c3d38b

File tree

1 file changed

+10
-18
lines changed

1 file changed

+10
-18
lines changed

server/src/main/java/org/elasticsearch/action/bulk/TransportShardBulkAction.java

Lines changed: 10 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@
4141
import org.elasticsearch.common.settings.Settings;
4242
import org.elasticsearch.common.xcontent.XContentHelper;
4343
import org.elasticsearch.core.Nullable;
44-
import org.elasticsearch.core.Releasables;
4544
import org.elasticsearch.core.Strings;
4645
import org.elasticsearch.core.TimeValue;
4746
import org.elasticsearch.core.Tuple;
@@ -171,15 +170,13 @@ protected void dispatchedShardOperationOnPrimary(
171170
IndexShard primary,
172171
ActionListener<PrimaryResult<BulkShardRequest, BulkShardResponse>> outerListener
173172
) {
174-
var primaryOperationExpansionReleasable = indexingPressure.trackPrimaryOperationExpansion(
175-
primaryOperationCount(request),
176-
getMaxOperationMemoryOverhead(request),
177-
force(request)
178-
);
179-
// Ensure that we release the accounted memory for document expansion as soon as we're done processing the operations.
180-
var listener = ActionListener.runBefore(
181-
outerListener,
182-
() -> Releasables.closeExpectNoException(primaryOperationExpansionReleasable)
173+
var listener = ActionListener.releaseBefore(
174+
indexingPressure.trackPrimaryOperationExpansion(
175+
primaryOperationCount(request),
176+
getMaxOperationMemoryOverhead(request),
177+
force(request)
178+
),
179+
outerListener
183180
);
184181
ClusterStateObserver observer = new ClusterStateObserver(clusterService, request.timeout(), logger, threadPool.getThreadContext());
185182
performOnPrimary(request, primary, updateHelper, threadPool::absoluteTimeInMillis, (update, shardId, mappingListener) -> {
@@ -671,14 +668,9 @@ protected void dispatchedShardOperationOnReplica(
671668
IndexShard replica,
672669
ActionListener<ReplicaResult> outerListener
673670
) {
674-
var replicaOperationExpansionReleasable = indexingPressure.trackReplicaOperationExpansion(
675-
getMaxOperationMemoryOverhead(request),
676-
force(request)
677-
);
678-
// Ensure that we release the accounted memory for document expansion as soon as we're done processing the operations.
679-
var listener = ActionListener.runBefore(
680-
outerListener,
681-
() -> Releasables.closeExpectNoException(replicaOperationExpansionReleasable)
671+
var listener = ActionListener.releaseBefore(
672+
indexingPressure.trackReplicaOperationExpansion(getMaxOperationMemoryOverhead(request), force(request)),
673+
outerListener
682674
);
683675
ActionListener.completeWith(listener, () -> {
684676
final long startBulkTime = System.nanoTime();

0 commit comments

Comments
 (0)