Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
release iter
Browse files Browse the repository at this point in the history
aptend committed Jan 17, 2025
1 parent deaa972 commit 6ac7a70
Showing 8 changed files with 10 additions and 2 deletions.
2 changes: 0 additions & 2 deletions pkg/vm/engine/tae/catalog/object_list.go
Original file line number Diff line number Diff line change
@@ -339,7 +339,6 @@ type VisibleCommittedObjectIt struct {
curr *ObjectEntry
txn txnif.TxnReader
isMockTxn bool
dropped map[objectio.ObjectId]struct{} // TODO(aptend): sync.Pool
firstCalled bool
}

@@ -355,7 +354,6 @@ func (l *ObjectList) MakeVisibleCommittedObjectIt(txn txnif.TxnReader) *VisibleC
iter: it,
txn: txn,
isMockTxn: len(txn.GetCtx()) == 0,
dropped: make(map[objectio.ObjectId]struct{}),
}
}

2 changes: 2 additions & 0 deletions pkg/vm/engine/tae/db/checkpoint/flusher.go
Original file line number Diff line number Diff line change
@@ -449,6 +449,7 @@ func foreachAobjBefore(_ context.Context,
key := &catalog.ObjectEntry{EntryMVCCNode: catalog.EntryMVCCNode{DeletedAt: ts.Next()}}

data := table.MakeDataObjectIt()
defer data.Release()
if ok = data.Seek(key); !ok {
ok = data.Last()
}
@@ -464,6 +465,7 @@ func foreachAobjBefore(_ context.Context,
}

tomb := table.MakeTombstoneObjectIt()
defer tomb.Release()
if ok = tomb.Seek(key); !ok {
ok = tomb.Last()
}
1 change: 1 addition & 0 deletions pkg/vm/engine/tae/db/checkpoint/runner.go
Original file line number Diff line number Diff line change
@@ -513,6 +513,7 @@ func IsTableTailFlushed(table *catalog.TableEntry, start, end types.TS, isTombst
table.WaitDataObjectCommitted(end)
it = table.MakeDataObjectIt()
}
defer it.Release()
earlybreak := false
// some entries shared the same timestamp with end, so we need to seek to the next one
key := &catalog.ObjectEntry{EntryMVCCNode: catalog.EntryMVCCNode{DeletedAt: end.Next()}}
1 change: 1 addition & 0 deletions pkg/vm/engine/tae/db/merge/policyCompact.go
Original file line number Diff line number Diff line change
@@ -84,6 +84,7 @@ func (o *objCompactPolicy) resetForTable(entry *catalog.TableEntry, config *Basi
o.objects = o.objects[:0]

tIter := entry.MakeTombstoneVisibleObjectIt(txnbase.MockTxnReaderWithNow())
defer tIter.Release()
for tIter.Next() {
tEntry := tIter.Item()

2 changes: 2 additions & 0 deletions pkg/vm/engine/tae/db/test/db_test.go
Original file line number Diff line number Diff line change
@@ -11201,12 +11201,14 @@ func TestDedupx(t *testing.T) {
t.Log(rel.SimplePPString(3))

nit := entry.MakeDataVisibleObjectIt(txnbase.MockTxnReaderWithNow())
defer nit.Release()
for nit.Next() {
t.Log(nit.Item().StringWithLevel(2))
}
require.NoError(t, txn.Rollback(ctx))
t.Log("after rollback")
nit = entry.MakeDataVisibleObjectIt(txnbase.MockTxnReaderWithNow())
defer nit.Release()
for nit.Next() {
t.Log(nit.Item().StringWithLevel(2))
}
1 change: 1 addition & 0 deletions pkg/vm/engine/tae/tables/table_scan.go
Original file line number Diff line number Diff line change
@@ -91,6 +91,7 @@ func TombstoneRangeScanByObject(
) (bat *containers.Batch, err error) {
tableEntry.WaitTombstoneObjectCommitted(end)
it := tableEntry.MakeTombstoneObjectIt()
defer it.Release()
earlybreak := false
for ok := it.Last(); ok; ok = it.Prev() {
if earlybreak {
2 changes: 2 additions & 0 deletions pkg/vm/engine/tae/txn/txnimpl/base_table.go
Original file line number Diff line number Diff line change
@@ -158,6 +158,7 @@ func (tbl *baseTable) getRowsByPK(ctx context.Context, pks containers.Vector) (r
} else {
it = tbl.txnTable.entry.MakeDataVisibleObjectIt(tbl.txnTable.store.txn)
}
defer it.Release()
rowIDs = tbl.txnTable.store.rt.VectorPool.Small.GetVector(&objectio.RowidType)
pkType := pks.GetType()
keysZM := index.NewZM(pkType.Oid, pkType.Scale)
@@ -217,6 +218,7 @@ func (tbl *baseTable) incrementalGetRowsByPK(ctx context.Context, pks containers
tbl.txnTable.entry.WaitDataObjectCommitted(to)
objIt = tbl.txnTable.entry.MakeDataObjectIt()
}
defer objIt.Release()
rowIDs = tbl.txnTable.store.rt.VectorPool.Small.GetVector(&objectio.RowidType)
vector.AppendMultiFixed[types.Rowid](
rowIDs.GetDownstreamVector(),
1 change: 1 addition & 0 deletions pkg/vm/engine/tae/txn/txnimpl/table.go
Original file line number Diff line number Diff line change
@@ -1118,6 +1118,7 @@ func (tbl *txnTable) findDeletes(

tbl.entry.WaitTombstoneObjectCommitted(to)
it := tbl.entry.MakeTombstoneObjectIt()
defer it.Release()
var earlybreak bool
for ok := it.Last(); ok; ok = it.Prev() {
if earlybreak {

0 comments on commit 6ac7a70

Please sign in to comment.