Commit Graph

2716 Commits

Author SHA1 Message Date
robk-tahoe
766deaa9b6 stats_gatherer: reconcile helper stats gathering
I'd implemented stats gathering hooks in the helper a while back.
Brian did the same without reference to my changes.  This reconciles
those two changes, encompassing all the stats in both changes,
implemented through the stats_provider interface.

this also provide templates for all 10 helper graphs in the 
tahoe-stats munin plugin.
2008-04-10 17:25:44 -07:00
robk-tahoe
f47ebd0814 conflict reconciliation (part 1, stats gathering in helper) 2008-03-27 17:25:16 -07:00
robk-tahoe
d8f3521a02 munin: added a series of munin graphs to report upload helper state 2008-03-25 18:30:46 -07:00
robk-tahoe
5446ea5d67 stats: added stats reporting to the upload helper
adds a stats_producer for the upload helper, which provides a series of counters
to the stats gatherer, under the name 'chk_upload_helper'.

it examines both the 'incoming' directory, and the 'encoding' dir, providing
inc_count inc_size inc_size_old enc_count enc_size enc_size_old, respectively
the number of files in each dir, the total size thereof, and the aggregate
size of all files older than 48hrs
2008-03-25 18:19:08 -07:00
Brian Warner
4b68eb0d95 minor patch, to trigger the buildbot 2008-04-10 16:47:52 -07:00
Brian Warner
0c39ab90fa back our runtime setuptools dependency down to 0.6a9 . We need a newer version to build, but can handle an older version to simply run a pre-built package 2008-04-10 16:31:59 -07:00
Brian Warner
623d82a130 debian: use our own /usr/bin/tahoe, remove runtime dependency on setuptools (since it required egg-aware versions of all dependencies too) 2008-04-10 16:29:59 -07:00
Brian Warner
5cfccbf44f debian: we now require setuptools at build time, and that or pkg_resources at runtime 2008-04-10 15:43:56 -07:00
Brian Warner
3f61198042 debian: use setuptools-generated support/bin/tahoe instead of bin/tahoe, to match Zooko's change that makes our in-tree bin/tahoe spawn support/bin/tahoe 2008-04-10 14:36:27 -07:00
robk-tahoe
8620c7271d key_generator: fix edge case found on windows
the windows (cygwin) buildslave has been failing the key generator test

it turns out that the time check on whether to refill the pool, and the
reactor, are interacting such that when the maybe_refill_pool call posted
on the reactor fires, the test on whether to fill the pool fails.

this adds a loop in the failure case to retry each 1s until it is time
to refill the pool, thus mitigating this timing accuracy problem on
windows.
2008-04-10 14:27:35 -07:00
robk-tahoe
35319c3380 stats gathering: fix storage server stats if not tracking consumed
the RIStatsProvider interface requires that counter and stat values be
ChoiceOf(float, int, long)  the recent changes to storage server to not
track 'consumed' led to returning None as the value of a counter.
this causes violations to be experienced by nodes whose stats are being
gathered.

