npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

bbredis-recovery

v1.1.0

Published

This sub-repo contains tools for recovering the state of the destination sender redis servers from data stored in the kafka clearing topics

Downloads

38

Readme

Redis Recovery

This sub-repo contains tools for recovering the state of the destination sender redis servers from data stored in the kafka clearing topics

Requirements

This application requires node.js version 11 or 12, plus the Yarn package manager.

Installation

# clone the repo
git clone [email protected]:bitbrew/hub-tools
# install packages
cd hub-tools/redis-recovery
yarn

Or install with npm or yarn

# Using npm
npm i -g bbredis-recovery
# Using yarn
yarn global add bbredis-recovery

Usage

# Working within the repository
./index.js

# Working with the globally installed tool
redis-recovery

All examples will use 'redis-recovery' rather than the local js file.

Getting help

redis-recovery --help

Configure Kafka Settings

redis-recovery kafka-config 127.0.0.1 9092 test-topic 50

Configure Redis Settings

redis-recovery redis-config 127.0.0.1 6379 Keen

Display Current Config

redis-recovery config

Export Recovery Data From Kafka

redis-recovery kafka-export

This may take a number of seconds or minutes to complete. When completed the output to the console will look similar to:

Using the following config:
Kafka topic:       test-topic
Kafka partitons:   50
Kafka host:        127.0.0.1
Kafka port:        9092
Kafka log level:   2
Redis host:        127.0.0.1
Redis port:        6379
Redis destination: Keen

✔ Initializing Kafka consumer
✔ Getting retry batches not followed by closed batches
✔ Processed 100106 records
✔ Retrieving count of queued detinations
✔ Processed 100106 records
✔ Writing results to output-kafka.json

Export Redis State

redis-recovery redis-export

This should take only a few seconds, following which the console output will be similar to:

Using the following config:
Kafka topic:       test-topic
Kafka partitons:   50
Kafka host:        127.0.0.1
Kafka port:        9092
Kafka log level:   2
Redis host:        127.0.0.1
Redis port:        6379
Redis destination: Keen

✔ Retrieving retry batches
✔ Writing results to output-redis-retry.json
✔ Retriving clearing state
✔ Writing results to output-redis-clearing.json

Import Redis State

redis-recovery redis-import

This will only take a few seconds to complete. The output will give a list of the destination- partition's that were updated in Redis:

Using the following config:
Kafka topic:       test-topic
Kafka partitons:   50
Kafka host:        127.0.0.1
Kafka port:        9092
Kafka log level:   2
Redis host:        127.0.0.1
Redis port:        6379
Redis destination: Keen

✔ Loading update file output-kafka.json
✔ Updating destination-partition 3d9eb6eb-3698-4f00-bfc7-a03d49b1efb7:49
✔ Updating destination-partition f07f8701-3ca5-4d4d-b896-3bccfea68d25:49