Bigtable emulator feature reference
Use this page to understand the bounded Bigtable behavior observed during the documentation audit. Do not treat it as production Bigtable parity or as proof of behavior in a released LocalCloud image.
Connection and product persistence
| Surface | Value | Boundary |
|---|---|---|
| Primary API | gRPC on localhost:24084 | Standard unauthenticated emulator endpoint. |
| SDK variable | BIGTABLE_EMULATOR_HOST=localhost:24084 | Client compatibility must still be tested per SDK/version. |
| LocalCloud backing store | PostgreSQL under the mounted /var/lib/localcloud volume | The standalone cached artifact can also use SQLite; LocalCloud Docker is configured for PostgreSQL. |
| Aggregate state | release-unverified | No identified assembled image qualification exists. |
Meaning of a positive state
“Implemented” here means suitable for the documented bounded local workflow in the inspected artifact. It does not mean full API, topology, consistency, security, connector, quota, or operational parity.
Current operation contract
| Operation area | State | Boundary |
|---|---|---|
| instances/tables/families | verified | |
| row mutations and reads | verified | |
| cbt CLI compatibility | verified | |
| localcloud console data browser | verified | |
| data survives emulator restart | verified | |
| materialized views (CMVs) | verified | |
| snapshots and backups | unsupported | All 10 snapshot/backup RPCs return codes.Unimplemented: SnapshotTable, GetSnapshot, ListSnapshots, DeleteSnapshot, CreateBackup, GetBackup, UpdateBackup, DeleteBackup, ListBackups, RestoreTable. Also: CreateTableFromSnapshot, UndeleteTable. |
| IAM policy management | unsupported | GetIamPolicy, SetIamPolicy, TestIamPermissions return codes.Unimplemented. |
| new proto methods return Unimplemented (no panics) | verified |
Cached-artifact feature interpretation
| Area | Observed local behavior | Required boundary |
|---|---|---|
| Core Data API | Row reads, mutations, conditional mutations, read-modify-write, sampling, and filters. | Simplified local semantics; no production quota, concurrency, distribution, or performance guarantees. |
| Table Admin | Table and family lifecycle, GC rules, ranges, consistency tokens, and deletion protection. | Undelete and snapshot APIs remain unsupported. |
| Instance Admin | Instance lifecycle plus cluster and app-profile metadata CRUD. | Cluster topology, routing, isolation, replication, failover, autoscaling, and multi-region behavior are not enforced. |
| Change streams | Single full-table partition, mutation records, continuation tokens, start time, and heartbeat behavior. | No real partition topology, splitting, merging, or assembled-image qualification. |
| Backups | Backup metadata lifecycle and schema-only restore. | Rows are not snapshotted or restored; this is not a recovery guarantee. |
| IAM | Policy-shaped calls and permissive responses. | Requested permissions can be granted without access-control enforcement; do not test security policy with this stub. |
| Logical views | Metadata CRUD. | Stored queries are not executed. |
| Materialized views | Local write-time shadow-table propagation. | No existing-row backfill; parser and schema synchronization are limited. |
Unsupported production behavior
- GoogleSQL
PrepareQueryandExecuteQuery. - Production replication, failover, multi-cluster routing, and multi-region consistency.
- CMEK, HSM-backed encryption behavior, and production IAM enforcement.
- Autoscaling, quotas, billing, audit logging, Key Visualizer, and production monitoring.
- Broad connector parity for HBase, Beam, Spark, Flink, or Kafka without a tested matrix.
- Snapshot and undelete APIs where the artifact returns
Unimplemented.
Persistence and recovery
Within LocalCloud Docker, Bigtable data is intended to use PostgreSQL under the mounted LocalCloud volume. Do not describe SQLite as the LocalCloud default. Retaining a volume is necessary for container replacement; release qualification must also exercise restart and recovery behavior.
The standalone cached artifact can support PostgreSQL or SQLite, but that artifact is not yet reconciled with the mutable build input or dependency HEAD.
Publication exit criteria
Before changing these states to verified, record:
- immutable Bigtable source revision and module checksum;
- dependency artifact identity;
- assembled LocalCloud image digest;
- gRPC qualification for core data, administration, change streams, views, and persistence;
- durable test evidence; and
- the LocalCloud release that consumed that evidence.
This comment is sent to PostHog. Do not include secrets, personal data, or customer data. See Privacy.