neo4j-contrib / graphgist-cms

http://graphgist.neo4j.com/
67 stars 24 forks source link

App Crash when submitting GraphGist with existing Author #67

Closed jexp closed 9 years ago

jexp commented 9 years ago

The MERGE statement in https://github.com/neo4j-contrib/graphgist-cms/blob/master/api/models/gists.js#L353

Had two properties but only twitter was constrained in the db. So when an author with the same twitter account but different email submitted it crashed.

Tried to fix it in: https://github.com/neo4j-contrib/graphgist-cms/commit/ab3aad10a4af8deaa378cbd9ab505eaef78b92aa

But it didn't work.

2015-02-23T08:41:54.746101+00:00 app[web.1]: http://localhost:45518/api/v0
2015-02-23T08:41:54.932454+00:00 heroku[web.1]: State changed from starting to up
2015-02-23T08:42:08.035639+00:00 app[web.1]:   message: 'Node 419485 already exists with label Person and property "twitter"=[NuDataScientist]' }
2015-02-23T08:42:08.036165+00:00 app[web.1]: 
2015-02-23T08:42:08.035939+00:00 app[web.1]:   message: 'Node 419485 already exists with label Person and property "twitter"=[NuDataScientist]' }
2015-02-23T08:42:08.035936+00:00 app[web.1]: { [Error: Node 419485 already exists with label Person and property "twitter"=[NuDataScientist]]
2015-02-23T08:42:08.035632+00:00 app[web.1]: { [Error: Node 419485 already exists with label Person and property "twitter"=[NuDataScientist]]
2015-02-23T08:42:08.038218+00:00 app[web.1]:     at Request.<anonymous> (/app/node_modules/request/request.js:1318:14)
2015-02-23T08:42:08.038210+00:00 app[web.1]:     at __$GraphDatabase_prototype_query__20 (/app/node_modules/neo4j/lib/GraphDatabase.js:942:26)
2015-02-23T08:42:08.038213+00:00 app[web.1]:     at Object.__g.trampoline.flush (/app/node_modules/neo4j/lib/Node.js:2:3552)
2015-02-23T08:42:08.038215+00:00 app[web.1]:     at Request.self.callback (/app/node_modules/request/request.js:373:22)
2015-02-23T08:42:08.038217+00:00 app[web.1]:     at Request.emit (events.js:98:17)
2015-02-23T08:42:08.038202+00:00 app[web.1]: Error: Node 419485 already exists with label Person and property "twitter"=[NuDataScientist]
2015-02-23T08:42:08.038208+00:00 app[web.1]:     at exports.adjustError (/app/node_modules/neo4j/lib/util.js:71:15)
2015-02-23T08:42:08.038211+00:00 app[web.1]:     at /app/node_modules/neo4j/lib/GraphDatabase.js:2:6247
2015-02-23T08:42:08.038214+00:00 app[web.1]:     at Request.___ [as _callback] (/app/node_modules/neo4j/lib/GraphDatabase.js:2:5602)
2015-02-23T08:42:08.038221+00:00 app[web.1]:     at IncomingMessage.<anonymous> (/app/node_modules/request/request.js:1266:12)
2015-02-23T08:42:08.038220+00:00 app[web.1]:     at Request.emit (events.js:117:20)
2015-02-23T08:42:08.058550+00:00 heroku[router]: at=error code=H13 desc="Connection closed without response" method=POST path="/api/v0/gists?api_key=special-key&neo4j=true" host=graphgist.neo4j.com request_id=e52522b9-70ea-4f1f-9070-db9238b23482 fwd="86.28.203.100" dyno=web.1 connect=1ms service=168ms status=503 bytes=0
2015-02-23T08:42:08.807315+00:00 heroku[web.1]: Process exited with status 8
2015-02-23T08:42:08.820833+00:00 heroku[web.1]: State changed from up to crashed
2015-02-23T08:42:18.620812+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=POST path="/api/v0/gists?api_key=special-key&neo4j=true" host=graphgist.neo4j.com request_id=16a30479-9ebe-482a-9d94-db8c775dcb59 fwd="86.28.203.100" dyno= connect= service= status=503 bytes=

Btw. such errors shouldn't result in crashes, see https://github.com/neo4j-contrib/graphgist-cms/issues/66

cheerfulstoic commented 9 years ago

I think the reason your fix didn't work was because it was missing a { and getting a syntax error. I fixed that and a few other things