Skip to content

Commit 2780d72

Browse files
Avoid too many open files issues (#115)
* Avoid too many open files issues By moving `getDigestForSourceTargetName` into the else block we avoid opening files unless we have to * syntax
1 parent 3f151a8 commit 2780d72

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

src/main/java/com/bazel_diff/TargetHashingClient.java

+5-3
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,6 @@ private byte[] createDigestForRule(
9797
for (String ruleInput : rule.getRuleInputList()) {
9898
digest.update(ruleInput.getBytes());
9999
BazelRule inputRule = allRulesMap.get(ruleInput);
100-
byte[] sourceFileDigest = getDigestForSourceTargetName(ruleInput, bazelSourcefileTargets);
101100
if (inputRule != null && inputRule.getName() != null && !inputRule.getName().equals(rule.getName())) {
102101
byte[] ruleInputHash = createDigestForRule(
103102
inputRule,
@@ -109,8 +108,11 @@ private byte[] createDigestForRule(
109108
if (ruleInputHash != null) {
110109
digest.update(ruleInputHash);
111110
}
112-
} else if (sourceFileDigest != null) {
113-
digest.update(sourceFileDigest);
111+
} else {
112+
byte[] sourceFileDigest = getDigestForSourceTargetName(ruleInput, bazelSourcefileTargets);
113+
if (sourceFileDigest != null) {
114+
digest.update(sourceFileDigest);
115+
}
114116
}
115117
}
116118
byte[] finalHashValue = digest.digest().clone();

0 commit comments

Comments
 (0)