Tag go

Plugging a memory leak in rqlite

My most recent post on Reddit got a reader’s attention, and they remarked that rqlite 5.10.0 memory usage grew during the load test, but no such increase in memory usage was seen during the same testing of 5.6.0. Sure enough,…

rqlite 5.8.0 released

rqlite is a lightweight, open-source, distributed relational database written in Go, with SQLite as its storage engine. v5.8.0 is now out, fixes some minor bugs, and adds support for HTTP/2 over TLS. It also stores a compressed copy of the…

Moving to Protocol Buffers with rqlite 5.7.0

rqlite is a lightweight, open-source, distributed relational database written in Go, with SQLite as its storage engine. v5.7.0 is now out, and introduces a major implementation change — replacing JSON encoding with Protocol Buffers for the Raft Log Entries.

Parameterized SQL with rqlite 5.5.0

rqlite is a lightweight, open-source, distributed relational database written in Go, with SQLite as its storage engine. v5.5.0 is now out, and adds support for Parameterized SQL statements.

rqlite 5.4.2 released

rqlite is a lightweight, open-source, distributed relational database written in Go, with SQLite as its storage engine. v5.4.2 is now out, and fixes a bug related to HTTPS operation. You can download the release from GitHub.

rqlite 5.4.0 released

rqlite is a lightweight, open-source, distributed relational database written in Go, with SQLite as its storage engine. v5.4.0 is now out, and adds some more control over cluster-join operations. You can download the release from GitHub.

rqlite 5.3.0 released

rqlite is a lightweight, open-source, distributed relational database written in Go, with SQLite as its storage engine. v5.3.0 is now out, and adds a new node-removal command to the CLI. You can download the release from GitHub.

rqlite 5.2.0 released

rqlite is a lightweight, open-source, distributed relational database written in Go, with SQLite as its storage engine. v5.2.0 is now out, and has an important bug fix related to its use of the Raft consensus system. Upgrading is strongly recommended.…

rqlite 5.1.1 released

rqlite is a lightweight, open-source, distributed relational database written in Go, with SQLite as its storage engine. v5.1.1 is now out, and fixes a minor bug related to stale reads and freshness checking. You can download the release from GitHub.

rqlite 5.0.0 released

rqlite is a lightweight, open-source, distributed relational database written in Go, with SQLite as its storage engine. v5.0.0 is now out, and is the first major upgrade in over 2 years.

rqlite 4.6.0 released

rqlite is a lightweight, open-source distributed relational database, with SQLite as its storage engine. v4.6.0 is now out has many new database management features. You can download the release from GitHub.

Enabling CircleCI testing for gorqlite

rqlite is a lightweight, open-source distributed relational database, with SQLite as its storage engine. gorqlite is a Go client library, originally written by raindog308. While the client library doesn’t adhere to the Go database standard, it is still starting to get some…

go mod in rqlite

rqlite is a lightweight, open-source distributed relational database, with SQLite as its storage engine. The 5.0 branch of rqlite now has standard dependency management. Thanks to Elliot Courant, this pull request adds go mod support.

rqlite 4.5.0 released

rqlite is a lightweight, open-source distributed relational database, with SQLite as its storage engine. v4.5.0 is now out and supports passing a root Certificate Authority cert to the CLI. You can download the release from GitHub.

rqlite 4.4.0 released

rqlite is a lightweight, open-source distributed relational database, with SQLite as its storage engine. v4.4.0 is now out and allows the Raft election timeout to be set. You can download the release from GitHub.

Batching in Go

The batching of data or computation amortizing a fixed cost over multiple units — is a very common pattern in many computers systems. It’s particularly prevalent in networking and CPU memory accesses. But the implementation of batching includes many subtleties…

rqlite 4.3.1 released

rqlite is a lightweight, open-source distributed relational database, with SQLite as its storage engine. v4.3.1 is now out and includes some cluster management fixes. You can download the release from GitHub.

rqlite at the Pitt CS Club

I recently had a chance to speak about rqlite, the distributed, lightweight database built on SQLite, at the University of Pittsburgh Computer Science Club. It was a good evening as  I spoke about distributed systems, the problems they solve, and how rqlite…

Go race detection and failing fast

Go remains one of the languages I’m most productive in. Its combination of the rigour of static typing, but fluidity of Python, makes it both robust and easy to code in. It’s also got some innovative features that help you…

rqlite moved to Circle 2.0

I’ve moved continuous testing of rqlite to CircleCI 2.0. The initial work I did with hraftd was helpful, though rqlite was definitely more involved. Testing is significantly quicker with the new, container-based, version of CircleCI, which should help noticeably with…

Moving to CircleCI 2.0

CircleCI, which I used for much of my open-source integration testing, has released version 2.0. Support for 1.0 is finishing in August 2018, so it’s time to migrate my projects. I’ve started with hraftd. It was pretty easy, but I…

rqlite and Hashicorp Raft 1.0

Hashicorp recently released version 1.0 of their Raft consensus package.  The Hashicorp implementation, along with SQLite, forms the core of rqlite. rqlite has now been ported to release 1.0 and will be a key change in the upcoming release of…

rqlite 4.3.0 released

rqlite is a lightweight, open-source distributed relational database, with SQLite as its storage engine. v4.3.0 is now out and includes some new security functionality. You can download the release from GitHub.