bitshares / bitshares/bitshares-core
es_objects plugin: deal with chain reorganization
- Dominant language
- C++
- Stars
- 1.2k
- Forks
- 660
- Avg merge
- 8h 17m
- Merged PRs (30d)
- 26
Description
**Bug Description**
The `es_objects` plugin does not deal with chain reorganization.
For example, if an object is deleted from the object database on a minor fork, it will get deleted from ES. If there is then a chain reorganization and on the major fork the object is not deleted, in ES it may remain deleted.
Related: #2464, #2493.
**Impacts**
Describe which portion(s) of BitShares Core may be impacted by this bug. 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)
- [x] Other (please add below) : `es_objects` plugin
## CORE TEAM TASK LIST
- [ ] Evaluate / Prioritize Bug Report
- [ ] 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 tracing the es_objects plugin's handling of object deletion and how it responds to chain reorganization. Reproduce the described minor-fork deletion followed by a major-fork reorganization, then define coverage that verifies the Elasticsearch object state matches the accepted chain.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, elasticsearch
- Domain
- backend, blockchain
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100