tree block ref tables contain data but there is no data stored #889

Closed
opened 2024-10-18 15:23:01 +00:00 by nobodyspecial · 1 comment

As part of an experiment, I created a single node cluster and stored a bit under a TiB of data. After several weeks, I deleted all of the data. After allowing for data expiration to happen, I have zero files (other than "garage-marker") stored in the data/ directory. However, when I checked the metadata, there was still a large number of rows.

I am using sqlite as the metadata storage backend.

This is what I observe:

~/garage/meta> garage stats

Garage version: v1.0.1 [features: k2v, lmdb, sqlite, consul-discovery, kubernetes-discovery, metrics, telemetry-otlp, bundled-libs]
Rust compiler version: 1.77.0

Database engine: sqlite3 v3.45.0 (using rusqlite crate)

Table stats:
  Table      Items   MklItems  MklTodo  GcTodo
  bucket_v2  2       3         0        0
  key        2       3         0        0
  object     2366    2795      0        2366
  version    2366    2668      0        2366
  block_ref  924368  1014846   0        924368

Block manager stats:
  number of RC entries (~= number of blocks): 0
  resync queue length: 0
  blocks with resync errors: 0

Storage nodes:
  ID                Hostname  Zone  Capacity  Part.  DataAvail              MetaAvail
  f07245dc07f38a12  turnip    dc1   2.0 TB    256    2.1 TB/2.2 TB (94.8%)  2.1 TB/2.2 TB (94.8%)

Estimated available storage space cluster-wide (might be lower in practice):
  data: 2.1 TB
  metadata: 2.1 TB

~/garage/meta> 

I would expect that these tables would contain very few rows considering there is very little data stored.

As part of an experiment, I created a single node cluster and stored a bit under a TiB of data. After several weeks, I deleted all of the data. After allowing for data expiration to happen, I have zero *files* (other than "garage-marker") stored in the `data/` directory. However, when I checked the metadata, there was still a large number of rows. I am using sqlite as the metadata storage backend. This is what I observe: ``` ~/garage/meta> garage stats Garage version: v1.0.1 [features: k2v, lmdb, sqlite, consul-discovery, kubernetes-discovery, metrics, telemetry-otlp, bundled-libs] Rust compiler version: 1.77.0 Database engine: sqlite3 v3.45.0 (using rusqlite crate) Table stats: Table Items MklItems MklTodo GcTodo bucket_v2 2 3 0 0 key 2 3 0 0 object 2366 2795 0 2366 version 2366 2668 0 2366 block_ref 924368 1014846 0 924368 Block manager stats: number of RC entries (~= number of blocks): 0 resync queue length: 0 blocks with resync errors: 0 Storage nodes: ID Hostname Zone Capacity Part. DataAvail MetaAvail f07245dc07f38a12 turnip dc1 2.0 TB 256 2.1 TB/2.2 TB (94.8%) 2.1 TB/2.2 TB (94.8%) Estimated available storage space cluster-wide (might be lower in practice): data: 2.1 TB metadata: 2.1 TB ~/garage/meta> ``` I would expect that these tables would contain very few rows considering there is very little data stored.
Author

I need to be more patient. The issue resolved itself a day or two later. :-(

I need to be more patient. The issue resolved itself a day or two later. :-(
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Deuxfleurs/garage#889
No description provided.