Missing rules when using expirable maps/caches from popular open source libraries
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 48/100
Direção de pesquisa
Comece localizando as definições de regras Java do repositório e os testes para avisos relacionados ao SnapStart. Revise como os checks identificam o uso de bibliotecas e métodos e, em seguida, cubra Guava expireAfterAccess/expireAfterWrite e as variantes de expiração de ExpiringMap. A tarefa estará concluída quando os padrões relevantes de caches com expiração produzirem um aviso, enquanto o uso de caches sem expiração permanecer inalterado.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- Java
- Estrelas
- 53
- Forks
- 10
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de aws/aws-lambda-snapstart-java-rules
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
aws/aws-lambda-snapstart-java-rules#35 · 1 comentário ·
Todas as issues de aws/aws-lambda-snapstart-java-rules
Issues semelhantes
-
bug
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100
apache/cloudstack#14222 ·
-
[BUG]茶杯方块在取茶时会引发崩溃 Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
-
Cannot differ own consent and managed consents in My Consents view and detailed consent view. Aberta1.0.0-alpha2 Type/Improvement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
wso2/dpdp-accelerator#272 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
infinispan/infinispan#18150 ·
-
area/frontend
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100