Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Missing rules when using expirable maps/caches from popular open source libraries

Ouverte
#37 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
48/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
aws, java
Domaine
devtools

Piste de recherche

Commencez par localiser les définitions de règles Java du dépôt et les tests associés aux avertissements liés à SnapStart. Examinez comment les checks identifient l’utilisation de bibliothèques et de méthodes, puis couvrez Guava expireAfterAccess/expireAfterWrite ainsi que les variantes d’expiration de ExpiringMap. La tâche est terminée lorsque les modèles pertinents de caches avec expiration produisent un avertissement, tandis que l’utilisation de caches sans expiration reste inchangée.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

In case the expirable cache is initialized in the constructor of the Lambda class and some entries are put as well it may happen that the entries are not there anymore after the SnapStart snapshot is restored. The should be a warning of usage of time-based cached with the SnapStart is enabled.

In particular I'm thinking of the usage of 2 popular open source libraries:

  • Google Guava ( artifact id guava and group id com.google.guava) and the code like this

myCache = CacheBuilder.newBuilder().expireAfterAccess(3600, TimeUnit.SECONDS) .build();
myCache.put("key", "value");

  • Using artifact id expiringmap and the group id net.jodah and the code like this

expiredMap = ExpiringMap.builder().expiration(3600, TimeUnit.SECONDS).build();
expiredMap.put("key", "value");

I know that it's difficult to spot such use cases because both open source libraries offer standard and not expirable caches. But the invocation of the methods like CacheBuilder.newBuilder().expireAfterAccess/expireAfterWrite or multiple variations of methods ExpiringMap.builder().expiration* when creating the cache using these open source tools is a clear indication of the creation of expirable cache.

Langage dominant
Java
Étoiles
53
Forks
10
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de aws/aws-lambda-snapstart-java-rules

Toutes les issues de aws/aws-lambda-snapstart-java-rules

Issues similaires

Plus d'issues Java

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.