Skip to content

Commit 2051a4b

Browse files
authored
Merge pull request #407 from sid-srini/telemetry-jdkfeatures-cache-update
Updated telemetry jdk-features cache expiry time and maintenance as a
2 parents 3c95bae + 546665a commit 2051a4b

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
build/
22
.DS_STORE
3+
.vscode/
34
.idea/
45
*.iml
56
/nbcode/l10n/locale_ja/release/
67
/nbcode/l10n/locale_zh_CN/release/
78
/nbcode/l10n/locale_ja/nbproject/private/
89
/nbcode/l10n/locale_zh_CN/nbproject/private/
9-
telemetryConfig.json
10+
telemetryConfig.json

nbcode/telemetry/src/org/netbeans/modules/nbcode/java/lsp/server/telemetry/SourceFeatureCache.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,7 @@ public boolean isPreviewEnabled(SourceInfo sourceInfo) {
6161
}
6262

6363
private static class Singleton {
64-
65-
private static final int CACHE_EXPIRY = Math.max(0, NbPreferences.forModule(JavaLangFeaturesTelemetryProvider.class).node(JavaLangFeaturesTelemetryProvider.PREFERENCES_NODE).getInt(JavaLangFeaturesTelemetryProvider.PREFERENCES_KEY_CACHE_EXPIRY, 3_600_000)); // 1 hour
64+
private static final int CACHE_EXPIRY = Math.max(0, NbPreferences.forModule(JavaLangFeaturesTelemetryProvider.class).node(JavaLangFeaturesTelemetryProvider.PREFERENCES_NODE).getInt(JavaLangFeaturesTelemetryProvider.PREFERENCES_KEY_CACHE_EXPIRY, 12 * 3_600_000)); // 12 hours
6665
private static final ConcurrentHashMap<String, SourceFeatureCacheEntry> cachedSourceFeatures = new ConcurrentHashMap<>();
6766
}
6867

@@ -77,8 +76,12 @@ public static SourceFeatureCacheEntry get(String sourceName) {
7776
public static boolean add(String sourceName, Set<String> features) {
7877
final Set<String> newFeatures = Collections.unmodifiableSet(features);
7978
final SourceFeatureCacheEntry entry = getCachedSourceFeatures().compute(sourceName,
80-
(name, cache) -> cache != null && cache.getFeaturesUsed().containsAll(newFeatures) ? cache
81-
: new SourceFeatureCacheEntry(System.currentTimeMillis(), newFeatures, cache));
79+
(name, cache) -> {
80+
if (cache != null && cache.getFeaturesUsed().containsAll(newFeatures)) return cache;
81+
if (cache != null) features.addAll(cache.getFeaturesUsed());
82+
return new SourceFeatureCacheEntry(System.currentTimeMillis(), newFeatures, cache);
83+
}
84+
);
8285

8386
boolean added = newFeatures == entry.getFeaturesUsed();
8487
if (!added) {

0 commit comments

Comments
 (0)