CalvinKirs opened a new pull request, #24442: URL: https://github.com/apache/doris/pull/24442
## backend Some users' misoperation may cause multiple FE processes to be started at the same time, causing metadata corruption. ## change How to use file locks in metadata directories ## test ``` calvinkirs@CalvinKirss-MBP fe % cd bin calvinkirs@CalvinKirss-MBP bin % ./start_fe.sh --daemon calvinkirs@CalvinKirss-MBP bin % jps 61520 DorisFE 57728 Launcher 55009 Launcher 61538 Jps 28307 RemoteMavenServer36 25045 DorisBE 64121 RemoteMavenServer36 54810 Launcher 700 10348 88959 org.eclipse.equinox.launcher_1.6.500.v20230717-2134.jar 863 calvinkirs@CalvinKirss-MBP bin % ./start_fe.sh Frontend running as process 61520. Stop it first. calvinkirs@CalvinKirss-MBP bin % rm -rf fe.pid calvinkirs@CalvinKirss-MBP bin % ./start_fe.sh 15:46:53.895 [main] ERROR org.apache.doris.DorisFE - start doris failed. java.lang.RuntimeException: FE process has been started,please do not start multiple FE processes at thesame time at org.apache.doris.DorisFE.tryLockProcess(DorisFE.java:447) ~[doris-fe.jar:1.2-SNAPSHOT] at org.apache.doris.DorisFE.start(DorisFE.java:99) ~[doris-fe.jar:1.2-SNAPSHOT] at org.apache.doris.DorisFE.main(DorisFE.java:81) ~[doris-fe.jar:1.2-SNAPSHOT] calvinkirs@CalvinKirss-MBP bin % kill -9 61520 calvinkirs@CalvinKirss-MBP bin % jps 57728 Launcher 55009 Launcher 28307 RemoteMavenServer36 25045 DorisBE 62775 Jps 64121 RemoteMavenServer36 54810 Launcher 700 10348 88959 org.eclipse.equinox.launcher_1.6.500.v20230717-2134.jar 863 calvinkirs@CalvinKirss-MBP bin % ./start_fe.sh ===== <?xml version="1.0" encoding="utf-8"?> <!-- Auto Generated. DO NOT MODIFY IT! --> <Configuration status="info" packages="org.apache.doris.common"> <Appenders> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout charset="UTF-8"> <Pattern>%d{yyyy-MM-dd HH:mm:ss,SSS} %p (%t|%tid) [%C{1}.%M():%L] %m%n</Pattern> </PatternLayout> </Console> <RollingFile name="Sys" fileName="/Users/calvinkirs/workspace/incubator-doris/output/fe/log/fe.log" filePattern="/Users/calvinkirs/workspace/incubator-doris/output/fe/log/fe.log.%d{yyyyMMdd}-%i" immediateFlush="true"> <PatternLayout charset="UTF-8"> <Pattern>%d{yyyy-MM-dd HH:mm:ss,SSS} %p (%t|%tid) [%C{1}.%M():%L] %m%n</Pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy/> <SizeBasedTriggeringPolicy size="1024MB"/> </Policies> <DefaultRolloverStrategy max="10" fileIndex="min"> <Delete basePath="/Users/calvinkirs/workspace/incubator-doris/output/fe/log/" maxDepth="1"> <IfFileName glob="fe.log.*" /> <IfLastModified age="7d" /> </Delete> </DefaultRolloverStrategy> </RollingFile> <RollingFile name="SysWF" fileName="/Users/calvinkirs/workspace/incubator-doris/output/fe/log/fe.warn.log" filePattern="/Users/calvinkirs/workspace/incubator-doris/output/fe/log/fe.warn.log.%d{yyyyMMdd}-%i" immediateFlush="true"> <PatternLayout charset="UTF-8"> <Pattern>%d{yyyy-MM-dd HH:mm:ss,SSS} %p (%t|%tid) [%C{1}.%M():%L] %m%n</Pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy/> <SizeBasedTriggeringPolicy size="1024MB"/> </Policies> <DefaultRolloverStrategy max="10" fileIndex="min"> <Delete basePath="/Users/calvinkirs/workspace/incubator-doris/output/fe/log/" maxDepth="1"> <IfFileName glob="fe.warn.log.*" /> <IfLastModified age="7d" /> </Delete> </DefaultRolloverStrategy> </RollingFile> <RollingFile name="Auditfile" fileName="/Users/calvinkirs/workspace/incubator-doris/output/fe/log/fe.audit.log" filePattern="/Users/calvinkirs/workspace/incubator-doris/output/fe/log/fe.audit.log.%d{yyyyMMdd}-%i"> <PatternLayout charset="UTF-8"> <Pattern>%d{yyyy-MM-dd HH:mm:ss,SSS} [%c{1}] %m%n</Pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy/> <SizeBasedTriggeringPolicy size="1024MB"/> </Policies> <DefaultRolloverStrategy max="90" fileIndex="min"> <Delete basePath="/Users/calvinkirs/workspace/incubator-doris/output/fe/log/" maxDepth="1"> <IfFileName glob="fe.audit.log.*" /> <IfLastModified age="30d" /> </Delete> </DefaultRolloverStrategy> </RollingFile> </Appenders> <Loggers> <Root level="INFO" includeLocation="true"> <AppenderRef ref="Sys"/> <AppenderRef ref="SysWF" level="WARN"/> <AppenderRef ref="Console"/> </Root> <Logger name="audit" level="ERROR" additivity="false"> <AppenderRef ref="Auditfile"/> </Logger> <Logger name='audit.slow_query' level='INFO'/><Logger name='audit.query' level='INFO'/><Logger name='audit.load' level='INFO'/><Logger name='audit.stream_load' level='INFO'/> </Loggers> </Configuration> ===== ============================== 2023-09-15 15:47:22,181 INFO (main|1) [DorisFE.start():139] Doris FE starting... ``` -- 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. To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org 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