You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
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.
The text was updated successfully, but these errors were encountered: