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

Keyvaluestore enhance #1282

Merged
merged 21 commits into from Feb 23, 2014
Merged

Keyvaluestore enhance #1282

merged 21 commits into from Feb 23, 2014

Commits on Feb 22, 2014

  1. Fix deadlock caused by hold collection obj

    Collection is a special object in KeyValueStore, if exists collection modify,
    this object will be hold. When exists check collection, it will be dead lock to
    try to access this object.
    
    Now lookup transaction cache first to ensure no collection object exists
    already.
    
    Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
    yuyuyu101 committed Feb 22, 2014
    Copy the full SHA
    5eb7592 View commit details
    Browse the repository at this point in the history
  2. Move perf counter and add op queue reserve throttle

    The perf counter of FileStore can shared with other ObjectStore backend, so move
    it to ObjectStore and adjust position to let other KeyValueStore refer to.
    
    Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
    yuyuyu101 committed Feb 22, 2014
    Copy the full SHA
    2b9e893 View commit details
    Browse the repository at this point in the history
  3. Add test for omap interface

    Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
    yuyuyu101 committed Feb 22, 2014
    Copy the full SHA
    c9fdcee View commit details
    Browse the repository at this point in the history
  4. Add get_*_with_header to StripObjectHeader

    In some situations, we need to ensure header is held and try to read, so read
    interfaces need to accept header argument to allow.
    
    Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
    yuyuyu101 committed Feb 22, 2014
    Copy the full SHA
    d7be540 View commit details
    Browse the repository at this point in the history
  5. Use rename operation to make colection_move atomic

    Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
    yuyuyu101 committed Feb 22, 2014
    Copy the full SHA
    024a120 View commit details
    Browse the repository at this point in the history
  6. Adjust some interfaces to optimize caller codes

    Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
    yuyuyu101 committed Feb 22, 2014
    Copy the full SHA
    4e7f1de View commit details
    Browse the repository at this point in the history
  7. Add read/write operation to store_test.cc

    Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
    yuyuyu101 committed Feb 22, 2014
    Copy the full SHA
    3e6a1fc View commit details
    Browse the repository at this point in the history
  8. Return 0 when the offset of read exceed the length of object

    Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
    yuyuyu101 committed Feb 22, 2014
    Copy the full SHA
    9ed2958 View commit details
    Browse the repository at this point in the history
  9. Fix incorrect read and truncate

    If the first chunk of object is not read entirely, the current implementation
    will contain it entirely which make wrong.
    
    Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
    yuyuyu101 committed Feb 22, 2014
    Copy the full SHA
    a9fa341 View commit details
    Browse the repository at this point in the history
  10. Unify object level lock in GenericObjectMap

    Before we copy lock implementation from DBObjectMap which provide with two locks
    for header. Here just unify it to make ease.
    
    Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
    yuyuyu101 committed Feb 22, 2014
    Copy the full SHA
    2a363d6 View commit details
    Browse the repository at this point in the history
  11. Optimize write call add enhance error detect

    A single write call may need several keys in the backend kv store. Let get these
    keys one time.
    
    Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
    yuyuyu101 committed Feb 22, 2014
    Copy the full SHA
    88bec06 View commit details
    Browse the repository at this point in the history
  12. Remove unnecessary "check_coll" check

    The goal of "check_coll" is aimed to ensure the collection is exists. But
    the create and delete of collection already ensured by OSD, just remove check.
    
    Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
    yuyuyu101 committed Feb 22, 2014
    Copy the full SHA
    6314350 View commit details
    Browse the repository at this point in the history
  13. Implement collection_rename interface in KeyValueStore

    Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
    yuyuyu101 committed Feb 22, 2014
    Copy the full SHA
    ec8a419 View commit details
    Browse the repository at this point in the history
  14. Make SequencePosition sync by each transaction

    Each object modify will increase SequencePosition and sync it to disk
    
    Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
    yuyuyu101 committed Feb 22, 2014
    Copy the full SHA
    4b3bf3e View commit details
    Browse the repository at this point in the history
  15. Remove m_eio in KeyValueStore

    KeyValueStore use kv backend to detect errors and nearly can't know the actual
    reason for error.
    
    Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
    yuyuyu101 committed Feb 22, 2014
    Copy the full SHA
    dcfe098 View commit details
    Browse the repository at this point in the history
  16. Remove filestore_inject_stall

    Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
    yuyuyu101 committed Feb 22, 2014
    Copy the full SHA
    9543664 View commit details
    Browse the repository at this point in the history
  17. Add backend check option to KeyValueStore

    Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
    yuyuyu101 committed Feb 22, 2014
    Copy the full SHA
    697411c View commit details
    Browse the repository at this point in the history
  18. Add config tracker to KeyValueStore

    Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
    yuyuyu101 committed Feb 22, 2014
    Copy the full SHA
    8c4d865 View commit details
    Browse the repository at this point in the history
  19. Remove eio inject codes in KeyValueStore

    Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
    yuyuyu101 committed Feb 22, 2014
    Copy the full SHA
    62c1631 View commit details
    Browse the repository at this point in the history
  20. Add KeyValueStore op thread options

    Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
    yuyuyu101 committed Feb 22, 2014
    Copy the full SHA
    a52d7cd View commit details
    Browse the repository at this point in the history
  21. Rename keyvaluestore_check_backend to keyvaluestore_debug_check_backend

    Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
    yuyuyu101 committed Feb 22, 2014
    Copy the full SHA
    90ebdcc View commit details
    Browse the repository at this point in the history