@@ -82,13 +82,16 @@ type runtimeServerManagerContext interface {
8282 // IsLocalSlave returns true if this peer is running as a local slave
8383 IsLocalSlave () bool
8484
85+ // DatabaseFeatures returns the detected database features.
86+ DatabaseFeatures () DatabaseFeatures
87+
8588 // Stop the peer
8689 Stop ()
8790}
8891
8992// startServer starts a single Arangod/Arangosync server of the given type.
9093func startServer (ctx context.Context , log zerolog.Logger , runtimeContext runtimeServerManagerContext , runner Runner ,
91- config Config , bsCfg BootstrapConfig , myHostAddress string , serverType ServerType , restart int ) (Process , bool , error ) {
94+ config Config , bsCfg BootstrapConfig , myHostAddress string , serverType ServerType , features DatabaseFeatures , restart int ) (Process , bool , error ) {
9295 myPort , err := runtimeContext .serverPort (serverType )
9396 if err != nil {
9497 return nil , false , maskAny (err )
@@ -145,7 +148,7 @@ func startServer(ctx context.Context, log zerolog.Logger, runtimeContext runtime
145148 var containerSecretFileName string
146149 if processType == ProcessTypeArangod {
147150 var err error
148- confVolumes , arangodConfig , err = createArangodConf (log , bsCfg , myHostDir , myContainerDir , strconv .Itoa (myPort ), serverType )
151+ confVolumes , arangodConfig , err = createArangodConf (log , bsCfg , myHostDir , myContainerDir , strconv .Itoa (myPort ), serverType , features )
149152 if err != nil {
150153 return nil , false , maskAny (err )
151154 }
@@ -237,7 +240,8 @@ func (s *runtimeServerManager) runServer(ctx context.Context, log zerolog.Logger
237240 for {
238241 myHostAddress := myPeer .Address
239242 startTime := time .Now ()
240- p , portInUse , err := startServer (ctx , log , runtimeContext , runner , config , bsCfg , myHostAddress , serverType , restart )
243+ features := runtimeContext .DatabaseFeatures ()
244+ p , portInUse , err := startServer (ctx , log , runtimeContext , runner , config , bsCfg , myHostAddress , serverType , features , restart )
241245 if err != nil {
242246 log .Error ().Err (err ).Msgf ("Error while starting %s" , serverType )
243247 if ! portInUse {
0 commit comments