File tree Expand file tree Collapse file tree 4 files changed +17
-36
lines changed Expand file tree Collapse file tree 4 files changed +17
-36
lines changed Original file line number Diff line number Diff line change 5
5
"runtime/debug"
6
6
)
7
7
8
- var tag = "alpha-v1.14 "
8
+ var tag = "alpha-v1.15 "
9
9
10
10
var commit = func () string {
11
11
if info , ok := debug .ReadBuildInfo (); ok {
Original file line number Diff line number Diff line change @@ -241,7 +241,7 @@ func (r *Roller) prove() error {
241
241
}
242
242
} else {
243
243
// when the roller has more than 3 times panic,
244
- // it will omit to prove the task, submit StatusProofError and then Pop the task.
244
+ // it will omit to prove the task, submit StatusProofError and then Delete the task.
245
245
proofMsg = & message.ProofDetail {
246
246
Status : message .StatusProofError ,
247
247
Error : "zk proving panic" ,
@@ -251,7 +251,7 @@ func (r *Roller) prove() error {
251
251
}
252
252
253
253
defer func () {
254
- _ , err = r .stack .Pop ( )
254
+ err = r .stack .Delete ( task . Task . ID )
255
255
if err != nil {
256
256
log .Error ("roller stack pop failed!" , "err" , err )
257
257
}
Original file line number Diff line number Diff line change @@ -81,28 +81,12 @@ func (s *Stack) Peek() (*ProvingTask, error) {
81
81
return traces , nil
82
82
}
83
83
84
- // Pop pops the proving-task on the top of Stack.
85
- func (s * Stack ) Pop () (* ProvingTask , error ) {
86
- var value []byte
87
- if err := s .Update (func (tx * bbolt.Tx ) error {
88
- var key []byte
84
+ // Delete pops the proving-task on the top of Stack.
85
+ func (s * Stack ) Delete (taskID string ) error {
86
+ return s .Update (func (tx * bbolt.Tx ) error {
89
87
bu := tx .Bucket (bucket )
90
- c := bu .Cursor ()
91
- key , value = c .Last ()
92
- return bu .Delete (key )
93
- }); err != nil {
94
- return nil , err
95
- }
96
- if len (value ) == 0 {
97
- return nil , ErrEmpty
98
- }
99
-
100
- task := & ProvingTask {}
101
- err := json .Unmarshal (value , task )
102
- if err != nil {
103
- return nil , err
104
- }
105
- return task , nil
88
+ return bu .Delete ([]byte (taskID ))
89
+ })
106
90
}
107
91
108
92
// UpdateTimes udpates the roller prove times of the proving task.
Original file line number Diff line number Diff line change @@ -36,10 +36,12 @@ func TestStack(t *testing.T) {
36
36
}
37
37
38
38
for i := 2 ; i >= 0 ; i -- {
39
- var pop * ProvingTask
40
- pop , err = s .Pop ()
39
+ var peek * ProvingTask
40
+ peek , err = s .Peek ()
41
+ assert .NoError (t , err )
42
+ assert .Equal (t , strconv .Itoa (i ), peek .Task .ID )
43
+ err = s .Delete (strconv .Itoa (i ))
41
44
assert .NoError (t , err )
42
- assert .Equal (t , strconv .Itoa (i ), pop .Task .ID )
43
45
}
44
46
45
47
// test times
@@ -52,18 +54,13 @@ func TestStack(t *testing.T) {
52
54
}
53
55
err = s .Push (task )
54
56
assert .NoError (t , err )
55
- pop , err := s .Pop ()
56
- assert .NoError (t , err )
57
- err = s .Push (pop )
58
- assert .NoError (t , err )
59
-
60
57
peek , err := s .Peek ()
61
58
assert .NoError (t , err )
62
- pop2 , err := s .Pop ()
59
+ assert .Equal (t , 0 , peek .Times )
60
+ err = s .UpdateTimes (peek , 3 )
63
61
assert .NoError (t , err )
64
- assert .Equal (t , peek , pop2 )
65
62
66
- s . UpdateTimes ( pop2 , 1 )
63
+ peek2 , err := s . Peek ( )
67
64
assert .NoError (t , err )
68
- assert .Equal (t , 1 , pop2 .Times )
65
+ assert .Equal (t , 3 , peek2 .Times )
69
66
}
You can’t perform that action at this time.
0 commit comments