Skip to content
This repository was archived by the owner on Feb 1, 2023. It is now read-only.

Commit 0d8956c

Browse files
committed
fix: shard uniq calculation per Project and actual use of shard in getAnalysis API call
1 parent 913f4f6 commit 0d8956c

5 files changed

Lines changed: 21 additions & 23 deletions

File tree

src/integTest/java/ai/deepcode/javaclient/DeepCodeRestApiTest.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -370,11 +370,7 @@ private GetAnalysisResponse doAnalysisAndWait(List<String> analysedFiles, Intege
370370
throws InterruptedException {
371371
GetAnalysisResponse response = null;
372372
for (int i = 0; i < 120; i++) {
373-
try {
374-
response = DeepCodeRestApi.getAnalysis(loggedToken, bundleId, severity, analysedFiles, getHash(bundleId));
375-
} catch (NoSuchAlgorithmException e) {
376-
throw new RuntimeException(e);
377-
}
373+
response = DeepCodeRestApi.getAnalysis(loggedToken, bundleId, severity, analysedFiles, bundleId);
378374
if (response.getStatus().equals("COMPLETE")) break;
379375
Thread.sleep(1000);
380376
}

src/main/java/ai/deepcode/javaclient/DeepCodeRestApi.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -343,7 +343,7 @@ public static GetAnalysisResponse getAnalysis(
343343
try {
344344
Response<GetAnalysisResponse> retrofitResponse =
345345
getAnalysisCall
346-
.doGetAnalysis(token, new GetAnalysisRequest(bundleId, filesToAnalyse, severity))
346+
.doGetAnalysis(token, new GetAnalysisRequest(bundleId, filesToAnalyse, severity, shard))
347347
.execute();
348348
GetAnalysisResponse result = retrofitResponse.body();
349349
if (result == null) result = new GetAnalysisResponse();

src/main/java/ai/deepcode/javaclient/core/AnalysisDataBase.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -577,7 +577,9 @@ private GetAnalysisResponse doGetAnalysis(
577577
deepCodeParams.getSessionToken(),
578578
bundleId,
579579
deepCodeParams.getMinSeverity(),
580-
filesToAnalyse, HashContentUtilsBase.doGetHash(pdUtils.getFilePath(project)));
580+
filesToAnalyse,
581+
HashContentUtilsBase.calculateHash(project.toString())
582+
);
581583

582584
pdUtils.progressCheckCanceled(progress);
583585
dcLogger.logInfo(response.toString());

src/main/java/ai/deepcode/javaclient/core/HashContentUtilsBase.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ private static String bytesToHex(byte[] hash) {
4646
public boolean isHashChanged(@NotNull Object file) {
4747
// fixme debug only
4848
// DCLogger.getInstance().info("hash check started");
49-
String newHash = doGetHash(doGetFileContent(file));
49+
String newHash = calculateHash(doGetFileContent(file));
5050
String oldHash = mapFile2Hash.put(file, newHash);
5151
// fixme debug only
5252
/*
@@ -67,10 +67,10 @@ public String getHash(@NotNull Object file) {
6767
}
6868

6969
private String doGetHash(@NotNull Object file) {
70-
return doGetHash(getFileContent(file));
70+
return calculateHash(getFileContent(file));
7171
}
7272

73-
protected static String doGetHash(@NotNull String plain) {
73+
protected static String calculateHash(@NotNull String plain) {
7474
MessageDigest messageDigest;
7575
try {
7676
messageDigest = MessageDigest.getInstance("SHA-256");

src/main/java/ai/deepcode/javaclient/requests/GetAnalysisRequest.java

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,30 +6,33 @@
66
public class GetAnalysisRequest {
77
private GetAnalysisKey key;
88
private Integer severity;
9-
private boolean prioritized = false;
10-
private boolean legacy = true;
9+
private boolean prioritized;
10+
private boolean legacy;
1111

1212
/**
1313
* @param bundleHash
1414
* @param limitToFiles list of filePath
1515
* @param severity
16+
* @param shard uniq String (hash) per Project to optimize jobs on backend (run on the same worker to reuse caches)
1617
* @param prioritized
1718
* @param legacy
1819
*/
1920
public GetAnalysisRequest(
20-
String bundleHash,
21-
List<String> limitToFiles,
22-
Integer severity,
23-
boolean prioritized,
24-
boolean legacy) {
25-
this.key = new GetAnalysisKey(bundleHash, limitToFiles);
21+
String bundleHash,
22+
List<String> limitToFiles,
23+
Integer severity,
24+
String shard,
25+
boolean prioritized,
26+
boolean legacy
27+
) {
28+
this.key = new GetAnalysisKey(bundleHash, limitToFiles, shard);
2629
this.severity = severity;
2730
this.prioritized = prioritized;
2831
this.legacy = legacy;
2932
}
3033

31-
public GetAnalysisRequest(String bundleHash, List<String> limitToFiles, Integer severity) {
32-
this(bundleHash, limitToFiles, severity, false, true);
34+
public GetAnalysisRequest(String bundleHash, List<String> limitToFiles, Integer severity, String shard) {
35+
this(bundleHash, limitToFiles, severity, shard, false, true);
3336
}
3437

3538
private static class GetAnalysisKey {
@@ -43,9 +46,6 @@ public GetAnalysisKey(String hash, List<String> limitToFiles, String shard) {
4346
this.limitToFiles = limitToFiles;
4447
this.shard = shard;
4548
}
46-
public GetAnalysisKey(String hash, List<String> limitToFiles) {
47-
this(hash, limitToFiles, hash);
48-
}
4949

5050
public String getHash() {
5151
return hash;

0 commit comments

Comments
 (0)