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

Detect missing procedure at build time #2033

Closed
fbiville opened this issue Jun 24, 2021 · 0 comments · Fixed by #2107
Closed

Detect missing procedure at build time #2033

fbiville opened this issue Jun 24, 2021 · 0 comments · Fixed by #2107

Comments

@fbiville
Copy link
Contributor

Problem

Several releases of APOC have been missing procedures/functions.

The last incident of this kind happened because of an issue with the scope of Guava: it was available in tests,, thus passing CI but was not included in the production core/full JARs, resulting in loading errors for some procedures/functions.

Proposed Solution

Given all APOC procedures and functions are available from APOC sources, we can define a compile-time annotation processor to list and dump these to a flat file.
We can then introduce a new testing module, configured like a regular APOC customer project, with a Docker container configured with APOC. Based on that setup, we can detect any discrepancy between the available procedure/extension from sources and the ones actually available at runtime.

This might be implemented two phases, as standing up a Neo4j containers with all the extra dependencies required by APOC full might be tricky. We can at least start with APOC core and then extend the logic to full.

JMHReif pushed a commit that referenced this issue Aug 6, 2021
Relates to #2033 

Co-authored-by: Florent Biville <445792+fbiville@users.noreply.github.com>
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 a pull request may close this issue.

2 participants