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: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org