-
Notifications
You must be signed in to change notification settings - Fork 51
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
Git versioning integration #9
Comments
Do we also want ground to manage an API where a user/application could POST and it would write a message to one of grounds kakfa topics? For other types of webhooks. |
I also need to add in a python script for setting up the github webhook. For the script the user would provide:
|
This is how I am POSTing each version/commit {
"tags": {
"branch": {
"key": "branch",
"value": "refs/branches/master",
"type": "string"
},
"commit": {
"key": "commit",
"value": "8464793044eff62c794f88c06ea286e427efc8b9",
"type": "string"
},
},
"structureVersionId": null,
"reference": null,
"nodeId": "Nodes.ground",
"parameters": {}
} Do you think this is the best way to do it? |
I'm facing a problem with the nodes/versions/ API, I'm listing the parent versions in the URL and when I get to 30~ versions the API starts taking a long time and then just not working. I'm using neo4j as my backend. If I don't list and parents in the URL then it works fine and doesn't slow down. I'll look into the API and see if I can figure out what might be causing it. |
It looks like it is a problem when getting the DAG. If the path along the versions is too long it causes problems |
Oh, I see. That's using a Neo4j feature for recursive queries basically. We might be able to do things a little faster if we create an index on |
I've used gremlin more than cypher so I'm still trying to figure out how to create an index to help the query go faster. It looks like its easy to create an index on a property type but that doesn't really help us. |
Hm, what makes you say that creating an index on the Do you think you could set up a Neo4j server in the cloud somewhere with this data, so we can both play with the data to figure out how to make this go faster? |
I guess I thought |
Hm. I think that creates an index on the I'm going to look into this a little bit more, but if Neo4j can't handle these queries, then we might have to drop it and go back to Postgres... |
Ok I think it might be working. I'll test it more |
Still not working, but this query might work for getting similar information. It's faster but it doesn't include the starting node. I'll see I can get the query to include it MATCH (a:NodeVersion { node_id : 'Nodes.ground' }) -[r:VersionSuccessor] - (b:NodeVersion {node_id : 'Nodes.ground'})
RETURN DISTINCT r Nodes.ground is the initial node |
MATCH (a)-[r:VersionSuccessor]-(b:NodeVersion {node_id : 'Nodes.ground'})
WHERE a.id='Nodes.ground'
OR a.node_id='Nodes.ground'
RETURN DISTINCT r This will include the original node. |
Interesting. This works recursively? |
I don't think the new one does it recursively. It gets all relationships that come from or go to a node_id "Nodes.ground", with label "VersionSuccessor". Then it combines them all to get a path. When I ran the old query: MATCH (a:Node {id: 'Nodes.engine' })-[e:VersionSuccessor*..20]->(b:NodeVersion)
RETURN e It returned 9736 rows, so I think it is finding every possible path. |
This integration is has three parts.
This depends on the pipeline that reads from Kafka and writes into Ground specified in #8.
The text was updated successfully, but these errors were encountered: