Skip to content

Commit 303f4f6

Browse files
committed
remove downloader project resolver
1 parent 3690cd9 commit 303f4f6

File tree

3 files changed

+12
-43
lines changed

3 files changed

+12
-43
lines changed

modules/ingest-geoip/src/main/java/org/elasticsearch/ingest/geoip/GeoIpDownloader.java

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
import org.elasticsearch.client.internal.Client;
2020
import org.elasticsearch.cluster.block.ClusterBlockLevel;
2121
import org.elasticsearch.cluster.metadata.ProjectId;
22-
import org.elasticsearch.cluster.project.ProjectResolver;
2322
import org.elasticsearch.cluster.service.ClusterService;
2423
import org.elasticsearch.common.hash.MessageDigests;
2524
import org.elasticsearch.common.settings.Setting;
@@ -98,7 +97,6 @@ public class GeoIpDownloader extends AllocatedPersistentTask {
9897
private final Supplier<Boolean> atLeastOneGeoipProcessorSupplier;
9998

10099
private final ProjectId projectId;
101-
private final ProjectResolver projectResolver;
102100

103101
GeoIpDownloader(
104102
Client client,
@@ -115,11 +113,10 @@ public class GeoIpDownloader extends AllocatedPersistentTask {
115113
Supplier<TimeValue> pollIntervalSupplier,
116114
Supplier<Boolean> eagerDownloadSupplier,
117115
Supplier<Boolean> atLeastOneGeoipProcessorSupplier,
118-
ProjectId projectId,
119-
ProjectResolver projectResolver
116+
ProjectId projectId
120117
) {
121118
super(id, type, action, description, parentTask, headers);
122-
this.client = client;
119+
this.client = client.projectClient(projectId);
123120
this.httpClient = httpClient;
124121
this.clusterService = clusterService;
125122
this.threadPool = threadPool;
@@ -128,7 +125,6 @@ public class GeoIpDownloader extends AllocatedPersistentTask {
128125
this.eagerDownloadSupplier = eagerDownloadSupplier;
129126
this.atLeastOneGeoipProcessorSupplier = atLeastOneGeoipProcessorSupplier;
130127
this.projectId = projectId;
131-
this.projectResolver = projectResolver;
132128
}
133129

134130
void setState(GeoIpTaskState state) {
@@ -302,7 +298,6 @@ static byte[] getChunk(InputStream is) throws IOException {
302298
void runDownloader() {
303299
// by the time we reach here, the state will never be null
304300
assert state != null;
305-
assertProjectContext();
306301

307302
if (isCancelled() || isCompleted()) {
308303
return;
@@ -328,7 +323,6 @@ void runDownloader() {
328323
* scheduled run.
329324
*/
330325
public void requestReschedule() {
331-
assertProjectContext();
332326
if (isCancelled() || isCompleted()) {
333327
return;
334328
}
@@ -356,7 +350,6 @@ private void cleanDatabases() {
356350

357351
@Override
358352
protected void onCancelled() {
359-
assertProjectContext();
360353
if (scheduled != null) {
361354
scheduled.cancel();
362355
}
@@ -373,15 +366,4 @@ private void scheduleNextRun(TimeValue time) {
373366
scheduled = threadPool.schedule(this::runDownloader, time, threadPool.generic());
374367
}
375368
}
376-
377-
/**
378-
* This is to ensure the downloader is always executed with the correct project context.
379-
* The correct project id is required in the thread context so it is propagated to downstream
380-
* requests to modify the correct persistent task state.
381-
*/
382-
private void assertProjectContext() {
383-
assert projectResolver.getProjectId() != null;
384-
assert projectResolver.getProjectId().equals(projectId);
385-
}
386-
387369
}

modules/ingest-geoip/src/main/java/org/elasticsearch/ingest/geoip/GeoIpDownloaderTaskExecutor.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ protected GeoIpDownloader createTask(
191191
) {
192192
ProjectId projectId = projectResolver.getProjectId();
193193
return new GeoIpDownloader(
194-
client.projectClient(projectId),
194+
client,
195195
httpClient,
196196
clusterService,
197197
threadPool,
@@ -205,8 +205,7 @@ protected GeoIpDownloader createTask(
205205
() -> pollInterval,
206206
() -> eagerDownload,
207207
() -> atLeastOneGeoipProcessorByProject.getOrDefault(projectId, false),
208-
projectId,
209-
projectResolver
208+
projectId
210209
);
211210
}
212211

modules/ingest-geoip/src/test/java/org/elasticsearch/ingest/geoip/GeoIpDownloaderTests.java

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@
2727
import org.elasticsearch.cluster.block.ClusterBlocks;
2828
import org.elasticsearch.cluster.metadata.IndexMetadata;
2929
import org.elasticsearch.cluster.metadata.ProjectId;
30-
import org.elasticsearch.cluster.project.ProjectResolver;
31-
import org.elasticsearch.cluster.project.TestProjectResolvers;
3230
import org.elasticsearch.cluster.service.ClusterService;
3331
import org.elasticsearch.common.settings.ClusterSettings;
3432
import org.elasticsearch.common.settings.Settings;
@@ -89,12 +87,10 @@ public class GeoIpDownloaderTests extends ESTestCase {
8987
private MockClient client;
9088
private GeoIpDownloader geoIpDownloader;
9189
private ProjectId projectId;
92-
private ProjectResolver projectResolver;
9390

9491
@Before
9592
public void setup() throws IOException {
9693
projectId = randomProjectIdOrDefault();
97-
projectResolver = TestProjectResolvers.singleProject(projectId);
9894
httpClient = mock(HttpClient.class);
9995
when(httpClient.getBytes(anyString())).thenReturn("[]".getBytes(StandardCharsets.UTF_8));
10096
clusterService = mock(ClusterService.class);
@@ -132,8 +128,7 @@ public void setup() throws IOException {
132128
() -> GeoIpDownloaderTaskExecutor.POLL_INTERVAL_SETTING.getDefault(Settings.EMPTY),
133129
() -> GeoIpDownloaderTaskExecutor.EAGER_DOWNLOAD_SETTING.getDefault(Settings.EMPTY),
134130
() -> true,
135-
projectId,
136-
projectResolver
131+
projectId
137132
) {
138133
{
139134
GeoIpTaskParams geoIpTaskParams = mock(GeoIpTaskParams.class);
@@ -306,8 +301,7 @@ public void testProcessDatabaseNew() throws IOException {
306301
() -> GeoIpDownloaderTaskExecutor.POLL_INTERVAL_SETTING.getDefault(Settings.EMPTY),
307302
() -> GeoIpDownloaderTaskExecutor.EAGER_DOWNLOAD_SETTING.getDefault(Settings.EMPTY),
308303
() -> true,
309-
projectId,
310-
projectResolver
304+
projectId
311305
) {
312306
@Override
313307
protected void updateTimestamp(String name, GeoIpTaskState.Metadata metadata) {
@@ -359,8 +353,7 @@ public void testProcessDatabaseUpdate() throws IOException {
359353
() -> GeoIpDownloaderTaskExecutor.POLL_INTERVAL_SETTING.getDefault(Settings.EMPTY),
360354
() -> GeoIpDownloaderTaskExecutor.EAGER_DOWNLOAD_SETTING.getDefault(Settings.EMPTY),
361355
() -> true,
362-
projectId,
363-
projectResolver
356+
projectId
364357
) {
365358
@Override
366359
protected void updateTimestamp(String name, GeoIpTaskState.Metadata metadata) {
@@ -414,8 +407,7 @@ public void testProcessDatabaseSame() throws IOException {
414407
() -> GeoIpDownloaderTaskExecutor.POLL_INTERVAL_SETTING.getDefault(Settings.EMPTY),
415408
() -> GeoIpDownloaderTaskExecutor.EAGER_DOWNLOAD_SETTING.getDefault(Settings.EMPTY),
416409
() -> true,
417-
projectId,
418-
projectResolver
410+
projectId
419411
) {
420412
@Override
421413
protected void updateTimestamp(String name, GeoIpTaskState.Metadata newMetadata) {
@@ -466,8 +458,7 @@ public void testCleanDatabases() throws IOException {
466458
() -> GeoIpDownloaderTaskExecutor.POLL_INTERVAL_SETTING.getDefault(Settings.EMPTY),
467459
() -> GeoIpDownloaderTaskExecutor.EAGER_DOWNLOAD_SETTING.getDefault(Settings.EMPTY),
468460
() -> true,
469-
projectId,
470-
projectResolver
461+
projectId
471462
) {
472463
@Override
473464
void updateDatabases() throws IOException {
@@ -513,8 +504,7 @@ public void testUpdateTaskState() {
513504
() -> GeoIpDownloaderTaskExecutor.POLL_INTERVAL_SETTING.getDefault(Settings.EMPTY),
514505
() -> GeoIpDownloaderTaskExecutor.EAGER_DOWNLOAD_SETTING.getDefault(Settings.EMPTY),
515506
() -> true,
516-
projectId,
517-
projectResolver
507+
projectId
518508
) {
519509
@Override
520510
public void updatePersistentTaskState(PersistentTaskState state, ActionListener<PersistentTask<?>> listener) {
@@ -545,8 +535,7 @@ public void testUpdateTaskStateError() {
545535
() -> GeoIpDownloaderTaskExecutor.POLL_INTERVAL_SETTING.getDefault(Settings.EMPTY),
546536
() -> GeoIpDownloaderTaskExecutor.EAGER_DOWNLOAD_SETTING.getDefault(Settings.EMPTY),
547537
() -> true,
548-
projectId,
549-
projectResolver
538+
projectId
550539
) {
551540
@Override
552541
public void updatePersistentTaskState(PersistentTaskState state, ActionListener<PersistentTask<?>> listener) {
@@ -588,8 +577,7 @@ public void testUpdateDatabases() throws IOException {
588577
() -> GeoIpDownloaderTaskExecutor.POLL_INTERVAL_SETTING.getDefault(Settings.EMPTY),
589578
() -> GeoIpDownloaderTaskExecutor.EAGER_DOWNLOAD_SETTING.getDefault(Settings.EMPTY),
590579
atLeastOneGeoipProcessor::get,
591-
projectId,
592-
projectResolver
580+
projectId
593581
) {
594582
@Override
595583
void processDatabase(Map<String, Object> databaseInfo) {

0 commit comments

Comments
 (0)