[
https://issues.apache.org/jira/browse/ZOOKEEPER-921?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nicholas Knight updated ZOOKEEPER-921:
--------------------------------------
Attachment: zktest.py
Script showing issue. This has been tested with a ZooKeeper 3.3.1 instance,
with both the bindings in the 3.3.1 source tree, and those from an svn checkout
of trunk (from within the last few hours). Results were identical with both
bindings.
If '/SomeDir' exists, but '/SomeDir/last_modified' does not, this is the
erroneous output from the script:
{noformat}
2010-11-08 16:53:04,916:2623(0x7fff71077c20):zoo_i...@log_env@660: Client
environment:zookeeper.version=zookeeper C client 3.4.0
2010-11-08 16:53:04,916:2623(0x7fff71077c20):zoo_i...@log_env@664: Client
environment:host.name=Nicholas-Knights-MacBook-Pro.local
2010-11-08 16:53:04,916:2623(0x7fff71077c20):zoo_i...@log_env@671: Client
environment:os.name=Darwin
2010-11-08 16:53:04,916:2623(0x7fff71077c20):zoo_i...@log_env@672: Client
environment:os.arch=10.4.0
2010-11-08 16:53:04,916:2623(0x7fff71077c20):zoo_i...@log_env@673: Client
environment:os.version=Darwin Kernel Version 10.4.0: Fri Apr 23 18:28:53 PDT
2010; root:xnu-1504.7.4~1/RELEASE_I386
2010-11-08 16:53:04,916:2623(0x7fff71077c20):zoo_i...@log_env@681: Client
environment:user.name=nknight
2010-11-08 16:53:04,917:2623(0x7fff71077c20):zoo_i...@log_env@689: Client
environment:user.home=/Users/nknight
2010-11-08 16:53:04,917:2623(0x7fff71077c20):zoo_i...@log_env@701: Client
environment:user.dir=/Users/nknight
2010-11-08 16:53:04,917:2623(0x7fff71077c20):zoo_i...@zookeeper_init@729:
Initiating client connection, host=127.0.0.1:2181 sessionTimeout=10000
watcher=0x0 sessionId=0 sessionPasswd=<null> context=0x0 flags=0
2010-11-08 16:53:04,917:2623(0x100602000):zoo_i...@check_events@1587: initiated
connection to server [127.0.0.1:2181]
2010-11-08 16:53:04,919:2623(0x100602000):zoo_i...@check_events@1634: session
establishment complete on server [127.0.0.1:2181], sessionId=0x12c2a04fa7501ab,
negotiated timeout=10000
Traceback (most recent call last):
File "zktest.py", line 21, in <module>
logger.debug("Boom?")
File
"/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/logging/__init__.py",
line 1008, in debug
if self.isEnabledFor(DEBUG):
File
"/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/logging/__init__.py",
line 1206, in isEnabledFor
return level >= self.getEffectiveLevel()
File
"/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/logging/__init__.py",
line 1194, in getEffectiveLevel
while logger:
TypeError: an integer is required
{noformat}
If the node already exists (as is the case if you run the script a second
time), you get expected results:
{noformat}
2010-11-08 16:55:55,555:2630(0x7fff71077c20):zoo_i...@log_env@660: Client
environment:zookeeper.version=zookeeper C client 3.4.0
2010-11-08 16:55:55,555:2630(0x7fff71077c20):zoo_i...@log_env@664: Client
environment:host.name=Nicholas-Knights-MacBook-Pro.local
2010-11-08 16:55:55,555:2630(0x7fff71077c20):zoo_i...@log_env@671: Client
environment:os.name=Darwin
2010-11-08 16:55:55,555:2630(0x7fff71077c20):zoo_i...@log_env@672: Client
environment:os.arch=10.4.0
2010-11-08 16:55:55,555:2630(0x7fff71077c20):zoo_i...@log_env@673: Client
environment:os.version=Darwin Kernel Version 10.4.0: Fri Apr 23 18:28:53 PDT
2010; root:xnu-1504.7.4~1/RELEASE_I386
2010-11-08 16:55:55,555:2630(0x7fff71077c20):zoo_i...@log_env@681: Client
environment:user.name=nknight
2010-11-08 16:55:55,556:2630(0x7fff71077c20):zoo_i...@log_env@689: Client
environment:user.home=/Users/nknight
2010-11-08 16:55:55,556:2630(0x7fff71077c20):zoo_i...@log_env@701: Client
environment:user.dir=/Users/nknight
2010-11-08 16:55:55,556:2630(0x7fff71077c20):zoo_i...@zookeeper_init@729:
Initiating client connection, host=127.0.0.1:2181 sessionTimeout=10000
watcher=0x0 sessionId=0 sessionPasswd=<null> context=0x0 flags=0
2010-11-08 16:55:55,557:2630(0x100602000):zoo_i...@check_events@1587: initiated
connection to server [127.0.0.1:2181]
2010-11-08 16:55:55,558:2630(0x100602000):zoo_i...@check_events@1634: session
establishment complete on server [127.0.0.1:2181], sessionId=0x12c2a04fa7501ac,
negotiated timeout=10000
Caught exception: NodeExistsException('node exists',)
DEBUG:Boom:Boom?
{noformat}
If /SomeDir doesn't exist, you also get expected results:
{noformat}
2010-11-08 16:56:59,198:2634(0x7fff71077c20):zoo_i...@log_env@660: Client
environment:zookeeper.version=zookeeper C client 3.4.0
2010-11-08 16:56:59,198:2634(0x7fff71077c20):zoo_i...@log_env@664: Client
environment:host.name=Nicholas-Knights-MacBook-Pro.local
2010-11-08 16:56:59,198:2634(0x7fff71077c20):zoo_i...@log_env@671: Client
environment:os.name=Darwin
2010-11-08 16:56:59,198:2634(0x7fff71077c20):zoo_i...@log_env@672: Client
environment:os.arch=10.4.0
2010-11-08 16:56:59,198:2634(0x7fff71077c20):zoo_i...@log_env@673: Client
environment:os.version=Darwin Kernel Version 10.4.0: Fri Apr 23 18:28:53 PDT
2010; root:xnu-1504.7.4~1/RELEASE_I386
2010-11-08 16:56:59,198:2634(0x7fff71077c20):zoo_i...@log_env@681: Client
environment:user.name=nknight
2010-11-08 16:56:59,199:2634(0x7fff71077c20):zoo_i...@log_env@689: Client
environment:user.home=/Users/nknight
2010-11-08 16:56:59,199:2634(0x7fff71077c20):zoo_i...@log_env@701: Client
environment:user.dir=/Users/nknight
2010-11-08 16:56:59,199:2634(0x7fff71077c20):zoo_i...@zookeeper_init@729:
Initiating client connection, host=127.0.0.1:2181 sessionTimeout=10000
watcher=0x0 sessionId=0 sessionPasswd=<null> context=0x0 flags=0
2010-11-08 16:56:59,200:2634(0x100602000):zoo_i...@check_events@1587: initiated
connection to server [127.0.0.1:2181]
2010-11-08 16:56:59,202:2634(0x100602000):zoo_i...@check_events@1634: session
establishment complete on server [127.0.0.1:2181], sessionId=0x12c2a04fa7501ad,
negotiated timeout=10000
Caught exception: NoNodeException('no node',)
DEBUG:Boom:Boom?
{noformat}
> zkPython interferes with/corrupts Python's 'logging' module
> -----------------------------------------------------------
>
> Key: ZOOKEEPER-921
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-921
> Project: Zookeeper
> Issue Type: Bug
> Components: contrib-bindings
> Affects Versions: 3.3.1, 3.4.0
> Environment: Mac OS X 10.6.4, included Python 2.6.1
> Reporter: Nicholas Knight
> Attachments: zktest.py
>
>
> Calling {{zookeeper.create()}} seems, under certain circumstances, to be
> corrupting a subsequent call to Python's {{logging}} module.
> Specifically, if the node does not exist (but its parent does), I end up with
> a traceback like this when I try to make the logging call:
> {noformat}
> Traceback (most recent call last):
> File "zktest.py", line 21, in <module>
> logger.error("Boom?")
> File
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/logging/__init__.py",
> line 1046, in error
> if self.isEnabledFor(ERROR):
> File
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/logging/__init__.py",
> line 1206, in isEnabledFor
> return level >= self.getEffectiveLevel()
> File
> "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/logging/__init__.py",
> line 1194, in getEffectiveLevel
> while logger:
> TypeError: an integer is required
> {noformat}
> But if the node already exists, or the parent does not exist, I get the
> appropriate NodeExists or NoNode exceptions.
> I'll be attaching a test script that can be used to reproduce this behavior.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.