Ivan Shvedunov
Ivan Shvedunov
## Description Need to be have a metric that reflects current memory allocation by SQLite. This is doable by means of [sqlite3_status](https://www.sqlite.org/c3ref/status.html)([SQLITE_STATUS_MEMORY_USED](https://www.sqlite.org/c3ref/c_status_malloc_count.html#sqlitestatusmemoryused)) Note that this functionality is not directly exposed...
## Description We need a better database schema handling mechanism as there are a few problems with the current one. ### No place to look for the schema in the...
## Description Presently there are no systests that validate QUIC protocol and routing discovery for libp2p. As a result, there may be unnoticed regressions from time to time, see libp2p/go-libp2p#2825...
## Description In some cases, `go-spacemesh` may consume too much bandwidth, overwhelming users' network connections. While this needs to be fixed by improving pubsub and sync mechanisms, the users need...
## Description Currently, we're using a single DHT for both LAN and WAN. This means that libp2p-kad-dht's IP diversity filter is not being used for the peers participating in the...
## Description go-spacemesh uses too much memory. On nodes with high number of peers (~1000) RSS may reach 10-12 GiB and even more, causing OOM on a Linux system with...
## Description Given that almost all the users have upgraded to the version that supports a separate protocol (`as/1`) for active sets, we can disallow activeset fetching using `hs/1` (normal...
## Description In order to detect the situation when a context used to create an SQLite transaction is canceled, the database code checks for `sqlite.SQLITE_INTERRUPT` error and assumes it always...
## Motivation When `recovery.recovery-uri` is configured and an error happens, such as network glitch or a temporary server error due to overload, go-spacemesh continues its execution without recovery, which may...
`ROWID` column reference is not handled correctly. ``` func TestRowID(t *testing.T) { _, err := sql.NewParser(strings.NewReader("select max(rowid) from foo")).ParseStatement() if err != nil { t.Fatalf("can't parse rowid: %v", err) }...