Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide new RIDSet implementation based on SBTree data structure #1604

Closed
18 of 21 tasks
andrii0lomakin opened this issue Aug 11, 2013 · 11 comments
Closed
18 of 21 tasks

Comments

@andrii0lomakin
Copy link
Member

RIDSet is not durable now if we will base our implementation of SBTree it will solve given issue.

Here is the list of subtasks which we have to implement:

  • 1. Make LINKBAG tracked data structure (2 hours) - DONE.
  • 2. Implement atomic updates, so now we have atomic updates for single db component but if we have to use sbtree as LINKBAG inside of document we should make updates of sbtree and document to be single atomic unit, otherwise tx mode will not work (3-4 days). (Artem)
  • 3. Port graphdb implementation (4 days) - DONE.
  • 4. Create MT test for LINKBAG (1 -2 days) - DONE.
  • 5. Implement JSON serialization (2 days). - DONE
  • 6. Implement means to work and serialize LINKBAG through remote connection (3 days). - DONE (Artem)
  • 7. Partition SBTree data structure by clusters (4 h) - DONE.
  • 8. Implement embedded version of LINKBAG (2 days) - DONE.
  • 9. Make LINKBAG indexable (2 days). - DONE
  • 10. If document is removed all LINKBAG entries should be removed too (4-7 days). - DONE
  • 11. Create MT test for the whole Graph DB which is based on LINKBAG (2-3 days). - DONE
  • 12. Run blueprints test not only on plocal but on remote too (2-4 days). (Artem) - DONE
  • 13. Backward compatibility or automatic migration procedure of graph (5 days). (Artem) -DONE
  • 14. Wiki page about RidBag (1-2 days) (Artem) - DONE
  • 15. Add embedded LINKBAG lazy serialization/deserialization (3 days) - DONE
  • 16. Remove global lock from mvrbtreesset and force to use only embedded mode - DONE
  • 17. Distributed storage support
    • partial solution. Use embedded bag in distributed mode
    • Support tree-based bag in distributed mode

Bugs:

  • BUG-1: Preliminary remove and then add previously not contained record cause absence of this record in Bag - FIXED
  • BUG-2: Size becomes inconsistent after removing nonexistent value from bag. - FIXED

So in total it is 20 days for whole team.
After 6-th task is completed we can integrate it inside develop branch.

@enisher
Copy link
Contributor

enisher commented Oct 16, 2013

Implemented SBTree based RID set for not unique indexes by 2cafec0

@andrii0lomakin
Copy link
Member Author

Here is the list of subtasks which we have to implement:

  1. Make LINKBAG tracked data structure (2 hours).
  2. Implement atomic updates, so now we have atomic updates for single db component but if we have to use sbtree as LINKBAG inside of document we should made updates of sbtree and document to be single atomic unit, otherwise tx mode will not work (3-4 days).
  3. Create MT test for LINKBAG (1 -2 days).
  4. Implement JSON serialization (2 days).
  5. Implement means to work and serialize LINKBAG through remote connection (3 days).
  6. Make LINKBAG indexable (2 days).
  7. If document is removed all LINKBAG entries should be removed too (4-7 days).
  8. Create MT test for the whole Graph DB which is based on LINKBAG (2-3 days).
  9. Run blueprints test not only on plocal but on remote too (2-4 days).

So in total it is 27 days for whole team.

@andrii0lomakin
Copy link
Member Author

We should fix #1857 to implement task 10.

enisher added a commit that referenced this issue Jan 9, 2014
…not contained record cause absence of this record in Bag
@andrii0lomakin andrii0lomakin modified the milestones: 2.0-M2, 2.0-M1, 2.1 Sep 17, 2014
@lvca lvca added core and removed durability labels Jan 4, 2015
@lvca lvca removed the ETA: >5days label Mar 1, 2015
@lvca
Copy link
Member

lvca commented Mar 14, 2015

Should we move this forward again?

@lvca lvca modified the milestones: 2.1-rc1, 2.1-rc2, 2.2 Apr 1, 2015
@andrii0lomakin andrii0lomakin modified the milestones: 3.0, 2.2 Nov 18, 2015
@andrii0lomakin
Copy link
Member Author

Will add in 3.0 once #5267 will be fixed. 3.1 for now

@andrii0lomakin andrii0lomakin modified the milestones: 3.0, 3.1 Apr 6, 2016
@andrii0lomakin andrii0lomakin removed their assignment Apr 13, 2016
@andrii0lomakin andrii0lomakin modified the milestone: 3.1 Aug 26, 2017
@andrii0lomakin
Copy link
Member Author

Fixed in 3.2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

3 participants