killme2008 / killme2008/aviatorscript

编译异常能否细分

Open
#552 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
5.2k
Forks
906
PR merge metrics
No merged PRs in 30d

Description

大佬你好, 我们在使用aviator表达式编译时时, 如果有异常会手动缓存下来, 避免有问题的表达式重复编译, 给gc造成较大的压力. 目前表达式编译抛出的是CompileExpressionErrorException, 但是在有些场景下如果触发了线程中断,futuretask会响应中断, 也会抛这个异常, 导致我们错误的缓存了这个表达式. 本质上我们期望缓存的是因表达式自身有问题的那部分, 即词法语法解析异常的部分, 其他的异常不应该缓存. 所以aviator编译时抛的异常能否细分?(ExpressionSyntaxErrorException这个异常是否能表示表达式自身存在问题的)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at the Aviator expression compilation entry point and trace how CompileExpressionErrorException, ExpressionSyntaxErrorException, and FutureTask interruption are propagated. Verify which failures come from lexical or syntax parsing versus interruption or other causes, then confirm that only expression-invalid failures can be distinguished for caching.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
compilers
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.