9b6de6ecb7
Replace old layout strings everywhere
2013-03-03 13:37:02 -05:00
c512631184
bulkdata: Build up rows and write to disk all at once
2013-03-03 12:03:44 -05:00
19d27c31bc
Fix streaming requests like stream_extract
2013-03-03 11:37:47 -05:00
28310fe886
Add test for extents
2013-03-02 15:19:25 -05:00
1ccc2bce7e
Add commandline support for listing extents
2013-03-02 15:19:19 -05:00
00237e30b2
Add "extent" option to stream_list in client, server, and nilmdb
2013-03-02 15:18:54 -05:00
521ff88f7c
Support 'nilmtool help command' just like 'nilmtool command --help'
2013-03-02 13:56:03 -05:00
64897a1dd1
Change port from 12380 -> 32180 when running tests
...
This is so tests can be run without interfering with a normal server.
2013-03-02 13:19:44 -05:00
41ce8480bb
cmdline: Support NILMDB_URL environment variable for default URL
2013-03-02 13:18:33 -05:00
204a6ecb15
Optimize bulkdata.append() by postponing flushes & mmap resize
...
Rather than flushing and resizing after each row is written to the
file, have the file object iterate by itself and do all of the
writes. Only flush and resize the mmap after finishing. This should
be pretty safe to do, especially since nothing is concurrent at the
moment.
2013-03-01 16:30:49 -05:00
5db3b186a4
Make test_mustclose more complete
2013-03-01 16:30:22 -05:00
fe640cf421
Remove must_close verification wrappers on bulkdata
...
At this point we know that the close() behavior is correct, so it's
not worth slowing everything down for these checks.
2013-03-01 16:11:44 -05:00
ca67c79fe4
Improve test_layout_speed
2013-03-01 16:04:10 -05:00
8917bcd4bf
Fix test case failures due to increased client chunk size
2013-03-01 16:04:00 -05:00
a75ec98673
Slight speed improvements in layout.pyx
2013-03-01 16:03:38 -05:00
e476338d61
Remove outdated numpy dependency
2013-03-01 16:03:19 -05:00
d752b882f2
Bump up block sizes in client
...
This will help amortize the sqlite synchronization costs.
2013-02-28 21:11:57 -05:00
ade27773e6
Add --nosync option to nilmdb-server script
2013-02-28 20:45:08 -05:00
0c1a1d2388
Fix nilmdb-server script
2013-02-28 18:53:06 -05:00
e3f335dfe5
Move time parsing from cmdline into nilmdb.utils.time
2013-02-28 17:09:26 -05:00
7a191c0ebb
Fix versioneer to update versions on install
2013-02-28 14:50:53 -05:00
55bf11e393
Fix error when pyximport is too old
2013-02-26 22:21:23 -05:00
e90dcd10f3
Update README and setup.py with python-requests dependency
2013-02-26 22:00:42 -05:00
7d44f4eaa0
Cleanup Makefile; make tests run through setup.py when outside emacs
2013-02-26 22:00:42 -05:00
f541432d44
Merge branch 'requests'
2013-02-26 21:59:15 -05:00
aa4e32f78a
Merge branch 'curl-multi'
2013-02-26 21:59:03 -05:00
2bc1416c00
Merge branch 'fixups'
2013-02-26 21:58:55 -05:00
68bbbf757d
Remove nilmdb.utils.urllib
...
python-requests seems to handle UTF-8 just fine.
2013-02-26 19:46:22 -05:00
3df96fdfdd
Reorder code
2013-02-26 19:41:55 -05:00
740ab76eaf
Re-add persistent connection test for Requests based httpclient
2013-02-26 19:41:27 -05:00
ce13a47fea
Save full response object for tests
2013-02-26 17:45:41 -05:00
50a4a60786
Replace pyCurl with Requests
...
Only tested with v1.1.0. It's not clear how well older versions will
work.
2013-02-26 17:45:40 -05:00
14afa02db6
Temporarily remove curl-specific keepalive tests
2013-02-26 17:45:40 -05:00
cc990d6ce4
Test persistent connections
2013-02-26 13:41:40 -05:00
0f5162e0c0
Always use the curl multi interface
...
.. even for non-generator requests
2013-02-26 13:39:33 -05:00
b26cd52f8c
Work around curl multi bug
2013-02-26 13:38:42 -05:00
236d925a1d
Make sure we use POST when requested, even if the body is empty
2013-02-25 21:05:01 -05:00
a4a4bc61ba
Switch to using pycurl.Multi instead of Iteratorizer
2013-02-25 21:05:01 -05:00
3d82888580
Enforce method types, and require POST for actions that change things.
...
This is a pretty big change that will render existing clients unable
to modify the database, but it's important that we use POST or PUT
instead of GET for anything that may change state, in case this
is ever put behind a cache.
2013-02-25 21:05:01 -05:00
749b878904
Add an explicit lock to httpclient's public methods
...
This is to prevent possible reentrancy problems.
2013-02-25 18:06:00 -05:00
f396e3934c
Remove cherrypy version check
...
Dependencies should be handled by installation, not at runtime.
2013-02-25 16:50:19 -05:00
dd7594b5fa
Fix issue where PUT responses were being dropped
...
PUTs generate a "HTTP/1.1 100 Continue" response before the
"HTTP/1.1 200 OK" response, and so we were mistakenly picking up
the 100 status code and not returning any data. Improve the
header callback to correctly process any number of status codes.
2013-02-23 17:51:59 -05:00
4ac1beee6d
layout: allow zero and negative timestamps in parser
2013-02-23 16:58:49 -05:00
8c0ce736d8
Disable use of signals in Curl
...
Various places suggest that this is needed for better thread-safety,
and the only drawback is that some systems cannot timeout properly on
DNS lookups.
2013-02-23 16:15:28 -05:00
8858c9426f
Fix error message text in nilmdb.server.Server
2013-02-23 16:13:47 -05:00
9123ccb583
Merge branch 'decorator-work'
2013-02-23 14:38:36 -05:00
5dce851bef
Merge branch 'client-insert-context'
2013-02-23 14:37:59 -05:00
5b0441de6b
Give serializer and iteratorizer threads names
2013-02-23 14:28:37 -05:00
317c53ab6f
Improve serializer_proxy and verify_thread_proxy
...
These functions can now take an object or a type (class).
If given an object, they will wrap subsequent calls to that object.
If given a type, they will return an object that can be instantiated
to create a new object, and all calls including __init__ will be
covered by the serialization or thread verification.
2013-02-23 14:28:37 -05:00
7db4411462
Cleanup nilmdb.utils.must_close a bit
2013-02-23 11:28:03 -05:00