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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]