Skip to content

210 Integration of descriptor sets into neo4j based handler#268

Merged
cwlacewe merged 32 commits intodevelopfrom
210-first-phase-integration-of-descriptor-sets-into-neo4j-based-handler
Apr 8, 2025
Merged

210 Integration of descriptor sets into neo4j based handler#268
cwlacewe merged 32 commits intodevelopfrom
210-first-phase-integration-of-descriptor-sets-into-neo4j-based-handler

Conversation

@keirafadams
Copy link
Copy Markdown
Contributor

This PR adds the ability to do the following with Neo4J based metadat storage

  • Add Descriptor Sets
  • Find Descriptor Sets
  • Add descriptors and arbitrary metadata
  • Find descriptors and arbitrary metadata

It currently does not support graph traversal for adding and retrieval of descriptors, but otherwise has feature parity with the existing PMGD based descriptor set support.

Note that I will be continuing cleanup and test development while this PR is open, as this PR is relatively complex and want to be able to parallelize changes as we go along.

@github-actions
Copy link
Copy Markdown
Contributor

Target CPP Coverage: 64.1421%
Source CPP Coverage: 60.9934%

Target Python Coverage: 97.94%
Source Python Coverage: 97.94%

@cwlacewe cwlacewe added this to the v2.11.0 Tasks milestone Feb 27, 2025
@keirafadams
Copy link
Copy Markdown
Contributor Author

@cwlacewe looks like it got hung up on the UDF tests and fell over. Passed the new PMGDHandler tests though, so yay!

Do a restart? Or was there anything obvious that you saw that I should fix?

@cwlacewe
Copy link
Copy Markdown
Contributor

@cwlacewe looks like it got hung up on the UDF tests and fell over. Passed the new PMGDHandler tests though, so yay!

Do a restart? Or was there anything obvious that you saw that I should fix?

@ifadams Yes, in tests/run_tests.sh (lines 68-81) you commented the start of udf servers. If you uncomment those, it should be ok.

@keirafadams
Copy link
Copy Markdown
Contributor Author

@ifadams Yes, in tests/run_tests.sh (lines 68-81) you commented the start of udf servers. If you uncomment those, it should be ok.

ARGH. I missed that. I'd nuked it when solo testing. Thank youuuu.....

@github-actions
Copy link
Copy Markdown
Contributor

Target CPP Coverage: 64.2822%
Source CPP Coverage: 64.1483%

Target Python Coverage: 97.94%
Source Python Coverage: 97.94%

@github-actions
Copy link
Copy Markdown
Contributor

Target CPP Coverage: 64.2822%
Source CPP Coverage: 69.8527%

Target Python Coverage: 97.94%
Source Python Coverage: 97.94%

Copy link
Copy Markdown
Contributor

@cwlacewe cwlacewe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. @s-gobriel can you please review?

s-gobriel
s-gobriel previously approved these changes Apr 2, 2025
Copy link
Copy Markdown
Contributor

@s-gobriel s-gobriel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, only minor comments on the tests

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we add more tests to test a pool of connections for descriptors adds/searches. don't see any?


//Add Descriptor Query
nr_vecs = 1;
vec_val = neo4j_generate_desc_linear_increase(dims, nr_vecs,0);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are we creating separate functions for neo4j vs pmgd to create datasets. I think it is OK, but do not know if it is needed or duplicated code

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lazy fix to avoid refactoring/messing with build. Happy to adjust, or just file a ticket for future refactoring.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ifadams would this be a quick adjustment or would it take more time? If it's quick, let's fix it; otherwise, file a ticket

Copy link
Copy Markdown
Contributor Author

@keirafadams keirafadams Apr 2, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lets deal with the initial merge and see where we are. Already running into snags that I'm unclear on the source of, adding new comment below.

@keirafadams
Copy link
Copy Markdown
Contributor Author

keirafadams commented Apr 2, 2025

@rolandoquesada @cwlacewe looks like we're borking on build? I dont think this is from me but I'm less familiar with the container build process. Maybe I missed something in the conflict resolution?


