Skip to content

Commit bd2bf19

Browse files
authored
Merge branch 'main' into marko/flatten_grpc
2 parents e39161d + 1f1f48e commit bd2bf19

27 files changed

Lines changed: 2451 additions & 299 deletions

‎CHANGELOG.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1414
- Optimization of mutex usage in cache for reaper [#3286](https://github.com/evstack/ev-node/pull/3286)
1515
- Add Unix domain socket support for gRPC execution endpoints via `unix:///path/to/socket` [#3297](https://github.com/evstack/ev-node/pull/3297)
1616
- **BREAKING:** Replace legacy gRPC execution `txs` payload fields with `tx_batch` so clients and servers use contiguous transaction buffers [#3297](https://github.com/evstack/ev-node/pull/3297)
17+
- Optimize metadata writes by making it async in cache store [#3298](https://github.com/evstack/ev-node/pull/3298)
18+
- Reduce tx cache retention to avoid OOM under (really) heavy tx load [#3299](https://github.com/evstack/ev-node/pull/3299)
1719

1820
## v1.1.1
1921

‎block/internal/cache/manager.go‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ const (
2626
DataDAIncludedPrefix = "cache/data-da-included/"
2727

2828
// DefaultTxCacheRetention is the default time to keep transaction hashes in cache.
29-
DefaultTxCacheRetention = 24 * time.Hour
29+
// Keeping a too high value can lead to OOM during heavy transaction load.
30+
DefaultTxCacheRetention = 30 * time.Minute
3031
)
3132

3233
// CacheManager provides thread-safe cache operations for tracking seen blocks

‎block/internal/reaping/reaper.go‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,10 @@ import (
2121
const (
2222
// MaxBackoffInterval is the maximum backoff interval for retries
2323
MaxBackoffInterval = 30 * time.Second
24-
CleanupInterval = 1 * time.Hour
24+
25+
// CleanupInterval is how often the reaper sweeps expired hashes
26+
// out of the seen-tx cache.
27+
CleanupInterval = max(cache.DefaultTxCacheRetention/10, 15*time.Second)
2528
)
2629

2730
// Reaper is responsible for periodically retrieving transactions from the executor,

‎docs/.vitepress/config.ts‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,6 +279,24 @@ function sidebarHome() {
279279
},
280280
],
281281
},
282+
{
283+
text: "High Availability",
284+
collapsed: true,
285+
items: [
286+
{
287+
text: "Overview & Configuration",
288+
link: "/guides/ha/overview",
289+
},
290+
{
291+
text: "Bootstrap a 5-Node Cluster",
292+
link: "/guides/ha/cluster-setup",
293+
},
294+
{
295+
text: "Migrate Single → HA",
296+
link: "/guides/ha/single-to-ha",
297+
},
298+
],
299+
},
282300
{
283301
text: "Run a Full Node",
284302
link: "/guides/full-node",

0 commit comments

Comments
 (0)