@@ -194,30 +194,26 @@ public RetentionLeases getRetentionLeases() {
194
194
*
195
195
* @return a tuple indicating whether or not any retention leases were expired, and the non-expired retention leases
196
196
*/
197
- public Tuple <Boolean , RetentionLeases > getRetentionLeases (final boolean expireLeases ) {
198
- final RetentionLeases nonExpiredRetentionLeases ;
199
- synchronized (this ) {
200
- if (expireLeases == false ) {
201
- return Tuple .tuple (false , retentionLeases );
202
- }
203
- assert primaryMode ;
204
- // the primary calculates the non-expired retention leases and syncs them to replicas
205
- final long currentTimeMillis = currentTimeMillisSupplier .getAsLong ();
206
- final long retentionLeaseMillis = indexSettings .getRetentionLeaseMillis ();
207
- final Map <Boolean , List <RetentionLease >> partitionByExpiration = retentionLeases
208
- .leases ()
209
- .stream ()
210
- .collect (Collectors .groupingBy (lease -> currentTimeMillis - lease .timestamp () > retentionLeaseMillis ));
211
- if (partitionByExpiration .get (true ) == null ) {
212
- // early out as no retention leases have expired
213
- return Tuple .tuple (false , retentionLeases );
214
- }
215
- final Collection <RetentionLease > nonExpiredLeases =
216
- partitionByExpiration .get (false ) != null ? partitionByExpiration .get (false ) : Collections .emptyList ();
217
- retentionLeases = new RetentionLeases (operationPrimaryTerm , retentionLeases .version () + 1 , nonExpiredLeases );
218
- nonExpiredRetentionLeases = retentionLeases ;
197
+ public synchronized Tuple <Boolean , RetentionLeases > getRetentionLeases (final boolean expireLeases ) {
198
+ if (expireLeases == false ) {
199
+ return Tuple .tuple (false , retentionLeases );
200
+ }
201
+ assert primaryMode ;
202
+ // the primary calculates the non-expired retention leases and syncs them to replicas
203
+ final long currentTimeMillis = currentTimeMillisSupplier .getAsLong ();
204
+ final long retentionLeaseMillis = indexSettings .getRetentionLeaseMillis ();
205
+ final Map <Boolean , List <RetentionLease >> partitionByExpiration = retentionLeases
206
+ .leases ()
207
+ .stream ()
208
+ .collect (Collectors .groupingBy (lease -> currentTimeMillis - lease .timestamp () > retentionLeaseMillis ));
209
+ if (partitionByExpiration .get (true ) == null ) {
210
+ // early out as no retention leases have expired
211
+ return Tuple .tuple (false , retentionLeases );
219
212
}
220
- return Tuple .tuple (true , nonExpiredRetentionLeases );
213
+ final Collection <RetentionLease > nonExpiredLeases =
214
+ partitionByExpiration .get (false ) != null ? partitionByExpiration .get (false ) : Collections .emptyList ();
215
+ retentionLeases = new RetentionLeases (operationPrimaryTerm , retentionLeases .version () + 1 , nonExpiredLeases );
216
+ return Tuple .tuple (true , retentionLeases );
221
217
}
222
218
223
219
/**
0 commit comments