yangjj-iso opened a new pull request, #7553: URL: https://github.com/apache/shenyu/pull/7553
`MemorySafeLRUMap` has no repository-local production callers, but it is still a public `shenyu-common` API. Deprecate it since 2.7.2 while retaining its constructors, serialization identifier, implementation and dedicated tests for downstream source and binary compatibility. Public code search also finds historical ShenYu copies and callers; that evidence cannot rule out private or binary-only consumers. Add an Unreleased API note with migration guidance for the existing `WindowTinyLFUMap`: choose an explicit maximum entry count and review the different eviction policy, non-null keys/values and Map API surface. The old free-memory threshold is measured in bytes and is not an entry-count setting. Keep memory-pressure-dependent consumers on the compatibility implementation until an equivalent policy is chosen. No removal release is scheduled; future removal needs compatibility review and advance notice. Fixes #7444. ## Validation - Full `shenyu-common` suite: 498 tests, zero failures/errors, one existing skipped test (497 passed), including the retained LRU, WindowTinyLFU and memory-limit tests. - Checkstyle: zero violations. RAT: zero unapproved/unknown licenses. Javadoc generation succeeds. - `javap -public` signatures match the previously installed 2.7.2-SNAPSHOT artifact. - Repository-wide reference search covers Java, non-Java, hidden and configuration files; only the legacy class and its dedicated tests referenced it before this change. - `git diff --check` passes. ```bash ./mvnw -B -ntp -pl shenyu-common -Djacoco.skip=true test javadoc:javadoc apache-rat:check ``` Make sure that: - [x] You have read the [contribution guidelines](https://shenyu.apache.org/community/contributor-guide). - [x] Existing dedicated unit tests are retained and back this metadata/documentation-only change. - [ ] Your local test passed `./mvnw clean install -Dmaven.javadoc.skip=true`. The full affected-module validation is recorded above; the full repository build was not run. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
