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

Reply via email to