GithubHelp home page GithubHelp logo

scalar-labs / cassy Goto Github PK

View Code? Open in Web Editor NEW
40.0 40.0 3.0 9.89 MB

A simple and integrated backup tool for Apache Cassandra

License: Apache License 2.0

Java 86.38% Go 0.72% Shell 0.22% Dockerfile 0.18% JavaScript 0.42% HTML 0.20% Vue 11.80% SCSS 0.07%
backup cassandra

cassy's Issues

Cluster-wide incremental restore is not working properly

Describe the bug
The cluster-wide restoration process restores only cluster-wide snapshots, it does not restore the incremental backup created with cluster-wide snapshot id.

To Reproduce
Steps to reproduce the behavior:

  1. Create scalar-terraform environment (network, cassandra with cassy, scalardl resources)
  2. Insert some values using kelpie.
  3. Port-forward Cassy port to access Cassy from your local
$ ssh -F ssh.cfg -L 20051:localhost:20051 cassy-1.internal.scalar-labs.com
  1. Register cluster using cassy command
$ grpcurl -plaintext -d '{"cassandra_host": "<cassandra node 1 ip>"}' localhost:20051 rpc.Cassy.RegisterCluster
  1. Create a cluster-wide backup using Cassy backup creation command.
$ grpcurl -plaintext -d '{"cluster_id": "CLUSTER-ID", "backup_type": 1}' localhost:20051 rpc.Cassy.TakeBackup 
  1. Insert some more values using kelpie or manually
  2. Execute nodetool flush in each Cassandra node.
  3. Create an incremental backup with previously created cluster-wide snapshot id
$ grpcurl -plaintext -d '{"cluster_id": "CLUSTER-ID", "snapshot_id": "SNAPSHOT-ID", "backup_type": 3}' localhost:20051 rpc.Cassy.TakeBackup
  1. Stop and clear each cassandra nodes
  2. Restore the incremental backup to all Cassandra nodes.
$ grpcurl -plaintext -d '{"snapshot_id": "SNAPSHOT-ID", "restore_type": 1, "cluster_id": "CLUSTER-ID"}' localhost:20051 rpc.Cassy.RestoreBackup

Expected behavior
Restore snapshot with incremental backup files to all nodes

Actual behavior
Snapshots are properly restored.
Incremental backup files are not restored.

Environment Details
Test environment: Azure
Cassy version: 1.2.0

Additional Details
Restore is working fine while we execute cluster-wide restore with the incremental backup restore.

$ grpcurl -plaintext -d '{"snapshot_id": "SNAPSHOT-ID", "restore_type": 1, "cluster_id": "CLUSTER-ID"}' localhost:20051 rpc.Cassy.RestoreBackup
$ grpcurl -plaintext -d '{"snapshot_id": "SNAPSHOT-ID", "restore_type": 2, "cluster_id": "CLUSTER-ID"}' localhost:20051 rpc.Cassy.RestoreBackup

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.