feat: Implement a Bigtable Emulator (WIP) by marete · Pull Request #15247 · googleapis/google-cloud-cpp · GitHub | Latest TMZ Celebrity News & Gossip | Watch TMZ Live
Skip to content

feat: Implement a Bigtable Emulator (WIP) #15247

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 204 commits into
base: main
Choose a base branch
from

Conversation

marete
Copy link

@marete marete commented Jul 1, 2025

This change is Reviewable

dopiera and others added 30 commits December 3, 2024 15:33
Logic from Table::MutateRow() will be moved here and this commit
proposes the general structure of this class, for early review.
And unconditionally return an error status for the aggregation
mutations, which we don't currently support.
…ion.

- Introduces a RowTransaction class to proxy mutations and record undo
  logs in case we needs to rewind.
- Re-implements the SetCell mutation in the RowTransaction class.
- Introduces all Undo types/actions for SetCell and records them in an
  undo stack.
- For SetCell only and to facilitate testing with only SetCell
  mutations, introduces the use of RowTransaction in doing the mutation.
- clang-format is run on all affected files (which has removed some
  headers, e.t.c.

A test for SetCell is coming up and is not currently included here.
Populate a schema protobuf with the minimal fields and call
Table::Create();
…utation.

There is a crash later on, in the code that sets up the undo log, that
will be fixed in an upcoming commit.
marete and others added 24 commits June 12, 2025 20:07
* emulator: mechanical formatting fixes by ci tool.

* emulator: make clang-tidy happy.
* emulator: trivial: fix typo in rollback_test.cc

* emulator: mechanical formatting fixes.
…e. (#20)

It now has tests well beyond the initial rollback tests, dealing with
all manner of bigtable mutations, so call it mutations_test.cc.
This implements the AddToCell mutation.

* Unit tested and tests passing
* Supports atomic rollback
* Support Sum, Min and Max aggregations for non-negative Int64 numbers
* It is now possible to create an aggregate column family (supporting AddToCell or MergeToCell)
We need it for tests of filters and ReadRow that do not have to or
cannot start up the GRPC network server infrastructure.
…family.

- There is a passing unit test that tests for this (which is fixed
and shows up in this diff).

- The CI test (bigtable_filters_integration_test) which revealed this
bug now passes.
@marete marete requested a review from a team as a code owner July 1, 2025 14:28
Copy link

google-cla bot commented Jul 1, 2025

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@marete marete marked this pull request as draft July 1, 2025 14:28
@marete marete changed the title Implement a Bigtable Emulator feat: Implement a Bigtable Emulator Jul 1, 2025
@marete marete changed the title feat: Implement a Bigtable Emulator feat: Implement a Bigtable Emulator (WIP) Jul 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants

TMZ Celebrity News – Breaking Stories, Videos & Gossip

Looking for the latest TMZ celebrity news? You've come to the right place. From shocking Hollywood scandals to exclusive videos, TMZ delivers it all in real time.

Whether it’s a red carpet slip-up, a viral paparazzi moment, or a legal drama involving your favorite stars, TMZ news is always first to break the story. Stay in the loop with daily updates, insider tips, and jaw-dropping photos.

🎥 Watch TMZ Live

TMZ Live brings you daily celebrity news and interviews straight from the TMZ newsroom. Don’t miss a beat—watch now and see what’s trending in Hollywood.