bitshares / bitshares/bitshares-core
[Feature] Resume ES on latest block
- 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