Skip to content
This repository was archived by the owner on Jan 24, 2025. It is now read-only.

Commit e370420

Browse files
authored
Merge pull request #935 from iotaledger/remove/snap-endpoint-target-slot
Remove target slot from `engine.WriteSnapshot`
2 parents 41a175b + 6fe8336 commit e370420

File tree

7 files changed

+198
-173
lines changed

7 files changed

+198
-173
lines changed
Lines changed: 4 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,24 @@
11
package management
22

33
import (
4-
"fmt"
5-
"path/filepath"
6-
"strings"
7-
84
"github.com/labstack/echo/v4"
95

106
"github.com/iotaledger/hive.go/ierrors"
11-
"github.com/iotaledger/inx-app/pkg/httpserver"
127
"github.com/iotaledger/iota.go/v4/api"
138
)
149

15-
func createSnapshots(c echo.Context) (*api.CreateSnapshotResponse, error) {
10+
func createSnapshots(_ echo.Context) (*api.CreateSnapshotResponse, error) {
1611
if deps.Protocol.Engines.Main.Get().IsSnapshotting() || deps.Protocol.Engines.Main.Get().Storage.IsPruning() {
1712
return nil, ierrors.WithMessage(echo.ErrServiceUnavailable, "node is already creating a snapshot or pruning is running")
1813
}
1914

20-
request := &api.CreateSnapshotRequest{}
21-
if err := c.Bind(request); err != nil {
22-
return nil, ierrors.WithMessagef(httpserver.ErrInvalidParameter, "invalid request: %w", err)
23-
}
24-
if request.Slot == 0 {
25-
return nil, ierrors.WithMessage(httpserver.ErrInvalidParameter, "slot needs to be specified")
26-
}
27-
28-
directory := filepath.Dir(deps.SnapshotFilePath)
29-
fileName := filepath.Base(deps.SnapshotFilePath)
30-
fileExt := filepath.Ext(fileName)
31-
fileNameWithoutExt := strings.TrimSuffix(fileName, fileExt)
32-
filePath := filepath.Join(directory, fmt.Sprintf("%s_%d%s", fileNameWithoutExt, request.Slot, fileExt))
33-
34-
if err := deps.Protocol.Engines.Main.Get().WriteSnapshot(filePath, request.Slot); err != nil {
15+
targetSlot, filePath, err := deps.Protocol.Engines.Main.Get().ExportSnapshot(deps.SnapshotFilePath, true, true)
16+
if err != nil {
3517
return nil, ierrors.WithMessagef(echo.ErrInternalServerError, "creating snapshot failed: %w", err)
3618
}
3719

3820
return &api.CreateSnapshotResponse{
39-
Slot: request.Slot,
21+
Slot: targetSlot,
4022
FilePath: filePath,
4123
}, nil
4224
}

go.mod

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -11,24 +11,24 @@ require (
1111
github.com/golang-jwt/jwt v3.2.2+incompatible
1212
github.com/google/uuid v1.6.0
1313
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0
14-
github.com/iotaledger/hive.go/ads v0.0.0-20240419094509-31dbb7270ad9
15-
github.com/iotaledger/hive.go/app v0.0.0-20240419094509-31dbb7270ad9
16-
github.com/iotaledger/hive.go/constraints v0.0.0-20240419094509-31dbb7270ad9
17-
github.com/iotaledger/hive.go/core v1.0.0-rc.3.0.20240419094509-31dbb7270ad9
18-
github.com/iotaledger/hive.go/crypto v0.0.0-20240419094509-31dbb7270ad9
19-
github.com/iotaledger/hive.go/db v0.0.0-20240419094509-31dbb7270ad9
20-
github.com/iotaledger/hive.go/ds v0.0.0-20240419094509-31dbb7270ad9
21-
github.com/iotaledger/hive.go/ierrors v0.0.0-20240419094509-31dbb7270ad9
22-
github.com/iotaledger/hive.go/kvstore v0.0.0-20240419094509-31dbb7270ad9
23-
github.com/iotaledger/hive.go/lo v0.0.0-20240419094509-31dbb7270ad9
24-
github.com/iotaledger/hive.go/log v0.0.0-20240419094509-31dbb7270ad9
25-
github.com/iotaledger/hive.go/runtime v0.0.0-20240419094509-31dbb7270ad9
26-
github.com/iotaledger/hive.go/serializer/v2 v2.0.0-rc.1.0.20240419094509-31dbb7270ad9
27-
github.com/iotaledger/hive.go/sql v0.0.0-20240419094509-31dbb7270ad9
28-
github.com/iotaledger/hive.go/stringify v0.0.0-20240419094509-31dbb7270ad9
29-
github.com/iotaledger/inx-app v1.0.0-rc.3.0.20240423111221-4248ffa5d850
30-
github.com/iotaledger/inx/go v1.0.0-rc.2.0.20240423105148-cc9e62fe4f63
31-
github.com/iotaledger/iota.go/v4 v4.0.0-20240419095144-054bd7d2ba61
14+
github.com/iotaledger/hive.go/ads v0.0.0-20240425095808-113b21573349
15+
github.com/iotaledger/hive.go/app v0.0.0-20240425095808-113b21573349
16+
github.com/iotaledger/hive.go/constraints v0.0.0-20240425095808-113b21573349
17+
github.com/iotaledger/hive.go/core v1.0.0-rc.3.0.20240425095808-113b21573349
18+
github.com/iotaledger/hive.go/crypto v0.0.0-20240425095808-113b21573349
19+
github.com/iotaledger/hive.go/db v0.0.0-20240425095808-113b21573349
20+
github.com/iotaledger/hive.go/ds v0.0.0-20240425095808-113b21573349
21+
github.com/iotaledger/hive.go/ierrors v0.0.0-20240425095808-113b21573349
22+
github.com/iotaledger/hive.go/kvstore v0.0.0-20240425095808-113b21573349
23+
github.com/iotaledger/hive.go/lo v0.0.0-20240425095808-113b21573349
24+
github.com/iotaledger/hive.go/log v0.0.0-20240425095808-113b21573349
25+
github.com/iotaledger/hive.go/runtime v0.0.0-20240425095808-113b21573349
26+
github.com/iotaledger/hive.go/serializer/v2 v2.0.0-rc.1.0.20240425095808-113b21573349
27+
github.com/iotaledger/hive.go/sql v0.0.0-20240425095808-113b21573349
28+
github.com/iotaledger/hive.go/stringify v0.0.0-20240425095808-113b21573349
29+
github.com/iotaledger/inx-app v1.0.0-rc.3.0.20240425100742-5c85b6d16701
30+
github.com/iotaledger/inx/go v1.0.0-rc.2.0.20240425100432-05e1bf8fc089
31+
github.com/iotaledger/iota.go/v4 v4.0.0-20240425100055-540c74851d65
3232
github.com/labstack/echo/v4 v4.12.0
3333
github.com/labstack/gommon v0.4.2
3434
github.com/libp2p/go-libp2p v0.33.2
@@ -66,7 +66,7 @@ require (
6666
github.com/dustin/go-humanize v1.0.1 // indirect
6767
github.com/eclipse/paho.mqtt.golang v1.4.3 // indirect
6868
github.com/elastic/gosigar v0.14.3 // indirect
69-
github.com/ethereum/go-ethereum v1.13.15 // indirect
69+
github.com/ethereum/go-ethereum v1.14.0 // indirect
7070
github.com/fatih/structs v1.1.0 // indirect
7171
github.com/felixge/fgprof v0.9.4 // indirect
7272
github.com/flynn/noise v1.1.0 // indirect
@@ -83,7 +83,7 @@ require (
8383
github.com/google/go-github v17.0.0+incompatible // indirect
8484
github.com/google/go-querystring v1.1.0 // indirect
8585
github.com/google/gopacket v1.1.19 // indirect
86-
github.com/google/pprof v0.0.0-20240416155748-26353dc0451f // indirect
86+
github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6 // indirect
8787
github.com/gorilla/websocket v1.5.1 // indirect
8888
github.com/hashicorp/errwrap v1.1.0 // indirect
8989
github.com/hashicorp/go-multierror v1.1.1 // indirect
@@ -158,7 +158,7 @@ require (
158158
github.com/polydawn/refmt v0.89.0 // indirect
159159
github.com/prometheus/client_model v0.6.1 // indirect
160160
github.com/prometheus/common v0.53.0 // indirect
161-
github.com/prometheus/procfs v0.13.0 // indirect
161+
github.com/prometheus/procfs v0.14.0 // indirect
162162
github.com/quic-go/qpack v0.4.0 // indirect
163163
github.com/quic-go/quic-go v0.42.0 // indirect
164164
github.com/quic-go/webtransport-go v0.7.0 // indirect
@@ -171,10 +171,10 @@ require (
171171
github.com/valyala/fasttemplate v1.2.2 // indirect
172172
github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1 // indirect
173173
go.opencensus.io v0.24.0 // indirect
174-
go.opentelemetry.io/otel v1.25.0 // indirect
175-
go.opentelemetry.io/otel/metric v1.25.0 // indirect
176-
go.opentelemetry.io/otel/trace v1.25.0 // indirect
177-
go.uber.org/fx v1.21.0 // indirect
174+
go.opentelemetry.io/otel v1.26.0 // indirect
175+
go.opentelemetry.io/otel/metric v1.26.0 // indirect
176+
go.opentelemetry.io/otel/trace v1.26.0 // indirect
177+
go.uber.org/fx v1.21.1 // indirect
178178
go.uber.org/mock v0.4.0 // indirect
179179
go.uber.org/multierr v1.11.0 // indirect
180180
go.uber.org/zap v1.27.0 // indirect

0 commit comments

Comments
 (0)