Skip to content

Commit f78f9be

Browse files
authored
Merge pull request #198 from vulcanize/v1.10.15-statediff-3.0.1
fix possible race condition
2 parents d2711b0 + 056fc82 commit f78f9be

File tree

8 files changed

+24
-23
lines changed

8 files changed

+24
-23
lines changed

Makefile

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,10 @@ devtools:
7373

7474
.PHONY: statedifftest
7575
statedifftest: | $(GOOSE)
76-
MODE=statediff go test -p 1 ./statediff/... -v
76+
GO111MODULE=on go get github.com/stretchr/testify/[email protected]
77+
GO111MODULE=on MODE=statediff go test -p 1 ./statediff/... -v
7778

7879
.PHONY: statediff_filewriting_test
7980
statediff_filetest: | $(GOOSE)
80-
MODE=statediff STATEDIFF_DB=file go test -p 1 ./statediff/... -v
81+
GO111MODULE=on go get github.com/stretchr/testify/[email protected]
82+
GO111MODULE=on MODE=statediff STATEDIFF_DB=file go test -p 1 ./statediff/... -v

docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ services:
66
image: vulcanize/ipld-eth-db:v0.3.1
77
environment:
88
POSTGRES_USER: "vdbm"
9-
POSTGRES_DB: "vulcanize_public"
9+
POSTGRES_DB: "vulcanize_testing_v3"
1010
POSTGRES_PASSWORD: "password"
1111
volumes:
1212
- geth_node:/var/lib/postgresql/data

params/version.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ const (
2424
VersionMajor = 1 // Major version component of the current release
2525
VersionMinor = 10 // Minor version component of the current release
2626
VersionPatch = 15 // Patch version component of the current release
27-
VersionMeta = "statediff-3.0.0" // Version metadata to append to the version string
27+
VersionMeta = "statediff-3.0.1" // Version metadata to append to the version string
2828
)
2929

3030
// Version holds the textual version string.

statediff/indexer/database/file/indexer_test.go

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -406,15 +406,20 @@ func TestFileIndexer(t *testing.T) {
406406

407407
var nodeElements []interface{}
408408
for idx, r := range results {
409-
// Decode the log leaf node.
409+
// Attempt to decode the log leaf node.
410410
err = rlp.DecodeBytes(r.Data, &nodeElements)
411411
require.NoError(t, err)
412-
413-
logRaw, err := rlp.EncodeToBytes(expectedLogs[idx])
414-
require.NoError(t, err)
415-
416-
// 2nd element of the leaf node contains the encoded log data.
417-
test_helpers.ExpectEqual(t, logRaw, nodeElements[1].([]byte))
412+
if len(nodeElements) == 2 {
413+
logRaw, err := rlp.EncodeToBytes(expectedLogs[idx])
414+
require.NoError(t, err)
415+
// 2nd element of the leaf node contains the encoded log data.
416+
test_helpers.ExpectEqual(t, logRaw, nodeElements[1].([]byte))
417+
} else {
418+
logRaw, err := rlp.EncodeToBytes(expectedLogs[idx])
419+
require.NoError(t, err)
420+
// raw log was IPLDized
421+
test_helpers.ExpectEqual(t, logRaw, r.Data)
422+
}
418423
}
419424
}
420425
})

statediff/indexer/database/sql/indexer.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -150,8 +150,10 @@ func (sdi *StateDiffIndexer) PushBlock(block *types.Block, receipts types.Receip
150150
dbtx: tx,
151151
// handle transaction commit or rollback for any return case
152152
submit: func(self *BatchTx, err error) error {
153-
close(self.quit)
154-
close(self.iplds)
153+
defer func() {
154+
close(self.quit)
155+
close(self.iplds)
156+
}()
155157
if p := recover(); p != nil {
156158
rollback(sdi.ctx, tx)
157159
panic(p)

statediff/indexer/database/sql/pgx_indexer_test.go

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -277,15 +277,11 @@ func TestPGXIndexer(t *testing.T) {
277277
err = rlp.DecodeBytes(r.Data, &nodeElements)
278278
require.NoError(t, err)
279279
if len(nodeElements) == 2 {
280-
log := new(types.Log)
281-
rlp.DecodeBytes(nodeElements[1].([]byte), log)
282280
logRaw, err := rlp.EncodeToBytes(expectedLogs[idx])
283281
require.NoError(t, err)
284282
// 2nd element of the leaf node contains the encoded log data.
285283
test_helpers.ExpectEqual(t, logRaw, nodeElements[1].([]byte))
286284
} else {
287-
log := new(types.Log)
288-
rlp.DecodeBytes(r.Data, log)
289285
logRaw, err := rlp.EncodeToBytes(expectedLogs[idx])
290286
require.NoError(t, err)
291287
// raw log was IPLDized

statediff/indexer/database/sql/postgres/config.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ var DefaultConfig = Config{
5050
Hostname: "localhost",
5151
Port: 5432,
5252
DatabaseName: "vulcanize_testing_v3",
53-
Username: "postgres",
54-
Password: "",
53+
Username: "vdbm",
54+
Password: "password",
5555
}
5656

5757
// Config holds params for a Postgres db

statediff/indexer/database/sql/sqlx_indexer_test.go

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -278,15 +278,11 @@ func TestSQLXIndexer(t *testing.T) {
278278
err = rlp.DecodeBytes(r.Data, &nodeElements)
279279
require.NoError(t, err)
280280
if len(nodeElements) == 2 {
281-
log := new(types.Log)
282-
rlp.DecodeBytes(nodeElements[1].([]byte), log)
283281
logRaw, err := rlp.EncodeToBytes(expectedLogs[idx])
284282
require.NoError(t, err)
285283
// 2nd element of the leaf node contains the encoded log data.
286284
test_helpers.ExpectEqual(t, logRaw, nodeElements[1].([]byte))
287285
} else {
288-
log := new(types.Log)
289-
rlp.DecodeBytes(r.Data, log)
290286
logRaw, err := rlp.EncodeToBytes(expectedLogs[idx])
291287
require.NoError(t, err)
292288
// raw log was IPLDized

0 commit comments

Comments
 (0)