Skip to content

Commit 1aa4ef1

Browse files
authored
Merge branch 'master' into ibodrov-patch-1
2 parents 317f2cb + eeae92e commit 1aa4ef1

File tree

125 files changed

+1723
-778
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

125 files changed

+1723
-778
lines changed

agent/src/main/java/com/walmartlabs/concord/agent/Agent.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
import com.walmartlabs.concord.agent.mmode.MaintenanceModeListener;
3030
import com.walmartlabs.concord.agent.mmode.MaintenanceModeNotifier;
3131
import com.walmartlabs.concord.client2.ProcessEntry.StatusEnum;
32-
import com.walmartlabs.concord.common.IOUtils;
32+
import com.walmartlabs.concord.common.PathUtils;
3333
import com.walmartlabs.concord.server.queueclient.QueueClient;
3434
import com.walmartlabs.concord.server.queueclient.message.ProcessRequest;
3535
import com.walmartlabs.concord.server.queueclient.message.ProcessResponse;
@@ -235,7 +235,7 @@ private JobRequest take(QueueClient queueClient) throws Exception {
235235
return null;
236236
}
237237

238-
Path workDir = IOUtils.createTempDir(agentCfg.getPayloadDir(), "workDir");
238+
Path workDir = PathUtils.createTempDir(agentCfg.getPayloadDir(), "workDir");
239239

240240
return JobRequest.from(resp, workDir);
241241
}

agent/src/main/java/com/walmartlabs/concord/agent/DefaultStateFetcher.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
import com.walmartlabs.concord.client2.ClientUtils;
2424
import com.walmartlabs.concord.client2.ProcessApi;
25-
import com.walmartlabs.concord.common.IOUtils;
25+
import com.walmartlabs.concord.common.ZipUtils;
2626

2727
import javax.inject.Inject;
2828
import java.io.InputStream;
@@ -40,7 +40,7 @@ public DefaultStateFetcher(ProcessApi processApi) {
4040
@Override
4141
public void downloadState(JobRequest job) throws Exception {
4242
try (InputStream is = ClientUtils.withRetry(AgentConstants.API_CALL_MAX_RETRIES, AgentConstants.API_CALL_RETRY_DELAY, () -> processApi.downloadState(job.getInstanceId()))){
43-
IOUtils.unzip(is, job.getPayloadDir(), StandardCopyOption.REPLACE_EXISTING);
43+
ZipUtils.unzip(is, job.getPayloadDir(), StandardCopyOption.REPLACE_EXISTING);
4444
}
4545
}
4646
}

agent/src/main/java/com/walmartlabs/concord/agent/OneShotRunner.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
import com.google.inject.Injector;
2525
import com.walmartlabs.concord.agent.cfg.AgentConfiguration;
2626
import com.walmartlabs.concord.agent.guice.WorkerModule;
27-
import com.walmartlabs.concord.common.IOUtils;
27+
import com.walmartlabs.concord.common.PathUtils;
2828
import com.walmartlabs.concord.server.queueclient.message.ProcessResponse;
2929

