From 0675db58e56a58fda9b481c3d338fec851cfac98 Mon Sep 17 00:00:00 2001 From: Al Cutter Date: Thu, 9 Jan 2025 15:02:45 +0000 Subject: [PATCH] Update callers --- storage/aws/aws.go | 6 +++++- storage/gcp/gcp.go | 6 +++++- storage/mysql/mysql.go | 6 +++++- storage/posix/files.go | 14 +++++++++----- 4 files changed, 24 insertions(+), 8 deletions(-) diff --git a/storage/aws/aws.go b/storage/aws/aws.go index b01a40a3..49b2d7a6 100644 --- a/storage/aws/aws.go +++ b/storage/aws/aws.go @@ -428,7 +428,11 @@ func (s *Storage) integrate(ctx context.Context, fromSeq uint64, entries []stora }) errG.Go(func() error { - newSize, root, tiles, err := storage.Integrate(ctx, getTiles, fromSeq, entries) + lh := make([][]byte, len(entries)) + for i, e := range entries { + lh[i] = e.LeafHash + } + newSize, root, tiles, err := storage.Integrate(ctx, getTiles, fromSeq, lh) if err != nil { return fmt.Errorf("Integrate: %v", err) } diff --git a/storage/gcp/gcp.go b/storage/gcp/gcp.go index 1f5ad5df..7bf1287a 100644 --- a/storage/gcp/gcp.go +++ b/storage/gcp/gcp.go @@ -382,7 +382,11 @@ func (s *Storage) integrate(ctx context.Context, fromSeq uint64, entries []stora return n, nil } - newSize, root, tiles, err := storage.Integrate(ctx, getTiles, fromSeq, entries) + lh := make([][]byte, len(entries)) + for i, e := range entries { + lh[i] = e.LeafHash + } + newSize, root, tiles, err := storage.Integrate(ctx, getTiles, fromSeq, lh) if err != nil { return fmt.Errorf("Integrate: %v", err) } diff --git a/storage/mysql/mysql.go b/storage/mysql/mysql.go index 0c79e1d6..6096d4a8 100644 --- a/storage/mysql/mysql.go +++ b/storage/mysql/mysql.go @@ -501,7 +501,11 @@ func (s *Storage) integrate(ctx context.Context, tx *sql.Tx, fromSeq uint64, ent } } - newSize, newRoot, tiles, err := storage.Integrate(ctx, getTiles, fromSeq, sequencedEntries) + lh := make([][]byte, len(sequencedEntries)) + for i, e := range sequencedEntries { + lh[i] = e.LeafHash + } + newSize, newRoot, tiles, err := storage.Integrate(ctx, getTiles, fromSeq, lh) if err != nil { return fmt.Errorf("tb.Integrate: %v", err) } diff --git a/storage/posix/files.go b/storage/posix/files.go index 63ec6490..ecb822b1 100644 --- a/storage/posix/files.go +++ b/storage/posix/files.go @@ -31,7 +31,7 @@ import ( "github.com/transparency-dev/trillian-tessera/api" "github.com/transparency-dev/trillian-tessera/api/layout" "github.com/transparency-dev/trillian-tessera/internal/options" - "github.com/transparency-dev/trillian-tessera/storage/internal" + storage "github.com/transparency-dev/trillian-tessera/storage/internal" "k8s.io/klog/v2" ) @@ -258,15 +258,19 @@ func (s *Storage) sequenceBatch(ctx context.Context, entries []*tessera.Entry) e } // For simplicity, in-line the integration of these new entries into the Merkle structure too. - if err := s.doIntegrate(ctx, seq, seqEntries); err != nil { + lh := make([][]byte, len(entries)) + for i, e := range entries { + lh[i] = e.LeafHash() + } + if err := s.doIntegrate(ctx, seq, lh); err != nil { klog.Errorf("Integrate failed: %v", err) return err } return nil } -// doIntegrate handles integrating new entries into the log, and updating the tree state. -func (s *Storage) doIntegrate(ctx context.Context, fromSeq uint64, entries []storage.SequencedEntry) error { +// doIntegrate handles integrating new leaf hashes into the log, and updating the tree state. +func (s *Storage) doIntegrate(ctx context.Context, fromSeq uint64, leafHashes [][]byte) error { getTiles := func(ctx context.Context, tileIDs []storage.TileID, treeSize uint64) ([]*api.HashTile, error) { n, err := s.readTiles(ctx, tileIDs, treeSize) if err != nil { @@ -275,7 +279,7 @@ func (s *Storage) doIntegrate(ctx context.Context, fromSeq uint64, entries []sto return n, nil } - newSize, newRoot, tiles, err := storage.Integrate(ctx, getTiles, fromSeq, entries) + newSize, newRoot, tiles, err := storage.Integrate(ctx, getTiles, fromSeq, leafHashes) if err != nil { klog.Errorf("Integrate: %v", err) return fmt.Errorf("Integrate: %v", err)