Whoops. Rather, I tried it with 1.6.4 and then whatever code is in the 1.7
branch :-)
On Sep 18, 2014 2:06 AM, "Nigel Small" <ni...@nigelsmall.com> wrote:

> There is no py2neo 1.7.
>
> On 18 September 2014 01:27, Aru Sahni <arusa...@gmail.com> wrote:
>
>> I'm seeing similar errors w/ Neo4j 2.1.4, py2neo 1.7 and Ubuntu packages.
>> No issues with the homebrew version.
>>
>> ~A
>>
>> On Mon, Aug 4, 2014 at 11:41 AM, Alan Robertson <al...@unix.sh> wrote:
>>
>>>  Julian:
>>>
>>> Have you had a chance to look at this bug yet?  Any prognosis on when?
>>>
>>>
>>> On 07/30/2014 08:02 PM, Alan Robertson wrote:
>>>
>>> OK.  This is an RPM problem *only*.  It works fine if I install 2.1.3
>>> from tar ball - but not from the RPM.  I'll update the github issue.
>>>
>>>
>>> On 07/30/2014 07:35 PM, Alan Robertson wrote:
>>>
>>> Our project bug report for this is here: https://trello.com/c/B41LtH8K
>>> The github issue is: https://github.com/neo4j/neo4j/issues/2771.  You
>>> can reproduce this in a clean-room environment by using this Dockerfile:
>>> http://hg.linux-ha.org/assimilation/file/tip/docker/testNeo/Dockerfile
>>>
>>> the DEB package of 2.1.0 works fine on all versions of Ubuntu, but the
>>> RPM of 2.1.3 fails under CentOS6.  Slightly different versions of Python,
>>> same version of Py2neo.  Installing 2.0.1 from tar ball on CentOS6 also
>>> works fine.
>>>
>>> This looks more like a Neo4j problem than a py2neo problem...
>>>
>>> Also: Why is the .DEB unstable package so far behind the .RPM package?
>>>
>>>
>>>
>>> More details below:
>>>
>>>   This combination doesn't work with CentOS6 under Docker:
>>>
>>> Python 2.7.5
>>> USING PYTHON VERSION 2.7.5 (default, Oct 29 2013, 22:46:38)
>>> [GCC 4.4.7 20120313 (Red Hat 4.4.7-3)]
>>> USING NEO4J VERSION (2, 1, 3, u'')
>>> USING py2neo VERSION 1.6.4
>>>
>>> 3 minutes ago - Edit
>>> <https://trello.com/c/B41LtH8K/8-assimilation-py2neo-are-incompatible-with-current-neo4j#>
>>>  - Delete
>>> <https://trello.com/c/B41LtH8K/8-assimilation-py2neo-are-incompatible-with-current-neo4j#>
>>>  [image: Alan Robertson (ossalanr)]
>>> Alan Robertson <https://trello.com/4ff61affd6fb4b394c9788e8>
>>>
>>> This combination of versions works fine with Ubuntu under Docker: USING
>>> PYTHON VERSION 2.7.6 (default, Mar 22 2014, 22:59:56)
>>> [GCC 4.8.2]
>>> USING NEO4J VERSION (2, 1, 0, u'RC2')
>>> USING py2neo VERSION 1.6.4
>>>
>>>
>>>
>>>
>>>
>>> On 07/19/2014 03:37 PM, Alan Robertson wrote:
>>>
>>> Since the result said "cannot find node" the question is: Was that a
>>> correct result?   So, I used neo4j-shell to look at the database after the
>>> failure - and it looked like the updates were not done.  There is no node
>>> zero (as indicated by the REST return), nor (for good measure) a node 1 or
>>> 2.  So the result was correct for the current database.  The database was
>>> wrong, but that result was correct (given the incorrect database).
>>>
>>> We appear to have gotten a successful return from the REST update
>>> transaction, but in spite of that, the node I created wasn't there.
>>>
>>> I will look further into what we got back from the REST transaction --
>>> but right now, *this is looking like a Neo4j 2.1 bug*.  I use Nigel's
>>> latest version quite successfully with 2.0.1.  I know you guys are at
>>> OSCON.  If you read this and can tell me what you want to see to diagnose
>>> it, that would be awesome.
>>>
>>>
>>> On 07/19/2014 12:09 PM, Alan Robertson wrote:
>>>
>>> A little more detail about the failure mode:
>>>     I added a single node to the database, related it to itself three
>>> ways, added it to the index.
>>>     committed the transaction - returned results from the commit looked
>>> correct
>>>     Tried a get_properties() on the object returned from the transaction
>>> commit
>>>         Just before the get_properties() failed, I printed that object
>>> (Nigel's Neo4j node object), and got this result:
>>>                 {"a":52,"c":3.14159,"b":2,"name":"Drone121"}
>>>                 [I also printed the node _id value -- which was 0]
>>>
>>> I updated the test in source control to add debug statements, and run
>>> the test with debug on.  If you run the Dockerfile, or just wget using the
>>> URLs I supplied before, you'll have the newest version of the test.  Keep
>>> in mind that docker caches results, so if you've cached the results of the
>>> Dockerfile, you'll have to tweak it somehow (change the echo or something)
>>> to make sure it grabs the latest source.
>>>
>>> As a reminder, this works just fine with 2.0.x (where x >= 1) versions
>>> of Neo4j.   It only fails with 2.1.x versions of Neo4j.
>>>
>>> The output with the current debug turned on looks like this:
>>>
>>> Python 2.7.5
>>> ('COMMITTING THIS THING:', "{\n\tdb: Resource(u'
>>> http://localhost:7474/db/data/'),\n\tclasses: {<class
>>> '__main__.Drone'>: True},\n\tuniqueindexmap: {'Drone':
>>> True},\n\tclasskeymap: {'Drone': {'index': 'Drone', 'vattr': 'name', 'key':
>>> 'Drone'}}\n\tbatchindex: None,\n\t   clients: \n[<__main__.Drone object at
>>> 0x27211d0>,\n\t   newrels: \n[{'to': <__main__.Drone object at 0x27211d0>,
>>> 'props': None, 'from': <__main__.Drone object at 0x27211d0>, 'type':
>>> 'ISA'}, {'to': <__main__.Drone object at 0x27211d0>, 'props': None, 'from':
>>> <__main__.Drone object at 0x27211d0>, 'type': 'WASA'}, {'to':
>>> <__main__.Drone object at 0x27211d0>, 'props': None, 'from':
>>> <__main__.Drone object at 0x27211d0>, 'type': 'WILLBEA'},\n\t deletions:
>>> \n\n\tweaknoderefs: {}\n\tstats: {'totaltime': datetime.timedelta(0),
>>> 'index': 0, 'nodecreate': 0, 'separate': 0, 'relate': 0, 'lastcommit':
>>> None, 'nodedelete': 0, 'attrupdate': 0}\n\tbatch: None\n}")
>>> Performing batch.create(0:
>>> ({"a":52,"c":3.14159,"b":2,"name":"Drone121"})) - for new node
>>> Performing batch.create(0-[:ISA]->0): node relationships
>>> ADDING rel 0-[:ISA]->0
>>> Performing batch.create(0-[:WASA]->0): node relationships
>>> ADDING rel 0-[:WASA]->0
>>> Performing batch.create(0-[:WILLBEA]->0): node relationships
>>> ADDING rel 0-[:WILLBEA]->0
>>> add_to_index_or_fail: node 0; index Index(Node, u'
>>> http://localhost:7474/db/data/index/node/Drone')("Drone","Drone121")
>>> ('Batch Updates constructed: Committing THIS THING:', "{\n\tdb:
>>> Resource(u'http://localhost:7474/db/data/'),\n\tclasses: {<class
>>> '__main__.Drone'>: True},\n\tuniqueindexmap: {'Drone':
>>> True},\n\tclasskeymap: {'Drone': {'index': 'Drone', 'vattr': 'name', 'key':
>>> 'Drone'}}\n\tbatchindex: 4,\n\t   clients: \n[<__main__.Drone object at
>>> 0x27211d0>,\n\t   newrels: \n[{'from': <__main__.Drone object at
>>> 0x27211d0>, 'seqno': 1, 'abstract': rel(0, 'ISA', 0), 'to': <__main__.Drone
>>> object at 0x27211d0>, 'props': None, 'type': 'ISA'}, {'from':
>>> <__main__.Drone object at 0x27211d0>, 'seqno': 2, 'abstract': rel(0,
>>> 'WASA', 0), 'to': <__main__.Drone object at 0x27211d0>, 'props': None,
>>> 'type': 'WASA'}, {'from': <__main__.Drone object at 0x27211d0>, 'seqno': 3,
>>> 'abstract': rel(0, 'WILLBEA', 0), 'to': <__main__.Drone object at
>>> 0x27211d0>, 'props': None, 'type': 'WILLBEA'},\n\t deletions:
>>> \n\n\tweaknoderefs: {}\n\tstats: {'totaltime': datetime.timedelta(0),
>>> 'index': 1, 'nodecreate': 1, 'separate': 0, 'relate': 3, 'lastcommit':
>>> None, 'nodedelete': 0, 'attrupdate': 0}\n\tbatch: <py2neo.neo4j.WriteBatch
>>> object at 0x2721450>\n}")
>>> SUBMITRESULT: (0 {"a":52,"c":3.14159,"b":2,"name":"Drone121"})
>>> LOOKING at new node with batch index 0
>>> NEW NODE looks like (0 {"a":52,"c":3.14159,"b":2,"name":"Drone121"})
>>> SUBJ (our copy) looks like <__main__.Drone object at 0x27211d0>
>>> Traceback (most recent call last):
>>>   File "store.py", line 1099, in <module>
>>>     testme()
>>>   File "store.py", line 1014, in testme
>>>     store.commit()  # The updates have been captured...
>>>   File "store.py", line 923, in commit
>>>     %       (newnode._id, str(newnode.get_properties())))
>>>   File
>>> "/opt/rh/python27/root/usr/lib/python2.7/site-packages/py2neo/neo4j.py",
>>> line 1398, in get_properties
>>>     self._properties = assembled(self._properties_resource._get()) or {}
>>>   File
>>> "/opt/rh/python27/root/usr/lib/python2.7/site-packages/py2neo/neo4j.py",
>>> line 367, in _get
>>>     raise ClientError(e)
>>> py2neo.exceptions.ClientError: Cannot find node with id [0] in database.
>>>
>>>
>>>
>>> On 07/17/2014 03:47 PM, Nigel Small wrote:
>>>
>>>  Cool, thanks. I should get a chance to look into it over the next
>>> couple of weeks.
>>>
>>>  Cheers
>>> Nigel
>>>
>>>
>>> On 17 July 2014 22:41, Alan Robertson <al...@unix.sh> wrote:
>>>
>>>>  And for good measure, if you use the Dockerfile quoted below (and
>>>> attached), this is a clean-room reproduction of the problem in CentOS6
>>>> (with Python 2.7).
>>>>
>>>> ###############################################
>>>> FROM centos:latest
>>>> # Would prefer headless, but not available in CentOS6
>>>> RUN yum -y install wget java-1.7.0-openjdk scl-utils redhat-lsb-core
>>>> RUN wget -qO- http://dev.centos.org/centos/6/SCL/scl.repo >>
>>>> /etc/yum.repos.d/centos.scl.repo
>>>> RUN yum -y install python27-python python27-python-setuptools
>>>> ###  Neo4j RPM
>>>> RUN wget http://debian.neo4j.org/neotechnology.gpg.key -O
>>>> /tmp/neo4j.key  && rpm --import /tmp/neo4j.key && rm -f /tmp/neo4j.key
>>>> RUN echo '[neo4j]' > /etc/yum.repos.d/neo4j.repo && echo 'name=Neo4j
>>>> Yum Repo' >> /etc/yum.repos.d/neo4j.repo && echo 'baseurl=
>>>> http://yum.neo4j.org' >> /etc/yum.repos.d/neo4j.repo && echo
>>>> 'enabled=1' >> /etc/yum.repos.d/neo4j.repo && echo 'gpgcheck=1' >>
>>>> /etc/yum.repos.d/neo4j.repo && yum -y install neo4j
>>>> RUN scl enable python27 'easy_install pip'
>>>> RUN scl enable python27 'pip install py2neo'
>>>> RUN echo "Pulling Assimilation project source"
>>>> RUN mkdir /tmp/neotest && cd /tmp/neotest && wget -q
>>>> http://hg.linux-ha.org/assimilation/raw-file/tip/cma/store.py  && wget
>>>> -q http://hg.linux-ha.org/assimilation/raw-file/tip/cma/assimevent.py
>>>> RUN NEO=neo4j; cd /tmp/neotest && /etc/init.d/${NEO} start && sleep 15
>>>> && scl enable python27 '/usr/bin/env python --version; python store.py'
>>>> ##################################################
>>>>
>>>> Do this:
>>>>     make a directory
>>>>     cd into the directory you just made
>>>>     copy the above text into a file in that directory - named Dockerfile
>>>>     docker.io build .
>>>>
>>>> This is a completely clean-room demonstration of the problem in
>>>> CentOS6.
>>>>
>>>>
>>>>
>>>> On 07/17/2014 08:16 AM, Alan Robertson wrote:
>>>>
>>>>  Hi Nigel,
>>>>
>>>> Many thanks for your quick reply!
>>>>
>>>> I can reproduce it with what I think is a smallish environment.
>>>>
>>>> If you download my code from here:
>>>> http://hg.linux-ha.org/assimilation/archive/tip.tar.gz
>>>>
>>>> Untar it, and go into the cma directory.  Run the python script
>>>> *store.py*
>>>>
>>>> It will fail.  Each time you run it, it will give a higher node in the
>>>> graph that it cannot find.
>>>>
>>>> If it doesn't fail, then we can try the docker thing to reproduce the
>>>> environment more exactly.
>>>>
>>>> To try the docker version, you just need to install docker and say
>>>> "docker build ." (or docker.io) with my Dockerfile in your directory.
>>>> It will do the rest - grab the OS, libraries, things we need, build my code
>>>> and run my tests.  It just takes longer.  For this environment, it helps to
>>>> understand docker when you want to debug it.
>>>>
>>>> It's pretty awesome.  But hopefully you won't need to do that.
>>>>
>>>> I also have a more complex set of tests that only require python that
>>>> will likely fail if there's a Neo4j/Py2neo issue that affects me.  Maybe I
>>>> should create a separate test environment for that - that you could easily
>>>> run.
>>>>
>>>>
>>>>
>>>>
>>>> On 07/15/2014 04:42 PM, Nigel Small wrote:
>>>>
>>>> Familiar with the concept but have never actually used it.
>>>>
>>>>
>>>> On 15 July 2014 23:41, Alan Robertson <al...@unix.sh> wrote:
>>>>
>>>>>  Yes.  There are lots of ways to do that.  After all, it's all open
>>>>> source :-D.
>>>>>
>>>>> Are you familiar with docker?
>>>>>
>>>>>
>>>>>
>>>>> On 07/15/2014 04:19 PM, Nigel Small wrote:
>>>>>
>>>>> Can you share some code that I can run to recreate the issue?
>>>>>
>>>>> Cheers
>>>>> Nigel
>>>>>
>>>>>
>>>>> On 15 July 2014 23:09, Alan Robertson <al...@unix.sh> wrote:
>>>>>
>>>>>> Neo4j package: neo4j-2.1.2-1.noarch
>>>>>>
>>>>>> # pip list | grep py2neo
>>>>>> py2neo (1.6.4)
>>>>>>
>>>>>> The context is this:
>>>>>> I just did a commit of a transaction which added nodes to the
>>>>>> database, and am now trying to retrieve these same nodes by the ids for
>>>>>> them which were returned by the transaction.
>>>>>>
>>>>>>
>>>>>> tests.cma_test TestCMABasic.test_several_startups ... error:
>>>>>> tests.cma_test TestCMABasic.test_several_startups
>>>>>> Traceback (most recent call last):
>>>>>>   File "./tests/cma_test.py", line 506, in test_several_startups
>>>>>>     CMAinit(io, cleanoutdb=True, debug=DEBUG)
>>>>>>   File "./cmainit.py", line 75, in __init__
>>>>>>     CMAdb.store.commit()
>>>>>>   File "./store.py", line 912, in commit
>>>>>>     for attr in newnode.get_properties():
>>>>>>   File
>>>>>> "/opt/rh/python27/root/usr/lib64/python2.7/site-packages/py2neo/neo4j.py",
>>>>>> line 1398, in get_properties
>>>>>>     self._properties = assembled(self._properties_resource._get()) or
>>>>>> {}
>>>>>>   File
>>>>>> "/opt/rh/python27/root/usr/lib64/python2.7/site-packages/py2neo/neo4j.py",
>>>>>> line 367, in _get
>>>>>>     raise ClientError(e)
>>>>>> ClientError: Cannot find node with id [0] in database.
>>>>>>
>>>>>> ERROR in 2.49s
>>>>>> tests.cma_test TestCMABasic.test_startup ... error: tests.cma_test
>>>>>> TestCMABasic.test_startup
>>>>>> Traceback (most recent call last):
>>>>>>   File "./tests/cma_test.py", line 433, in test_startup
>>>>>>     CMAinit(io, cleanoutdb=True, debug=DEBUG)
>>>>>>   File "./cmainit.py", line 75, in __init__
>>>>>>     CMAdb.store.commit()
>>>>>>   File "./store.py", line 912, in commit
>>>>>>     for attr in newnode.get_properties():
>>>>>>   File
>>>>>> "/opt/rh/python27/root/usr/lib64/python2.7/site-packages/py2neo/neo4j.py",
>>>>>> line 1398, in get_properties
>>>>>>     self._properties = assembled(self._properties_resource._get()) or
>>>>>> {}
>>>>>>   File
>>>>>> "/opt/rh/python27/root/usr/lib64/python2.7/site-packages/py2neo/neo4j.py",
>>>>>> line 367, in _get
>>>>>>     raise ClientError(e)
>>>>>> ClientError: Cannot find node with id [1] in database.
>>>>>>
>>>>>> --
>>>>>>     Alan Robertson <al...@unix.sh> <al...@unix.sh> - @OSSAlanR
>>>>>>
>>>>>> "Openness is the foundation and preservative of friendship...  Let me
>>>>>> claim from you at all times your undisguised opinions." - William
>>>>>> Wilberforce
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>     Alan Robertson <al...@unix.sh> <al...@unix.sh> - @OSSAlanR
>>>>>
>>>>> "Openness is the foundation and preservative of friendship...  Let me 
>>>>> claim from you at all times your undisguised opinions." - William 
>>>>> Wilberforce
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>>     Alan Robertson <al...@unix.sh> <al...@unix.sh> - @OSSAlanR
>>>>
>>>> "Openness is the foundation and preservative of friendship...  Let me 
>>>> claim from you at all times your undisguised opinions." - William 
>>>> Wilberforce
>>>>
>>>>  --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Neo4j" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to neo4j+unsubscr...@googlegroups.com.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>>
>>>>
>>>> --
>>>>     Alan Robertson <al...@unix.sh> <al...@unix.sh> - @OSSAlanR
>>>>
>>>> "Openness is the foundation and preservative of friendship...  Let me 
>>>> claim from you at all times your undisguised opinions." - William 
>>>> Wilberforce
>>>>
>>>>   --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Neo4j" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to neo4j+unsubscr...@googlegroups.com.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups "Neo4j" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to neo4j+unsubscr...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>>
>>> --
>>>     Alan Robertson <al...@unix.sh> <al...@unix.sh> - @OSSAlanR
>>>
>>> "Openness is the foundation and preservative of friendship...  Let me claim 
>>> from you at all times your undisguised opinions." - William Wilberforce
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Neo4j" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to neo4j+unsubscr...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>>
>>> --
>>>     Alan Robertson <al...@unix.sh> <al...@unix.sh> - @OSSAlanR
>>>
>>> "Openness is the foundation and preservative of friendship...  Let me claim 
>>> from you at all times your undisguised opinions." - William Wilberforce
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Neo4j" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to neo4j+unsubscr...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>>
>>> --
>>>     Alan Robertson <al...@unix.sh> <al...@unix.sh> - @OSSAlanR
>>>
>>> "Openness is the foundation and preservative of friendship...  Let me claim 
>>> from you at all times your undisguised opinions." - William Wilberforce
>>>
>>>
>>>
>>> --
>>>     Alan Robertson <al...@unix.sh> <al...@unix.sh> - @OSSAlanR
>>>
>>> "Openness is the foundation and preservative of friendship...  Let me claim 
>>> from you at all times your undisguised opinions." - William Wilberforce
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Neo4j" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to neo4j+unsubscr...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>>
>>> --
>>>     Alan Robertson <al...@unix.sh> <al...@unix.sh> - @OSSAlanR
>>>
>>> "Openness is the foundation and preservative of friendship...  Let me claim 
>>> from you at all times your undisguised opinions." - William Wilberforce
>>>
>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups "Neo4j" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to neo4j+unsubscr...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to neo4j+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to