3030
import javax.inject.Inject;
@@ -49,7 +49,7 @@ public OneShotRunner(AgentConfiguration agentCfg,
4949

5050
public void run(String processResponseJson) throws Exception {
5151
var processResponse = objectMapper.readValue(processResponseJson, ProcessResponse.class);
52-
var workDir = IOUtils.createTempDir(agentCfg.getPayloadDir(), "workDir");
52+
var workDir = PathUtils.createTempDir(agentCfg.getPayloadDir(), "workDir");
5353
var jobRequest = JobRequest.from(processResponse, workDir);
5454

5555
var workerModule = new WorkerModule(agentCfg.getAgentId(), jobRequest.getInstanceId(), jobRequest.getSessionToken());

agent/src/main/java/com/walmartlabs/concord/agent/Worker.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
import com.walmartlabs.concord.agent.logging.ProcessLog;
2626
import com.walmartlabs.concord.agent.remote.ProcessStatusUpdater;
2727
import com.walmartlabs.concord.client2.ProcessEntry.StatusEnum;
28-
import com.walmartlabs.concord.common.IOUtils;
28+
import com.walmartlabs.concord.common.PathUtils;
2929
import com.walmartlabs.concord.imports.Import.SecretDefinition;
3030
import org.slf4j.Logger;
3131
import org.slf4j.LoggerFactory;
@@ -105,7 +105,7 @@ public void run() {
105105
Path payloadDir = jobRequest.getPayloadDir();
106106
try {
107107
log.info("exec ['{}'] -> removing the payload directory: {}", instanceId, payloadDir);
108-
IOUtils.deleteRecursively(payloadDir);
108+
PathUtils.deleteRecursively(payloadDir);
109109
} catch (IOException e) {
110110
log.warn("exec ['{}'] -> can't remove the payload directory: {}", instanceId, e.getMessage());
111111
}

agent/src/main/java/com/walmartlabs/concord/agent/cfg/Utils.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
*/
2222

2323
import com.typesafe.config.Config;
24-
import com.walmartlabs.concord.common.IOUtils;
24+
import com.walmartlabs.concord.common.PathUtils;
2525

2626
import java.io.IOException;
2727
import java.nio.file.Files;
@@ -58,7 +58,7 @@ public static Path getOptionalAbsolutePath(Config cfg, String key) {
5858
public static Path getOrCreatePath(Config cfg, String key) {
5959
try {
6060
if (!cfg.hasPath(key)) {
61-
return IOUtils.createTempDir(key);
61+
return PathUtils.createTempDir(key);
6262
}
6363

6464
String value = cfg.getString(key);
@@ -73,7 +73,7 @@ public static Path getOrCreatePath(Config cfg, String key) {
7373

7474
return p;
7575
}
76-
return IOUtils.createTempDir(value);
76+
return PathUtils.createTempDir(value);
7777
} catch (IOException e) {
7878
throw new RuntimeException(e);
7979
}

agent/src/main/java/com/walmartlabs/concord/agent/executors/runner/ProcessPool.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
import com.walmartlabs.concord.agent.ExecutionException;
2525
import com.walmartlabs.concord.agent.Utils;
2626
import com.walmartlabs.concord.agent.cfg.PreForkConfiguration;
27-
import com.walmartlabs.concord.common.IOUtils;
27+
import com.walmartlabs.concord.common.PathUtils;
2828
import org.slf4j.Logger;
2929
import org.slf4j.LoggerFactory;
3030

@@ -166,7 +166,7 @@ private void maintenance() {
166166

167167
private static void cleanup(ProcessEntry process) {
168168
try {
169-
IOUtils.deleteRecursively(process.workDir);
169+
PathUtils.deleteRecursively(process.workDir);
170170
} catch (IOException e) {
171171
log.info("cleanup ['{}'] -> error: {}", process.workDir, e.getMessage());
172172
// ignore

agent/src/main/java/com/walmartlabs/concord/agent/executors/runner/RunnerJobExecutor.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
import com.walmartlabs.concord.agent.logging.ProcessLog;
3737
import com.walmartlabs.concord.agent.logging.ProcessLogFactory;
3838
import com.walmartlabs.concord.agent.remote.AttachmentsUploader;
39-
import com.walmartlabs.concord.common.IOUtils;
39+
import com.walmartlabs.concord.common.PathUtils;
4040
import com.walmartlabs.concord.common.Posix;
4141
import com.walmartlabs.concord.dependencymanager.DependencyEntity;
4242
import com.walmartlabs.concord.dependencymanager.DependencyManager;
@@ -239,7 +239,7 @@ private void persistWorkDir(UUID instanceId, Path src) {
239239
}
240240

241241
log.info("exec ['{}'] -> persisting the payload directory into {}...", instanceId, dst);
242-
IOUtils.copy(src, dst);
242+
PathUtils.copy(src, dst);
243243

244244
// persistentWorkDir is mostly useful when the Agent is running in a container
245245
// typically it is running as PID 456 - all files created by the process
@@ -279,7 +279,7 @@ private void cleanup(UUID instanceId, ProcessEntry pe) {
279279
Path workDir = pe.getWorkDir();
280280
try {
281281
log.info("exec ['{}'] -> removing the working directory: {}", instanceId, workDir);
282-
IOUtils.deleteRecursively(workDir);
282+
PathUtils.deleteRecursively(workDir);
283283
} catch (IOException e) {
284284
log.warn("exec ['{}'] -> can't remove the working directory: {}", instanceId, e.getMessage());
285285
}
@@ -486,7 +486,7 @@ private ProcessEntry fork(RunnerJob job, String[] cmd) throws ExecutionException
486486
ProcessEntry entry = processPool.take(hc, () -> {
487487
// can't use workDirBase, "preforks" start before they receive their process payload
488488
// create a new temporary directory
489-
Path workDir = IOUtils.createTempDir("workDir");
489+
Path workDir = PathUtils.createTempDir("workDir");
490490
return start(workDir, cmd);
491491
});
492492

@@ -495,7 +495,7 @@ private ProcessEntry fork(RunnerJob job, String[] cmd) throws ExecutionException
495495
// the process' workDir
496496
Path dst = entry.getWorkDir();
497497
// TODO use move
498-
IOUtils.copy(src, dst);
498+
PathUtils.copy(src, dst);
499499

500500
writeInstanceId(job.getInstanceId(), dst);
501501

@@ -540,7 +540,7 @@ private ProcessEntry start(Path workDir, String[] cmd) throws IOException {
540540

541541
// TODO constants
542542
Map<String, String> env = b.environment();
543-
env.put(IOUtils.TMP_DIR_KEY, IOUtils.TMP_DIR.toAbsolutePath().toString());
543+
env.put(PathUtils.TMP_DIR_KEY, PathUtils.TMP_DIR.toAbsolutePath().toString());
544544
env.put("_CONCORD_ATTACHMENTS_DIR", workDir.resolve(Constants.Files.JOB_ATTACHMENTS_DIR_NAME)
545545
.toAbsolutePath().toString());
546546

agent/src/main/java/com/walmartlabs/concord/agent/logging/LocalProcessLog.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
* =====
2121
*/
2222

23-
import com.walmartlabs.concord.common.IOUtils;
2423
import org.slf4j.Logger;
2524
import org.slf4j.LoggerFactory;
2625

@@ -62,7 +61,7 @@ public void delete() {
6261
public void log(InputStream src) throws IOException {
6362
Path f = logFile();
6463
try (OutputStream dst = Files.newOutputStream(f, StandardOpenOption.CREATE, StandardOpenOption.APPEND)) {
65-
IOUtils.copy(src, dst);
64+
src.transferTo(dst);
6665
}
6766
}
6867

agent/src/main/java/com/walmartlabs/concord/agent/remote/AttachmentsUploader.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,9 @@
2222

2323
import com.walmartlabs.concord.agent.AgentConstants;
2424
import com.walmartlabs.concord.client2.*;
25-
import com.walmartlabs.concord.common.IOUtils;
25+
import com.walmartlabs.concord.common.PathUtils;
2626
import com.walmartlabs.concord.common.TemporaryPath;
27+
import com.walmartlabs.concord.common.ZipUtils;
2728
import com.walmartlabs.concord.sdk.Constants;
2829
import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream;
2930

@@ -47,9 +48,9 @@ public void upload(UUID instanceId, Path workDir) throws Exception {
4748
return;
4849
}
4950

50-
try (TemporaryPath tmp = IOUtils.tempFile("attachments", ".zip")) {
51+
try (TemporaryPath tmp = PathUtils.tempFile("attachments", ".zip")) {
5152
try (ZipArchiveOutputStream zip = new ZipArchiveOutputStream(Files.newOutputStream(tmp.path()))) {
52-
IOUtils.zip(zip, attachmentsDir);
53+
ZipUtils.zip(zip, attachmentsDir);
5354
}
5455

5556
ProcessApi api = new ProcessApi(apiClient);
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package com.walmartlabs.concord.cli;
2+
3+
/*-
4+
* *****
5+
* Concord
6+
* -----
7+
* Copyright (C) 2017 - 2025 Walmart Inc.
8+
* -----
9+
* Licensed under the Apache License, Version 2.0 (the "License");
10+
* you may not use this file except in compliance with the License.
11+
* You may obtain a copy of the License at
12+
*
13+
* http://www.apache.org/licenses/LICENSE-2.0
14+
*
15+
* Unless required by applicable law or agreed to in writing, software
16+
* distributed under the License is distributed on an "AS IS" BASIS,
17+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18+
* See the License for the specific language governing permissions and
19+
* limitations under the License.
20+
* =====
21+
*/
22+
23+
public class AbortException extends RuntimeException {
24+
25+
public AbortException() {
26+
super("Aborted");
27+
}
28+
}

0 commit comments

Comments
 (0)