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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]