adm: Allow concurrent epoch ticks #968

Merged
fyrchik merged 1 commit from fyrchik/frostfs-node:fix-adm-tick into master 2024-02-08 08:10:27 +00:00

View file

@ -37,19 +37,15 @@ func forceNewEpochCmd(cmd *cobra.Command, _ []string) error {
return err return err
} }
if err := wCtx.sendConsensusTx(bw.Bytes()); err != nil { if err = wCtx.sendConsensusTx(bw.Bytes()); err == nil {
return err err = wCtx.awaitTx()
} }
if err != nil && strings.Contains(err.Error(), "invalid epoch") {
if err := wCtx.awaitTx(); err != nil {
if strings.Contains(err.Error(), "invalid epoch") {
cmd.Println("Epoch has already ticked.") cmd.Println("Epoch has already ticked.")
return nil return nil
} }
return err return err
} }
return nil
}
func emitNewEpochCall(bw *io.BufBinWriter, wCtx *initializeContext, nmHash util.Uint160) error { func emitNewEpochCall(bw *io.BufBinWriter, wCtx *initializeContext, nmHash util.Uint160) error {
curr, err := unwrap.Int64(wCtx.ReadOnlyInvoker.Call(nmHash, "epoch")) curr, err := unwrap.Int64(wCtx.ReadOnlyInvoker.Call(nmHash, "epoch"))