Code Monkey home page Code Monkey logo

bigtable's People

Contributors

jscott22 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

bigtable's Issues

Implement ReadRows retries

If you plan on implementing retries, here are a few things to watch out for:

  • For ReadRows make sure to track both the last merged row key and the last_scanned_row_key. So that you can skip over any filtered out rows on stream resumption
  • There is a gotcha with ServerStreaming RPCs, where they can send all of their data but return an error status code. This is particularly dangerous with ReadRows, where if you aren't careful the resumption request can end up being empty triggering a full table scan.
  • Try to avoid using serverside timestamps. They prevent mutations from being idempotent

In terms of default timeouts and retry counts, I would recommend to track gapic configs.

Unfortunately, since I'm not familiar with elixir, I don't have anything more specific. If you have any further questions, feel free to ping me.

Originally posted by @igorbernstein2 in #8 (comment)

Extract "Typed" Functionality

The "typed" functionality currently in this repo should be extracted to another project. This functionality adds the ability to create Bigtable Schemas that are used for creating mutations and parsing results in a very opinionated manner. In the future I also plan to implement BigQuery schema definition file and SQL view generation based on the opinionated schemas.

Add Admin Client

Currently only the data gRPC API is usable with the library. The admin client needs to also be added, but can probably wait until after 1.0

ReadRows merge acceptance tests

Is your feature request related to a problem? Please describe.
Hi,
I've been working on a new java client for bigtable and ran across this repo. I would like to thank you creating this client. I think it's a great addition to the Bigtable ecosystem. While poking around I noticed that there some edge cases that weren't covered in this client's ReadRows implementation. For example, it doesn't appear like the reset flag is respected.

Describe the solution you'd like
On the Cloud Bigtable team we created a json file to help test ReadRow chunk parsing and I wanted to let you know of its existence:
https://github.com/googleapis/google-cloud-java/blob/master/google-cloud-clients/google-cloud-bigtable/src/test/resources/com/google/cloud/bigtable/data/v2/stub/readrows/read-rows-acceptance-test.json
Each test case has a list of chunks and the expected Row results.

Additional context
Here are a couple of links of other clients using the file:

Thanks again for publishing this client!

ReadModifyWrite

ReadModifyWriteRules and the ReadModifyWrite operation need to be implemented before 1.0.0 release.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.