Skip to content

Commit 1d6c24f

Browse files
committed
Remove entity specific reindexing check on scheduled job, check if any reindex is running for tenant
1 parent a125ba7 commit 1d6c24f

File tree

4 files changed

+17
-19
lines changed

4 files changed

+17
-19
lines changed

src/main/java/org/folio/search/service/reindex/ReindexStatusService.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -109,15 +109,13 @@ public boolean isMergeCompleted() {
109109
}
110110

111111
/**
112-
* Checks if a reindex operation for a specific entity type is currently in progress or has failed.
112+
* Checks if any reindex operation is currently in progress or has failed.
113113
*
114-
* @param entityType the entity type to check
115-
* @return true if the given entity type has a status of MERGE_IN_PROGRESS, UPLOAD_IN_PROGRESS,
114+
* @return true if any entity type has a status of MERGE_IN_PROGRESS, UPLOAD_IN_PROGRESS,
116115
* MERGE_FAILED, or UPLOAD_FAILED
117116
*/
118-
public boolean isReindexInProgressOrFailed(ReindexEntityType entityType) {
117+
public boolean isReindexInProgressOrFailed() {
119118
return statusRepository.getReindexStatuses().stream()
120-
.filter(status -> status.getEntityType() == entityType)
121119
.anyMatch(status -> status.getStatus() == ReindexStatus.MERGE_IN_PROGRESS
122120
|| status.getStatus() == ReindexStatus.UPLOAD_IN_PROGRESS
123121
|| status.getStatus() == ReindexStatus.MERGE_FAILED

src/main/java/org/folio/search/service/scheduled/ScheduledInstanceSubResourcesService.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ private void processEntityTypeWithLock(ReindexEntityType entityType, String tena
119119
}
120120

121121
private void handleLockAcquisitionFailure(ReindexEntityType entityType, String tenant) {
122-
if (isReindexInProgressOrFailed(entityType)) {
122+
if (isReindexInProgressOrFailed()) {
123123
log.info(
124124
"persistChildren::Skipping stale lock check for entity type {} in tenant {} - reindex is in progress or failed",
125125
entityType, tenant);
@@ -133,9 +133,9 @@ private void handleLockAcquisitionFailure(ReindexEntityType entityType, String t
133133
}
134134
}
135135

136-
private boolean isReindexInProgressOrFailed(ReindexEntityType entityType) {
136+
private boolean isReindexInProgressOrFailed() {
137137
try {
138-
return reindexStatusService.isReindexInProgressOrFailed(entityType);
138+
return reindexStatusService.isReindexInProgressOrFailed();
139139
} catch (Exception e) {
140140
log.warn("persistChildren::Failed to check reindex status, assuming no reindex in progress or failed", e);
141141
return false;

src/test/java/org/folio/search/service/reindex/ReindexStatusServiceTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ void isReindexInProgressOrFailed_trueWhenMergeInProgress() {
188188
new ReindexStatusEntity(ReindexEntityType.HOLDINGS, ReindexStatus.MERGE_COMPLETED)));
189189

190190
// act
191-
var actual = service.isReindexInProgressOrFailed(ReindexEntityType.INSTANCE);
191+
var actual = service.isReindexInProgressOrFailed();
192192

193193
// assert
194194
assertThat(actual).isTrue();
@@ -202,7 +202,7 @@ void isReindexInProgressOrFailed_trueWhenUploadInProgress() {
202202
new ReindexStatusEntity(ReindexEntityType.HOLDINGS, ReindexStatus.MERGE_COMPLETED)));
203203

204204
// act
205-
var actual = service.isReindexInProgressOrFailed(ReindexEntityType.INSTANCE);
205+
var actual = service.isReindexInProgressOrFailed();
206206

207207
// assert
208208
assertThat(actual).isTrue();
@@ -216,7 +216,7 @@ void isReindexInProgressOrFailed_trueWhenMergeFailed() {
216216
new ReindexStatusEntity(ReindexEntityType.HOLDINGS, ReindexStatus.MERGE_COMPLETED)));
217217

218218
// act
219-
var actual = service.isReindexInProgressOrFailed(ReindexEntityType.INSTANCE);
219+
var actual = service.isReindexInProgressOrFailed();
220220

221221
// assert
222222
assertThat(actual).isTrue();
@@ -230,7 +230,7 @@ void isReindexInProgressOrFailed_trueWhenUploadFailed() {
230230
new ReindexStatusEntity(ReindexEntityType.HOLDINGS, ReindexStatus.MERGE_COMPLETED)));
231231

232232
// act
233-
var actual = service.isReindexInProgressOrFailed(ReindexEntityType.INSTANCE);
233+
var actual = service.isReindexInProgressOrFailed();
234234

235235
// assert
236236
assertThat(actual).isTrue();
@@ -244,7 +244,7 @@ void isReindexInProgressOrFailed_falseWhenCompleted() {
244244
new ReindexStatusEntity(ReindexEntityType.HOLDINGS, ReindexStatus.MERGE_COMPLETED)));
245245

246246
// act
247-
var actual = service.isReindexInProgressOrFailed(ReindexEntityType.INSTANCE);
247+
var actual = service.isReindexInProgressOrFailed();
248248

249249
// assert
250250
assertThat(actual).isFalse();

src/test/java/org/folio/search/service/scheduled/ScheduledInstanceSubResourcesServiceTest.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -182,15 +182,15 @@ void persistChildren_ShouldReleaseStaleLockWhenLockAcquisitionFails() {
182182
.when(executionService).executeSystemUserScoped(anyString(), any());
183183
when(tenantRepository.fetchDataTenantIds()).thenReturn(List.of(TENANT_ID));
184184
when(subResourcesLockRepository.lockSubResource(any(), eq(TENANT_ID))).thenReturn(Optional.empty());
185-
when(reindexStatusService.isReindexInProgressOrFailed(any())).thenReturn(false);
185+
when(reindexStatusService.isReindexInProgressOrFailed()).thenReturn(false);
186186
when(subResourcesLockRepository.checkAndReleaseStaleLock(any(), eq(TENANT_ID), anyLong())).thenReturn(true);
187187

188188
// Act
189189
service.persistChildren();
190190

191191
// Assert
192192
verify(subResourcesLockRepository, times(3)).lockSubResource(any(), eq(TENANT_ID));
193-
verify(reindexStatusService, times(3)).isReindexInProgressOrFailed(any());
193+
verify(reindexStatusService, times(3)).isReindexInProgressOrFailed();
194194
verify(subResourcesLockRepository, times(3)).checkAndReleaseStaleLock(any(), eq(TENANT_ID), anyLong());
195195
verify(subResourcesLockRepository, never()).unlockSubResource(any(), any(), any());
196196
verify(subjectRepository, never()).fetchByTimestamp(anyString(), any(), anyInt());
@@ -204,15 +204,15 @@ void persistChildren_ShouldNotProcessWhenLockFailsAndNoStaleLock() {
204204
.when(executionService).executeSystemUserScoped(anyString(), any());
205205
when(tenantRepository.fetchDataTenantIds()).thenReturn(List.of(TENANT_ID));
206206
when(subResourcesLockRepository.lockSubResource(any(), eq(TENANT_ID))).thenReturn(Optional.empty());
207-
when(reindexStatusService.isReindexInProgressOrFailed(any())).thenReturn(false);
207+
when(reindexStatusService.isReindexInProgressOrFailed()).thenReturn(false);
208208
when(subResourcesLockRepository.checkAndReleaseStaleLock(any(), eq(TENANT_ID), anyLong())).thenReturn(false);
209209

210210
// Act
211211
service.persistChildren();
212212

213213
// Assert
214214
verify(subResourcesLockRepository, times(3)).lockSubResource(any(), eq(TENANT_ID));
215-
verify(reindexStatusService, times(3)).isReindexInProgressOrFailed(any());
215+
verify(reindexStatusService, times(3)).isReindexInProgressOrFailed();
216216
verify(subResourcesLockRepository, times(3)).checkAndReleaseStaleLock(any(), eq(TENANT_ID), anyLong());
217217
verify(subResourcesLockRepository, never()).unlockSubResource(any(), any(), any());
218218
verify(subjectRepository, never()).fetchByTimestamp(anyString(), any(), anyInt());
@@ -226,14 +226,14 @@ void persistChildren_ShouldSkipStaleLockCheckWhenReindexInProgress() {
226226
.when(executionService).executeSystemUserScoped(anyString(), any());
227227
when(tenantRepository.fetchDataTenantIds()).thenReturn(List.of(TENANT_ID));
228228
when(subResourcesLockRepository.lockSubResource(any(), eq(TENANT_ID))).thenReturn(Optional.empty());
229-
when(reindexStatusService.isReindexInProgressOrFailed(any())).thenReturn(true);
229+
when(reindexStatusService.isReindexInProgressOrFailed()).thenReturn(true);
230230

231231
// Act
232232
service.persistChildren();
233233

234234
// Assert
235235
verify(subResourcesLockRepository, times(3)).lockSubResource(any(), eq(TENANT_ID));
236-
verify(reindexStatusService, times(3)).isReindexInProgressOrFailed(any());
236+
verify(reindexStatusService, times(3)).isReindexInProgressOrFailed();
237237
verify(subResourcesLockRepository, never()).checkAndReleaseStaleLock(any(), any(), anyLong());
238238
verify(subResourcesLockRepository, never()).unlockSubResource(any(), any(), any());
239239
verify(subjectRepository, never()).fetchByTimestamp(anyString(), any(), anyInt());

0 commit comments

Comments
 (0)