This is an automated email from the ASF dual-hosted git repository.

swuferhong pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/fluss.git


The following commit(s) were added to refs/heads/main by this push:
     new d7bbf5076 [docs] remove the unused maputils rule (#3352)
d7bbf5076 is described below

commit d7bbf5076b552cadf7c417978b6b1b55928cfe91
Author: Junfan Zhang <[email protected]>
AuthorDate: Wed May 20 09:57:32 2026 +0800

    [docs] remove the unused maputils rule (#3352)
    
    Co-authored-by: zhangjunfan <[email protected]>
---
 AGENTS.md | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/AGENTS.md b/AGENTS.md
index d0cf1020e..87708de46 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -28,7 +28,6 @@ import org.apache.zookeeper.*                           // → 
org.apache.fluss.
 
 **MANDATORY utility substitutions:**
 ```java
-// ❌ new ConcurrentHashMap<>()  → ✅ MapUtils.newConcurrentMap()  (see 
https://github.com/apache/fluss/issues/375)
 // ❌ com.google.common.base.Preconditions  → ✅ 
org.apache.fluss.utils.Preconditions (import statically)
 // ❌ com.google.common.annotations.VisibleForTesting  → ✅ 
org.apache.fluss.annotation.VisibleForTesting
 // ❌ org.apache.commons.lang3.SerializationUtils  → ✅ 
org.apache.fluss.utils.InstantiationUtil
@@ -240,7 +239,7 @@ fluss/
 | **Interface** | Plain descriptive name | `Connection`, `Admin`, `LogScanner` 
|
 | **Implementation** | Suffix `Impl` or descriptive name | `AdminImpl`, 
`NettyClient`, `RocksDBKvStore` |
 | **Abstract class** | Prefix `Abstract` | `AbstractIterator`, `AbstractGoal` |
-| **Utility class** | Suffix `Utils` (private constructor, static methods) | 
`MapUtils`, `StringUtils`, `IOUtils` |
+| **Utility class** | Suffix `Utils` (private constructor, static methods) | 
`StringUtils`, `IOUtils` |
 | **Test class** | Suffix `Test` (unit) or `ITCase` (integration) | 
`ConfigBuilderTest`, `ServerITCaseBase` |
 | **Test utility** | Prefix `Testing` | `TestingRemoteLogStorage` |
 | **Exception** | Suffix `Exception` | `TableNotExistException` |
@@ -274,8 +273,6 @@ fluss/
 
 **Locking:** Explicit lock objects (`private final Object lock`), use 
`synchronized(lock)`, `volatile` for fields accessed outside locks
 
-**ConcurrentHashMap:** NEVER instantiate directly - use 
`MapUtils.newConcurrentMap()` (Checkstyle enforced - see Section 1)
-
 **CompletableFuture:** Use `.thenCompose()`, `.thenCombine()`, `.thenApply()` 
for composition; `FutureUtils.completeAll()` for multiple futures
 
 **Resources:** Use try-with-resources for `AutoCloseable`; implement with 
idempotent `close()` method
@@ -325,7 +322,7 @@ public static final FlussClusterExtension 
FLUSS_CLUSTER_EXTENSION =
 
 **Shaded dependencies:** See Section 1 for forbidden imports. Always use 
`org.apache.fluss.shaded.*` versions (guava, jackson, netty, arrow, zookeeper)
 
-**Fluss utilities:** `Preconditions`, `MapUtils`, `ArrayUtils`, 
`CollectionUtils`, `BytesUtils`, `ExceptionUtils`, `FutureUtils`, `TimeUtils`, 
`IOUtils`, `FileUtils`
+**Fluss utilities:** `Preconditions`, `ArrayUtils`, `CollectionUtils`, 
`BytesUtils`, `ExceptionUtils`, `FutureUtils`, `TimeUtils`, `IOUtils`, 
`FileUtils`
 
 **Module dependency rules:**
 - `fluss-common` (foundation) → `fluss-rpc` → `fluss-client`/`fluss-server` 
(peers) → connectors → lake
@@ -443,7 +440,7 @@ Before pushing, conduct thorough self-review:
 1. **Review full diff:** `git diff main...HEAD` - verify only intentional 
changes
 2. **Check code style:** `./mvnw spotless:check`
 3. **Run tests:** `./mvnw verify -pl <affected-modules>`
-4. **Verify Checkstyle:** Check no forbidden imports, AssertJ usage, MapUtils, 
etc.
+4. **Verify Checkstyle:** Check no forbidden imports, AssertJ usage, etc.
 5. **Audit security:** No secrets, credentials, or sensitive data committed
 
 ### Creating Pull Request

Reply via email to