Skip to content
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

kt_http.py crashes when we are getting an empty key value #3

Open
wants to merge 75 commits into
base: master
Choose a base branch
from
Open

kt_http.py crashes when we are getting an empty key value #3

wants to merge 75 commits into from

Conversation

danifbento
Copy link

I was using python-kyototycoon library and I found this little situation which I think as an issue:

my kyototycoon was running using a normal initialization:

$ktserver -port 2001 -li

after that, i did:

$ ktremotemgr set -port 2001 a "" ("" an empty string)

it doesn't give any error and after that, typing:
$ ktremotemgr get -port 2001 a
(empty string)

it returns an empty string (like i set)

I supose that python-kyototycoon should has the same behavior, but it doesn't because pickles.loads(data) throw and EOFError, crashing my script

But if the original behavior of kyoto is to return an empty string, should python return the same value?

What do you think?

Daniel Bento and others added 30 commits September 20, 2013 18:11
Minimal support for the KT binary protocol.
Do not choke on unicode keys or dropped connections.
Performance improvement for the JSON packer (using "python-cjson")
Reverted README to reStructuredText, needed for PyPI.
Replace json for simplejson, it is better supported and seemingly as fast
…-ASCII characters. Fix set() slowness over HTTP when using KT_PACKER_STRING and unicode values. Match binary protocol's set()/get() return values with the HTTP protocol (boolean instead of int).
…). All tests successful on both Python 2.7 and 3.2.
carlosefr and others added 30 commits February 2, 2014 02:19
Fixes and a "play_script" method.
Binary data packer and support for custom packers
modelines at the bottom with a generic "# EOF - filename.py" comment.
Move packer constants to a separate file to avoid duplication.
Dropped the "picker_protocol" parameter, use a custom packer.
Fix integer database IDs in the HTTP protocol.
Minor reorganization. Fixes.
Better error handling/reporting
Identifier cleanups and default DB ids.
Library uses exceptions instead of a (silent) error object for error reporting
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants