Skip to content

Commit 23cc670

Browse files
authored
upgrade clickhouse library to fix EOF errors (#219)
### TL;DR Updated dependencies in the Go module and added proper resource cleanup with `defer batch.Close()` in ClickHouse operations. ### What changed? 1. Updated Go dependencies: - Updated ClickHouse dependencies: `clickhouse-go/v2` from v2.30.1 to v2.36.0 and `ch-go` from v0.63.1 to v0.66.0 - Updated various other dependencies including `klauspost/compress`, `magiconair/properties`, `opentelemetry`, and multiple Golang packages - Fixed Go version specification from 1.23 to 1.23.0 2. Added proper resource cleanup in the ClickHouse connector: - Added `defer batch.Close()` after each batch creation in multiple methods to ensure proper cleanup of resources - This prevents potential resource leaks in the database operations ### How to test? 1. Run the application with the updated dependencies to verify it works correctly 2. Execute operations that use the ClickHouse connector to ensure they complete successfully 3. Monitor resource usage during heavy database operations to verify there are no memory leaks ### Why make this change? 1. Dependency updates provide bug fixes, performance improvements, and security patches from the latest versions 2. Adding proper resource cleanup with `defer batch.Close()` prevents potential memory leaks and resource exhaustion during database operations, especially under high load 3. These changes improve the overall stability and reliability of the application, particularly when dealing with database operations <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Chores** - Updated Go version specification and upgraded multiple dependencies to their latest versions for improved stability and compatibility. - **Bug Fixes** - Improved resource management during batch inserts to ensure resources are properly released after operations. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2 parents 8e3d75c + 7a61163 commit 23cc670

File tree

3 files changed

+50
-14
lines changed

3 files changed

+50
-14
lines changed

go.mod

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
module github.com/thirdweb-dev/indexer
22

3-
go 1.23
3+
go 1.23.0
44

55
require (
6-
github.com/ClickHouse/clickhouse-go/v2 v2.30.1
6+
github.com/ClickHouse/clickhouse-go/v2 v2.36.0
77
github.com/ethereum/go-ethereum v1.14.8
88
github.com/gin-gonic/gin v1.10.0
99
github.com/gorilla/schema v1.4.1
@@ -19,7 +19,7 @@ require (
1919
)
2020

2121
require (
22-
github.com/ClickHouse/ch-go v0.63.1 // indirect
22+
github.com/ClickHouse/ch-go v0.66.0 // indirect
2323
github.com/KyleBanks/depth v1.2.1 // indirect
2424
github.com/Microsoft/go-winio v0.6.2 // indirect
2525
github.com/andybalholm/brotli v1.1.1 // indirect
@@ -61,10 +61,10 @@ require (
6161
github.com/inconshreveable/mousetrap v1.1.0 // indirect
6262
github.com/josharian/intern v1.0.0 // indirect
6363
github.com/json-iterator/go v1.1.12 // indirect
64-
github.com/klauspost/compress v1.17.11 // indirect
64+
github.com/klauspost/compress v1.18.0 // indirect
6565
github.com/klauspost/cpuid/v2 v2.2.9 // indirect
6666
github.com/leodido/go-urn v1.4.0 // indirect
67-
github.com/magiconair/properties v1.8.7 // indirect
67+
github.com/magiconair/properties v1.8.10 // indirect
6868
github.com/mailru/easyjson v0.7.7 // indirect
6969
github.com/mattn/go-colorable v0.1.13 // indirect
7070
github.com/mattn/go-isatty v0.0.20 // indirect
@@ -99,18 +99,18 @@ require (
9999
github.com/twmb/franz-go/pkg/kmsg v1.9.0 // indirect
100100
github.com/ugorji/go/codec v1.2.12 // indirect
101101
github.com/urfave/cli/v2 v2.27.4 // indirect
102-
github.com/yusufpapurcu/wmi v1.2.3 // indirect
103-
go.opentelemetry.io/otel v1.26.0 // indirect
104-
go.opentelemetry.io/otel/trace v1.26.0 // indirect
102+
github.com/yusufpapurcu/wmi v1.2.4 // indirect
103+
go.opentelemetry.io/otel v1.36.0 // indirect
104+
go.opentelemetry.io/otel/trace v1.36.0 // indirect
105105
go.uber.org/multierr v1.11.0 // indirect
106106
golang.org/x/arch v0.12.0 // indirect
107-
golang.org/x/crypto v0.33.0 // indirect
107+
golang.org/x/crypto v0.38.0 // indirect
108108
golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8 // indirect
109-
golang.org/x/net v0.35.0 // indirect
110-
golang.org/x/sync v0.11.0 // indirect
111-
golang.org/x/sys v0.30.0 // indirect
112-
golang.org/x/text v0.22.0 // indirect
113-
golang.org/x/tools v0.25.0 // indirect
109+
golang.org/x/net v0.40.0 // indirect
110+
golang.org/x/sync v0.14.0 // indirect
111+
golang.org/x/sys v0.33.0 // indirect
112+
golang.org/x/text v0.25.0 // indirect
113+
golang.org/x/tools v0.30.0 // indirect
114114
google.golang.org/protobuf v1.36.1 // indirect
115115
gopkg.in/ini.v1 v1.67.0 // indirect
116116
gopkg.in/yaml.v3 v3.0.1 // indirect

go.sum

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
github.com/ClickHouse/ch-go v0.63.1 h1:s2JyZvWLTCSAGdtjMBBmAgQQHMco6pawLJMOXi0FODM=
22
github.com/ClickHouse/ch-go v0.63.1/go.mod h1:I1kJJCL3WJcBMGe1m+HVK0+nREaG+JOYYBWjrDrF3R0=
3+
github.com/ClickHouse/ch-go v0.66.0 h1:hLslxxAVb2PHpbHr4n0d6aP8CEIpUYGMVT1Yj/Q5Img=
4+
github.com/ClickHouse/ch-go v0.66.0/go.mod h1:noiHWyLMJAZ5wYuq3R/K0TcRhrNA8h7o1AqHX0klEhM=
5+
github.com/ClickHouse/clickhouse-go v1.5.4 h1:cKjXeYLNWVJIx2J1K6H2CqyRmfwVJVY1OV1coaaFcI0=
36
github.com/ClickHouse/clickhouse-go/v2 v2.30.1 h1:Dy0n0l+cMbPXs8hFkeeWGaPKrB+MDByUNQBSmRO3W6k=
47
github.com/ClickHouse/clickhouse-go/v2 v2.30.1/go.mod h1:szk8BMoQV/NgHXZ20ZbwDyvPWmpfhRKjFkc6wzASGxM=
8+
github.com/ClickHouse/clickhouse-go/v2 v2.36.0 h1:FJ03h8VdmBUhvR9nQEu5jRLdfG0c/HSxUjiNdOxRQww=
9+
github.com/ClickHouse/clickhouse-go/v2 v2.36.0/go.mod h1:aijX64fKD1hAWu/zqWEmiGk7wRE8ZnpN0M3UvjsZG3I=
510
github.com/DataDog/zstd v1.4.5 h1:EndNeuB0l9syBZhut0wns3gV1hL8zX8LIu6ZiVHWLIQ=
611
github.com/DataDog/zstd v1.4.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo=
712
github.com/KyleBanks/depth v1.2.1 h1:5h8fQADFrWtarTdtDudMmGsC7GPbOAu6RVB3ffsVFHc=
@@ -127,6 +132,7 @@ github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
127132
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
128133
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
129134
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
135+
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
130136
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
131137
github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
132138
github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
@@ -162,6 +168,8 @@ github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+o
162168
github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
163169
github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc=
164170
github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0=
171+
github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo=
172+
github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ=
165173
github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
166174
github.com/klauspost/cpuid/v2 v2.2.9 h1:66ze0taIn2H33fBvCkXuv9BmCwDfafmiIVpKV9kKGuY=
167175
github.com/klauspost/cpuid/v2 v2.2.9/go.mod h1:rqkxqrZ1EhYM9G+hXH7YdowN5R5RGN6NK4QwQ3WMXF8=
@@ -181,6 +189,8 @@ github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ=
181189
github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI=
182190
github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
183191
github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
192+
github.com/magiconair/properties v1.8.10 h1:s31yESBquKXCV9a/ScB3ESkOjUYYv+X0rg8SYxI99mE=
193+
github.com/magiconair/properties v1.8.10/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
184194
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
185195
github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
186196
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
@@ -318,11 +328,16 @@ github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9dec
318328
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
319329
github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFiw=
320330
github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
331+
github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
321332
go.mongodb.org/mongo-driver v1.11.4/go.mod h1:PTSz5yu21bkT/wXpkS7WR5f0ddqw5quethTUn9WM+2g=
322333
go.opentelemetry.io/otel v1.26.0 h1:LQwgL5s/1W7YiiRwxf03QGnWLb2HW4pLiAhaA5cZXBs=
323334
go.opentelemetry.io/otel v1.26.0/go.mod h1:UmLkJHUAidDval2EICqBMbnAd0/m2vmpf/dAM+fvFs4=
335+
go.opentelemetry.io/otel v1.36.0 h1:UumtzIklRBY6cI/lllNZlALOF5nNIzJVb16APdvgTXg=
336+
go.opentelemetry.io/otel v1.36.0/go.mod h1:/TcFMXYjyRNh8khOAO9ybYkqaDBb/70aVwkNML4pP8E=
324337
go.opentelemetry.io/otel/trace v1.26.0 h1:1ieeAUb4y0TE26jUFrCIXKpTuVK7uJGN9/Z/2LP5sQA=
325338
go.opentelemetry.io/otel/trace v1.26.0/go.mod h1:4iDxvGDQuUkHve82hJJ8UqrwswHYsZuWCBllGV2U2y0=
339+
go.opentelemetry.io/otel/trace v1.36.0 h1:ahxWNuqZjpdiFAyrIoQ4GIiAIhxAunQR6MUoKrsNd4w=
340+
go.opentelemetry.io/otel/trace v1.36.0/go.mod h1:gQ+OnDZzrybY4k4seLzPAWNwVBBVlF2szhehOBB/tGA=
326341
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
327342
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
328343
golang.org/x/arch v0.12.0 h1:UsYJhbzPYGsT0HbEdmYcqtCv8UNGvnaL561NnIUvaKg=
@@ -334,6 +349,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y
334349
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
335350
golang.org/x/crypto v0.33.0 h1:IOBPskki6Lysi0lo9qQvbxiQ+FvsCC/YWOecCHAixus=
336351
golang.org/x/crypto v0.33.0/go.mod h1:bVdXmD7IV/4GdElGPozy6U7lWdRXA4qyRVGJV57uQ5M=
352+
golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8=
353+
golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw=
337354
golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8 h1:aAcj0Da7eBAtrTp03QXWvm88pSyOt+UgdZw2BFZ+lEw=
338355
golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8/go.mod h1:CQ1k9gNrJ50XIzaKCRR2hssIjF07kZFEiieALBM/ARQ=
339356
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
@@ -351,13 +368,17 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug
351368
golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
352369
golang.org/x/net v0.35.0 h1:T5GQRQb2y08kTAByq9L4/bz8cipCdA8FbRTXewonqY8=
353370
golang.org/x/net v0.35.0/go.mod h1:EglIi67kWsHKlRzzVMUD93VMSWGFOMSZgxFjparz1Qk=
371+
golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY=
372+
golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds=
354373
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
355374
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
356375
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
357376
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
358377
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
359378
golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w=
360379
golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
380+
golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ=
381+
golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
361382
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
362383
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
363384
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -376,6 +397,8 @@ golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
376397
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
377398
golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
378399
golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
400+
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
401+
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
379402
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
380403
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
381404
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
@@ -386,6 +409,8 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
386409
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
387410
golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM=
388411
golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=
412+
golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4=
413+
golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
389414
golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk=
390415
golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
391416
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -395,6 +420,8 @@ golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4f
395420
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
396421
golang.org/x/tools v0.25.0 h1:oFU9pkj/iJgs+0DT+VMHrx+oBKs/LJMV+Uvg78sl+fE=
397422
golang.org/x/tools v0.25.0/go.mod h1:/vtpO8WL1N9cQC3FN5zPqb//fRXskFHbLKk4OW1Q7rg=
423+
golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY=
424+
golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY=
398425
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
399426
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
400427
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=

internal/storage/clickhouse.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@ func (c *ClickHouseConnector) insertBlocks(blocks []common.Block, opt InsertOpti
142142
if err != nil {
143143
return err
144144
}
145+
defer batch.Close()
145146

146147
for _, block := range blocks[i:end] {
147148
args := []interface{}{
@@ -212,6 +213,7 @@ func (c *ClickHouseConnector) insertTransactions(txs []common.Transaction, opt I
212213
if err != nil {
213214
return err
214215
}
216+
defer batch.Close()
215217

216218
for _, tx := range txs[i:end] {
217219
args := []interface{}{
@@ -293,6 +295,7 @@ func (c *ClickHouseConnector) insertLogs(logs []common.Log, opt InsertOptions) e
293295
if err != nil {
294296
return err
295297
}
298+
defer batch.Close()
296299

297300
for _, log := range logs[i:end] {
298301
args := []interface{}{
@@ -356,6 +359,7 @@ func (c *ClickHouseConnector) insertTraces(traces []common.Trace, opt InsertOpti
356359
if err != nil {
357360
return err
358361
}
362+
defer batch.Close()
359363

360364
for _, trace := range traces[i:end] {
361365
args := []interface{}{
@@ -413,6 +417,7 @@ func (c *ClickHouseConnector) StoreBlockFailures(failures []common.BlockFailure)
413417
if err != nil {
414418
return err
415419
}
420+
defer batch.Close()
416421

417422
for _, failure := range failures {
418423
err := batch.Append(
@@ -875,6 +880,7 @@ func (c *ClickHouseConnector) DeleteBlockFailures(failures []common.BlockFailure
875880
if err != nil {
876881
return err
877882
}
883+
defer batch.Close()
878884

879885
for _, failure := range failures {
880886
err := batch.Append(
@@ -911,6 +917,7 @@ func (c *ClickHouseConnector) InsertStagingData(data []common.BlockData) error {
911917
if err != nil {
912918
return err
913919
}
920+
defer batch.Close()
914921
for _, blockData := range data {
915922
blockDataJSON, err := json.Marshal(blockData)
916923
if err != nil {
@@ -975,6 +982,7 @@ func (c *ClickHouseConnector) DeleteStagingData(data []common.BlockData) error {
975982
if err != nil {
976983
return err
977984
}
985+
defer batch.Close()
978986

979987
for _, blockData := range data {
980988
err := batch.Append(
@@ -1178,6 +1186,7 @@ func (c *ClickHouseConnector) InsertBlockData(data []common.BlockData) error {
11781186
if err != nil {
11791187
return err
11801188
}
1189+
defer batch.Close()
11811190

11821191
for _, blockData := range data[i:end] {
11831192
block := blockData.Block

0 commit comments

Comments
 (0)