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

kxiao pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-2.0 by this push:
     new f1d0e34acd1 [fix](fe ut) Fix borrow oject throw npe (#27072) (#27207)
f1d0e34acd1 is described below

commit f1d0e34acd17bc01235b766c5235bb0579c81706
Author: deardeng <565620...@qq.com>
AuthorDate: Fri Nov 17 23:17:36 2023 +0800

    [fix](fe ut) Fix borrow oject throw npe (#27072) (#27207)
    
    occasional failure of fe ut, borrowObject throw npe
    ```
    get agent task request. type: CREATE, signature: 10008, fe addr: null
    java.lang.NullPointerException
            at 
java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:936)
            at 
org.apache.commons.pool2.impl.GenericKeyedObjectPool.register(GenericKeyedObjectPool.java:1079)
            at 
org.apache.commons.pool2.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:347)
    get agent task request. type: CREATE, signature: 10012, fe addr: 
TNetworkAddress(hostname:127.0.0.1, port:56072)
            at 
org.apache.commons.pool2.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:277)
            at 
org.apache.doris.common.GenericPool.borrowObject(GenericPool.java:99)
            at 
org.apache.doris.utframe.MockedBackendFactory$DefaultBeThriftServiceImpl$1.run(MockedBackendFactory.java:219)
            at java.lang.Thread.run(Thread.java:750)
    ```
---
 .../test/java/org/apache/doris/utframe/MockedBackendFactory.java    | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/utframe/MockedBackendFactory.java 
b/fe/fe-core/src/test/java/org/apache/doris/utframe/MockedBackendFactory.java
index 7d261790066..a69b4a81cab 100644
--- 
a/fe/fe-core/src/test/java/org/apache/doris/utframe/MockedBackendFactory.java
+++ 
b/fe/fe-core/src/test/java/org/apache/doris/utframe/MockedBackendFactory.java
@@ -167,8 +167,12 @@ public class MockedBackendFactory {
                         FrontendService.Client client = null;
                         TNetworkAddress address = null;
                         try {
-                            address = backend.getFeAddress();
+                            // ATTR: backend.getFeAddress must after 
taskQueue.take, because fe addr thread race
                             TAgentTaskRequest request = taskQueue.take();
+                            address = backend.getFeAddress();
+                            if (address == null) {
+                                System.out.println("fe addr thread race, 
please check it");
+                            }
                             System.out.println(
                                     "get agent task request. type: " + 
request.getTaskType() + ", signature: "
                                     + request.getSignature() + ", fe addr: " + 
address);


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to