bitshares / bitshares/bitshares-core

[Feature] Resume ES on latest block

Open
#2,235 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
1.2k
Forks
660
Avg merge
8h 17m
Merged PRs (30d)
26

Description

**User Story**
As a provider of an `elasticsearch` API I want `more control on how the plugin resumes its work` such that `ciritcal errors don't cause a downtime of several days`.

The plugin has the `--elasticsearch-start-es-after-block` and `--es-objects-start-es-after-block` option. If the backend node feeding ElasticSearch goes down unrelated to the elasticsearch plugin, setting an option to "discover yourself where to continue" would be neat. To be precise: The elasticsearch plugin looks up what the last available block is in the database, and resume insertion from that block.

**Impacts**
Describe which portion(s) of BitShares Core may be impacted by your request. Please tick at least one box.
- [ ] API (the application programming interface)
- [ ] Build (the build process or something prior to compiled code)
- [ ] CLI (the command line wallet)
- [ ] Deployment (the deployment process after building such as Docker, Travis, etc.)
- [ ] DEX (the Decentralized EXchange, market engine, etc.)
- [ ] P2P (the peer-to-peer network for transaction/block propagation)
- [ ] Performance (system or user efficiency, etc.)
- [ ] Protocol (the blockchain logic, consensus, validation, etc.)
- [ ] Security (the security of system or user data, etc.)
- [ ] UX (the User Experience)
- [ ] Other (please add below)

**Additional Context (optional)**
Add any other context about your request here.

## CORE TEAM TASK LIST
- [ ] Evaluate / Prioritize Feature Request
- [ ] Refine User Stories / Requirements
- [ ] Define Test Cases
- [ ] Design / Develop Solution
- [ ] Perform QA/Testing
- [ ] Update Documentation

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the Elasticsearch plugin code that handles --elasticsearch-start-es-after-block and --es-objects-start-es-after-block, then trace how the last available block is read from the database. Define the resume behavior and its failure cases before implementing it, and add or update tests showing that the plugin discovers the database block and resumes insertion from there.

Written by the indexing model from the issue text.

Assessment

Tech stack
elasticsearch
Domain
databases, search
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.