Unnecessary Flush Calls for Find/Classify Descriptor Command
- Dominant language
- C++
- Stars
- 93
- Forks
- 34
- PR merge metrics
- No merged PRs in 30d
Description
**Describe the bug**
Function calls to ClassifyDescriptor() and FindDescriptor() in descriptorcommand.cc copy the descriptors to storage un-necessarily
**To Reproduce**
1. ClassifyDescriptor() function(https://github.com/intel-innersource/libraries.databases.visual.vdms/blob/7eceb2f416976e806983e29a170e4653edab6413/src/DescriptorsCommand.cc#L490) calls in flush in Line 528
2. Flush Function calls descriptormanger.cc flush() (https://github.com/intel-innersource/libraries.databases.visual.vdms/blob/7eceb2f416976e806983e29a170e4653edab6413/src/DescriptorsManager.cc#L55) which calls vcl->store()
3. The store() function in VCL (https://github.com/intel-innersource/libraries.databases.visual.vdms/blob/7eceb2f416976e806983e29a170e4653edab6413/src/vcl/DescriptorSet.cc#L176) stores a local copy of the files with write_set_info() () (not needed if AWS only functionality is needed) and additionally calls AWS for storage
Same behavior happens in the FindDescriptor() function (https://github.com/intel-innersource/libraries.databases.visual.vdms/blob/7eceb2f416976e806983e29a170e4653edab6413/src/DescriptorsCommand.cc#L113)
**Expected behavior**
Both Classify and Find are read-only operations and flushing to storage should not happen
Contributor guide
Research direction
Start in src/DescriptorsCommand.cc at ClassifyDescriptor() and FindDescriptor(), then trace the flush calls through src/DescriptorsManager.cc and src/vcl/DescriptorSet.cc. Confirm how store() and write_set_info() are reached, and verify that both read-only commands complete without flushing descriptors to local or AWS storage.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, cpp
- Domain
- database
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 48/100