#42 ERROR: process "/bin/sh -c git submodule update --init --recursive && sed -i "s|java-11-openjdk|java-17-openjdk|g" /vdms/src/pmgd/java/CMakeLists.txt && sed -i "s|#include <stdio.h>|#include <stdio.h>\n#include |" /vdms/src/pmgd/test/neighbortest.cc && sed -i "s|#include <stdio.h>|#include <stdio.h>\n#include |" /vdms/src/pmgd/tools/mkgraph.cc && mkdir -p /vdms/build && cd /vdms/build && cmake -DCODE_COVERAGE="${BUILD_COVERAGE}" .. && make ${BUILD_THREADS} && echo '#!/bin/bash' > /start.sh && echo 'cd /vdms/build' >> /start.sh && echo 'python /vdms/override_default_config.py -i /vdms/config-vdms.json -o /vdms/build/config-vdms.json' >> /start.sh && echo './vdms' >> /start.sh && chmod 755 /start.sh" did not complete successfully: exit code: 2

failed to solve: process "/bin/sh -c git submodule update --init --recursive && sed -i "s|java-11-openjdk|java-17-openjdk|g" /vdms/src/pmgd/java/CMakeLists.txt && sed -i "s|#include <stdio.h>|#include <stdio.h>\n#include |" /vdms/src/pmgd/test/neighbortest.cc && sed -i "s|#include <stdio.h>|#include <stdio.h>\n#include |" /vdms/src/pmgd/tools/mkgraph.cc && mkdir -p /vdms/build && cd /vdms/build && cmake -DCODE_COVERAGE="${BUILD_COVERAGE}" .. && make ${BUILD_THREADS} && echo '#!/bin/bash' > /start.sh && echo 'cd /vdms/build' >> /start.sh && echo 'python /vdms/override_default_config.py -i /vdms/config-vdms.json -o /vdms/build/config-vdms.json' >> /start.sh && echo './vdms' >> /start.sh && chmod 755 /start.sh" did not complete successfully: exit code: 2

[vdms stage-2 23/23] RUN git submodule update --init --recursive && sed -i "s|java-11-openjdk|java-17-openjdk|g" /vdms/src/pmgd/java/CMakeLists.txt && sed -i "s|#include <stdio.h>|#include <stdio.h>\n#include |" /vdms/src/pmgd/test/neighbortest.cc && sed -i "s|#include <stdio.h>|#include <stdio.h>\n#include |" /vdms/src/pmgd/tools/mkgraph.cc && mkdir -p /vdms/build && cd /vdms/build && cmake -DCODE_COVERAGE="on" .. && make -j16 && echo '#!/bin/bash' > /start.sh && echo 'cd /vdms/build' >> /start.sh && echo 'python /vdms/override_default_config.py -i /vdms/config-vdms.json -o /vdms/build/config-vdms.json' >> /start.sh && echo './vdms' >> /start.sh && chmod 755 /start.sh:

@cwlacewe
Copy link
Copy Markdown
Contributor

cwlacewe commented Apr 2, 2025

@ifadams error in src/vcl/DescriptorSet: https://github.com/IntelLabs/vdms/actions/runs/14229000654/job/39875314486#step:5:42044
image

@keirafadams
Copy link
Copy Markdown
Contributor Author

@cwlacewe got it, there was a suspicious partial merge, I think I know what it is. Probably shoving this to tomorrow as I have to run momentarily, but will tackle ASAP

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 7, 2025

Target CPP Coverage: 64.2075%
Source CPP Coverage: 69.7636%

Target Python Coverage: 97.94%
Source Python Coverage: 97.94%

cwlacewe
cwlacewe previously approved these changes Apr 7, 2025
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 8, 2025

Target CPP Coverage: 64.2075%
Source CPP Coverage: 69.7544%

Target Python Coverage: 97.94%
Source Python Coverage: 97.94%

@keirafadams
Copy link
Copy Markdown
Contributor Author

@cwlacewe @s-gobriel we've got everything updated with the new test infrastructure, give it a thumbs up if you're comfortable and trigger the merge? I still need to update docs, will get to that tonight/tomorrow.

@cwlacewe cwlacewe merged commit ec9f353 into develop Apr 8, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

First Phase Integration of Descriptor Sets into Neo4J based handler

4 participants