this patch simply omits that stat if 'consumed' is not being tracked.
2008-04-09 18:23:06 -07:00
robk-tahoe
ef0f523fe0 stats gathering: added counters to upload,download,mutablewatcher
counting number of operations, and for immutable files, bytes transferred
2008-04-09 18:08:59 -07:00
Brian Warner
d36d731752 oops, change debian dependency on zfec to 1.1, not 1.1.0 2008-04-09 17:45:52 -07:00
Zooko O'Whielacronx
fe54dd114c docs: yay! We can remove Twisted from the list of "Manual Dependencies" that users have to be aware of when installing 2008-04-10 18:44:07 -07:00
Zooko O'Whielacronx
85602d190d setup: we now require setuptools at run-time 2008-04-10 15:46:10 -07:00
Zooko O'Whielacronx
cd1c6a58f5 setup: execute ../support/bin/tahoe from ./bin/tahoe 2008-04-10 14:40:37 -07:00
robk-tahoe
0d2eb1edf6 stats_gatherer: verbose debug logging
one of the storage servers is throwing foolscap violations about the
return value of get_stats().  this adds a log of the data returned
to the foolscap log event stream at the debug level '12' (between
NOISY(10) and OPERATIONAL(20))  hopefully this will facilitate
finding the cause of this problem.
2008-04-09 16:10:53 -07:00
Peter Secor
3b4d29b013 native client - small bug fix to run the used_quota update on startup as well as on upload 2008-04-09 15:18:43 -07:00
Peter Secor
10d46ff218 native client - adding change to allow drive properties to reflect actual usage of the virtual drive 2008-04-09 14:06:14 -07:00
Zooko O'Whielacronx
d10c23bcd4 docs: another small edit (don't mention docs/ directory in about.html now that docs/ is prominent on wiki:Docs) 2008-04-09 16:02:45 -07:00
Zooko O'Whielacronx
81240eeff7 docs: a couple of tiny docs updates 2008-04-09 15:57:59 -07:00
Zooko O'Whielacronx
ff7f716871 setup: setup_requires twisted, because foolscap <= 0.2.5 imports twisted in its setup.py and because we want trial to be available at build time 2008-04-09 11:30:53 -07:00
Brian Warner
5385ec8fc9 make debian dependencies match _auto_deps.py ones, for foolscap and zfec 2008-04-09 10:23:01 -07:00
Peter Secor
080b5fbc84 windows installer - changed display name to Allmydata 3.0 for presentation purposes 2008-04-09 10:01:51 -07:00
Peter Secor
48a847609a native installer - updated installer to have a better formatted string in the install screen and in the Add/Remove Programs screen 2008-04-08 17:22:39 -07:00
robk-tahoe
27ac71458f key_generator: remove poll timeouts from test
the timeouts on uses of 'poll' were there purely to make sure a test doesn't
poll indefinitely.  however having such timeouts makes tests susceptible 
to premature timeouts under high load, or on slow machines. (e.g. cygwin 
slaves running in virtual machines on loaded hosts)

purportedly trial by default applies a timeout to tests to prevent them
hanging out indefinitely, so these poll timeouts are redundant and cause
intermittent failures on slow hosts.  hence they're more bother than they're
worth, and should be culled.
2008-04-08 11:06:58 -07:00
robk-tahoe
8e9e56fdd0 key_generator: fix a typo in the .tac generating create-key-generator
verbose is an object attribute, no longer settable via init args
2008-04-08 11:06:06 -07:00
Zooko O'Whielacronx
6090a561aa setup: require twisted >= 2.4.0 2008-04-08 18:12:00 -07:00
Zooko O'Whielacronx
8783eabf5a don't do a du on startup if there is no size limit configured
This also turns off the production of the "space measurement done" log message, if there is no size limit configured.
2008-04-08 11:36:56 -07:00
Peter Secor
8b4d530036 native client - added icon to About screen, added ability to change backup client that is launched, changed capitalization in share namme to Allmydata, changed tool-tip to Allmydata 3.0, updated linking method to automatically link if the next file will take more than 60sec to upload or it's already been 5 minutes since the last link happened 2008-04-08 01:19:02 -07:00
Peter Secor
e244b4924c native client - took out the Palissimo name, corrected file dates 2008-04-06 22:09:56 -07:00
Peter Secor
06c9d55568 native client - updated flashing icon, removed the word "Beta" from About screen, fixed some wording 2008-04-04 01:04:04 -07:00
robk-tahoe
30eaaa7862 key_generator: fix timing, make tests more robust
previously there was an edge case in the timing of expected behaviour
of the key_generator (w.r.t. the refresh delay and twisted/foolscap
delivery).  if it took >6s for a key to be generated, then it was 
possible for the pool refresh delay to transpire _during_ the 
synchronous creation of a key in remote_get_rsa_key_pair.  this could
lead to the timer elapsing during key creation and hence the pool
being refilled before control returned to the client.

this change ensures that the time window from a get key request
until the key gen reactor blocks to refill the pool is the time
since a request was answered, not since a request was asked.
this causes the behaviour to match expectations, as embodied in
test_keygen, even if the delay window is dropped to 0.1s
2008-04-03 18:43:46 -07:00
robk-tahoe
c838cfef44 key_generator: up timeouts on keygen test
in both these cases, the timeout only serves to abort a stuck test, and
the key_generator should respond more quickly, but seeing test failures
in buildbot on some platforms suggests that the test is too susceptible
to timing issues on loaded buildslaves.
2008-04-03 16:26:24 -07:00
Brian Warner
ec77a5dc92 update our misc/dependencies to have foolscap-0.2.5 2008-04-03 16:08:22 -07:00
robk-tahoe
5333d976e8 auto_deps: require foolscap >= 2.5
the key_generator depends upon tub.setLocationAutomatically() which is only
available in foolscap > 0.2.5
2008-04-03 16:06:46 -07:00
robk-tahoe
1ae2c39862 key_generator: service related cleanups, incorporation into system test
this cleans up KeyGenerator to be a service (a subservice of the
KeyGeneratorService as instantiated by the key-generator.tac app)
this means that the timer which replenishes the keypool will be
shutdown cleanly when the service is stopped.

adds checks on the key_generator service and client into the system
test 'test_mutable' such that one of the nodes (clients[3]) uses
the key_generator service, and checks that mutable file creation
in that node, via a variety of means, are all consuming keys from
the key_generator.
2008-04-03 15:57:07 -07:00
robk-tahoe
ccda06b061 key_generator: added a unit test
implemented a unit test of basic KeyGenService functionality,
fixed a bug in the timing of pool refreshes
2008-04-03 13:01:43 -07:00
Peter Secor
d49a82996a native client - MikeB's updates to do delayed caching (introduces write delays if cache gets big), status indicator if uploading files on Windows (flashing system tray icon) 2008-04-03 13:39:46 -07:00
Brian Warner
06dae8fd67 trial_figleaf.py: make our figleaf code compatible with both Twisted-8.x and Twisted-2.5.x 2008-04-02 17:48:55 -07:00
robk-tahoe
5578559b85 added offloaded key generation
this adds a new service to pre-generate RSA key pairs.  This allows
the expensive (i.e. slow) key generation to be placed into a process
outside the node, so that the node's reactor will not block when it
needs a key pair, but instead can retrieve them from a pool of already
generated key pairs in the key-generator service.

it adds a tahoe create-key-generator command which initialises an 
empty dir with a tahoe-key-generator.tac file which can then be run
via twistd.  it stashes its .pem and portnum for furl stability and
writes the furl of the key gen service to key_generator.furl, also
printing it to stdout.

by placing a key_generator.furl file into the nodes config directory
(e.g. ~/.tahoe) a node will attempt to connect to such a service, and
will use that when creating mutable files (i.e. directories) whenever
possible.  if the keygen service is unavailable, it will perform the
key generation locally instead, as before.
2008-04-01 18:45:13 -07:00
Zooko O'Whielacronx
d6c66f99c0 setup: rename GNUmakefile to Makefile
It's evil and wrong to call something a "Makefile" when it contains code that can't be interpreted by POSIX make and requires GNU make.
But everyone else is doing it.  ;-)
2008-04-01 12:36:09 -07:00
Brian Warner
f9e261d939 introducer.py: accelerate reconnection after being offline. Closes #374.
When we establish any new connection, reset the delays on all the other
Reconnectors. This will trigger a new batch of connection attempts. The idea
is to detect when we (the client) have been offline for a while, and to
connect to all servers when we get back online. By accelerating the timers
inside the Reconnectors, we try to avoid spending a long time in a
partially-connected state (which increases the chances of causing problems
with mutable files, by not updating all the shares that we ought to).
2008-03-31 15:28:45 -07:00
Brian Warner
fb51a60993 munin plugins: add 'graph_category tahoe' 2008-03-28 16:18:30 -07:00
Brian Warner
5da9f42cf8 add munin/tahoe-rootdir-space 2008-03-28 16:18:09 -07:00
Brian Warner
da6ab9f522 munin/tahoe-introstats.py: put this graph in the 'tahoe' category 2008-03-28 14:51:37 -07:00
Peter Secor
3d9c4bcb2f native client - removed unused file (used to be for elevating privileges) and changed installer to start up the AllmydataTray executable directly 2008-03-28 12:25:08 -07:00
Peter Secor
a2b27135db native client - changing way the executables ask for elevated privileges 2008-03-27 23:41:07 -07:00
Brian Warner
d6be5116f5 storage: emit log messages on bucket allocate/read and mutable writev 2008-03-27 17:33:58 -07:00
Zooko O'Whielacronx
eb4a7b5b0c docs: fix anchor text of hyperlink to tarball 2008-03-27 19:01:29 -07:00