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:
Has this symptom of missing procedures/functions be seen again since the APOC core/extended split (approximate two years ago)? Or conversely, when was the last time it happened?
Issue by fbiville
Thursday Jun 24, 2021 at 14:26 GMT
Originally opened as neo4j-contrib/neo4j-apoc-procedures#2033
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: