wangbo opened a new issue #5390:
URL: https://github.com/apache/incubator-doris/issues/5390
code version: 0.13.11
**Describe the bug**
```
2021-02-18 10:27:29,961 ERROR (replayer|75) [EditLog.loadJournal():816]
Operation Type 94
java.lang.NullPointerException: null
at
com.google.common.base.Preconditions.checkNotNull(Preconditions.java:878)
~[spark-dpp-1.0.0.jar:1.0.0]
at
org.apache.doris.catalog.ColocateTableIndex.replayAddTableToGroup(ColocateTableIndex.java:444)
~[palo-fe.jar:3.4.0]
at org.apache.doris.persist.EditLog.loadJournal(EditLog.java:628)
[palo-fe.jar:3.4.0]
at org.apache.doris.catalog.Catalog.replayJournal(Catalog.java:2563)
[palo-fe.jar:3.4.0]
at org.apache.doris.catalog.Catalog$3.runOneCycle(Catalog.java:2347)
[palo-fe.jar:3.4.0]
at org.apache.doris.common.util.Daemon.run(Daemon.java:116)
[palo-fe.jar:3.4.0]
```
From the above log we can see, when replay a ```ColocatePersistInfo```, its
table id can't be find in Database, then FE crash.
```
//master fe.log, the same table create successfully twice
// request 1:
2021-02-18 10:17:11,823 INFO (thrift-server-pool-983|56147)
[Catalog.createOlapTable():3924] successfully create
table[app_rt_rider_accept_waybill_rider_offset;58010577]
// request 2:
2021-02-18 10:17:25,256 INFO (thrift-server-pool-1200|155296)
[Catalog.createOlapTable():3924] successfully create
table[app_rt_rider_accept_waybill_rider_offset;58016408]
// master fe.log, master receive create table forward request from the same
follower
// request 1:
2021-02-18 10:16:45,427 DEBUG (thrift-server-pool-983|56147)
[FrontendServiceImpl.forward():592] receive forwarded stmt 20766895 from FE: xxx
2021-02-18 10:16:45,427 INFO (thrift-server-pool-983|56147)
[StmtExecutor.analyze():399] begin to analyze stmt: 5074185, forwarded stmt id:
20766895
// request 2:
2021-02-18 10:17:05,450 DEBUG (thrift-server-pool-1200|155296)
[FrontendServiceImpl.forward():592] receive forwarded stmt 20766895 from FE: xxx
2021-02-18 10:17:05,451 INFO (thrift-server-pool-1200|155296)
[StmtExecutor.analyze():399] begin to analyze stmt: 5074223, forwarded stmt id:
20766895
// follower fe.log, receive create table request from client
2021-02-18 10:16:45,426 INFO (doris-mysql-nio-pool-19139|472265)
[StmtExecutor.analyze():399] begin to analyze stmt: 20766895, forwarded stmt
id: 0
2021-02-18 10:16:45,427 INFO (doris-mysql-nio-pool-19139|472265)
[MasterOpExecutor.forward():98] Forward statement 20766895 to Master
TNetworkAddress(hostname:xxx, port:xxx)
```
From the log above, we can conclude the bug reason:
1 A Follower receive a create table request from client.
2 The Follower forward the request to Master.
3 Master response throw exception because of unknown reason, so the Follower
try to forward twice.
4 Master request the same create table request twice, the second request
create a new table, but didn't write table to Edit log. And
```ColocatePersistInfo``` write to Edit log twice.
5 When replay ```ColocatePersistInfo```, it can't find its table id, then
NPE happends;
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]