Tom Clegg [Sat, 14 Feb 2015 21:54:00 +0000 (16:54 -0500)]
Ensure result order is predictable, even if client-provided orders do not specify a complete ordering.
Fixes intermittent test failures. Example (from
https://ci.curoverse.com/job/arvados-api-server/1305/console):
GroupsTest#test_get_all_pages_of_group-owned_objects [/data/1/jenkins/workspace/arvados-api-server/services/api/test/integration/groups_test.rb:31]:
Received 'zzzzz-4zz18-fy296fx3hot09f7' again on page 3.
<nil> expected but was
<true>.
No issue #
Tom Clegg [Sat, 14 Feb 2015 22:02:12 +0000 (17:02 -0500)]
Merge branch '5011-thread-safe-test' refs #5011
Ward Vandewege [Sat, 14 Feb 2015 13:39:46 +0000 (08:39 -0500)]
Merge branch '5200-anonymous-download'
Closes #5200
Ward Vandewege [Sat, 14 Feb 2015 13:39:15 +0000 (08:39 -0500)]
Merge branch 'master' into 5200-anonymous-download
Nancy Ouyang [Fri, 13 Feb 2015 22:19:21 +0000 (17:19 -0500)]
Minor fixes, see #5090
Tom Clegg [Fri, 13 Feb 2015 22:02:16 +0000 (17:02 -0500)]
Merge branch 'master' into 3408-production-datamanager
mishaz [Tue, 10 Feb 2015 02:39:39 +0000 (02:39 +0000)]
Added different event types for started, partially complete and final log entries.
mishaz [Tue, 10 Feb 2015 02:11:34 +0000 (02:11 +0000)]
Moved some logging code from datamananager to loggerutil.
mishaz [Tue, 10 Feb 2015 01:55:37 +0000 (01:55 +0000)]
Updated logger to do all work in a dedicated goroutine, so we don't need to worry about locking. Small changes to calling code.
mishaz [Fri, 30 Jan 2015 01:32:31 +0000 (01:32 +0000)]
Renamed timestamp fields to begin with "time_"
mishaz [Fri, 30 Jan 2015 01:25:11 +0000 (01:25 +0000)]
Now fetch Keep Server Status and record it to the log. Renamed some fields and added a comment for a potential improvement to decrease lock contention.
mishaz [Tue, 27 Jan 2015 01:27:37 +0000 (01:27 +0000)]
Improved erorr message to make it clear what's a size and what's a timestamp.
mishaz [Tue, 27 Jan 2015 01:06:21 +0000 (01:06 +0000)]
Renamed BlockDigest's ToString() to String() to implement fmt.Stringer() interface so that we get more readable error messages when structs contain BlockDigests.
mishaz [Sat, 24 Jan 2015 02:22:01 +0000 (02:22 +0000)]
A bunch of changes, most in response to Peter's review.
Logger:
Edit() and Record() have been replaced with the single Update() method which takes a function as input (suggested by Tom).
lastWrite replaced by nextWriteAllowed, for cleaner logic
Added writeScheduled to reduce the number of writes scheduled and attempted, thereby reducing lock contention
Added sanity-checking of params
A bunch of overdue cleanup
Update documentation to reflect the above changes
Manifest:
Renamed ManifestLine to ManifestStream
Util:
Deleted a lot of crap that proved less useful than I thought.
Moved collection.NumberCollectionsAvailable() to util.NumberItemsAvailable() and made it more generic.
collection:
Just cleanup in response to changes in above packages.
keep:
Switched Mtime from int to int64 to avoid y2038 problems.
Switched approach for avoiding keep proxy from using "accessible" to filtering on service_type = disk.
Cleanup in response to changes in above packages.
loggerutil:
Cleanup in response to changes in logger.
mishaz [Wed, 21 Jan 2015 01:34:29 +0000 (01:34 +0000)]
Added comment, ran gofmt.
mishaz [Wed, 21 Jan 2015 01:31:17 +0000 (01:31 +0000)]
Added Logger.MutateLog() on Tom's suggestion. Tried it out in one instance to make sure it works.
mishaz [Wed, 14 Jan 2015 01:40:50 +0000 (01:40 +0000)]
Finished adding logging to keep.GetServerContents but have not tested fully yet.
mishaz [Wed, 14 Jan 2015 00:50:21 +0000 (00:50 +0000)]
ran gofmt
mishaz [Wed, 14 Jan 2015 00:49:31 +0000 (00:49 +0000)]
Broke keep.GetServerContents() into smaller functions.
mishaz [Tue, 13 Jan 2015 23:56:05 +0000 (23:56 +0000)]
Removed channel awareness from keep.GetServerContents().
mishaz [Tue, 13 Jan 2015 23:27:05 +0000 (23:27 +0000)]
gofmt'd all my source code. No other changes.
mishaz [Tue, 13 Jan 2015 01:15:34 +0000 (01:15 +0000)]
Started logging in keep.go. More work to be done.
mishaz [Tue, 13 Jan 2015 00:49:53 +0000 (00:49 +0000)]
Created loggerutil to hold common datamanager logger code. Moved FatalWithMessage to it.
mishaz [Tue, 13 Jan 2015 00:23:17 +0000 (00:23 +0000)]
Moved some logic from datamanager.go to keep.go.
mishaz [Mon, 12 Jan 2015 23:20:50 +0000 (23:20 +0000)]
Started reading collections and keep data in parallel. Moved some logic from datamanager.go to collections.go. Added logging to end of run.
mishaz [Sun, 11 Jan 2015 18:29:13 +0000 (18:29 +0000)]
Merge branch 'master' of git.curoverse.com:arvados into 3408-production-datamanager
Conflicts resolved:
services/api/Gemfile
services/api/Gemfile.lock
mishaz [Fri, 9 Jan 2015 04:53:42 +0000 (04:53 +0000)]
Added recording of fatal errors to logger.
mishaz [Fri, 9 Jan 2015 04:11:29 +0000 (04:11 +0000)]
Added ForceRecord() method to enable writing remaining log changes before exiting.
mishaz [Fri, 9 Jan 2015 04:00:40 +0000 (04:00 +0000)]
Switched Logger edit hooks to write hooks so they'll trigger less often.
mishaz [Thu, 8 Jan 2015 23:22:09 +0000 (23:22 +0000)]
Switched batch size to 50. Added logging of batch size.
mishaz [Thu, 8 Jan 2015 23:17:52 +0000 (23:17 +0000)]
Added memory alloc in use to stats exported to log. Also added EditHooks to Logger, enabling users to add functions to get called on each Edit() call.
mishaz [Thu, 8 Jan 2015 22:35:37 +0000 (22:35 +0000)]
Added structure to data manager log entries, grouping similar fields.
mishaz [Thu, 8 Jan 2015 22:24:00 +0000 (22:24 +0000)]
Added ability to turn off logging by passing an empty string as the event type.
mishaz [Thu, 8 Jan 2015 22:16:49 +0000 (22:16 +0000)]
Started using Logger in data manager and collections.
mishaz [Thu, 8 Jan 2015 21:06:49 +0000 (21:06 +0000)]
Added support for MinimumWriteInterval.
mishaz [Thu, 8 Jan 2015 20:14:10 +0000 (20:14 +0000)]
Fixed bugs in logger, changed interface some, added documentation.
Still need to add support for MinimunWriteInterval.
mishaz [Thu, 8 Jan 2015 01:47:51 +0000 (01:47 +0000)]
Added logger to write log messages that grow over time. Not working yet.
mishaz [Wed, 7 Jan 2015 04:16:40 +0000 (04:16 +0000)]
Started focusing on Keep Server responses again. Switched to using blockdigest instead of strings. Added per block info so that we can track block replication across servers.
mishaz [Wed, 7 Jan 2015 01:45:55 +0000 (01:45 +0000)]
Fixed heap profile writing so that we overwrite previous heap profiles rather than adding to them. Minor cleanup too.
mishaz [Wed, 24 Dec 2014 20:26:38 +0000 (20:26 +0000)]
Added string copying to try to reduce memory usage, didn't seem to work. Cleaned up logging (and logging logic) so that we only see one line per batch.
mishaz [Wed, 24 Dec 2014 19:29:08 +0000 (19:29 +0000)]
Started parsing modification date as a timestamp instead of leaving it as a string.
mishaz [Wed, 24 Dec 2014 01:36:43 +0000 (01:36 +0000)]
Switched from strings to BlockDigests to hold block digests more efficiently. Started clearing out manifest text once we finished with it. Made profiling conitional on flag (before it crashed if not provided). Added final heap profile once collections were finished.
Runs to completion!
mishaz [Wed, 24 Dec 2014 00:24:07 +0000 (00:24 +0000)]
Changes to manifest that I forgot to add to previous checking.
mishaz [Tue, 23 Dec 2014 23:55:12 +0000 (23:55 +0000)]
Added blockdigest class to store digests more efficiently. This has the nice side effect of reducing how many string slices we use from the SDK, so the large string can get garbage collected once we remove other usages.
mishaz [Tue, 23 Dec 2014 19:33:07 +0000 (19:33 +0000)]
Long overdue checkin of data manager. Current code runs, but uses way too much memory and eventually crashes. This checkin includes heap profiling to track down memory usage.
mishaz [Sat, 22 Nov 2014 00:57:40 +0000 (00:57 +0000)]
Added reporting of disk usage. This is the Collection Storage of each user as described here: https://arvados.org/projects/arvados/wiki/Data_Manager_Design_Doc#Reports-Produced
But it does not include the size of projects owned by the user (projects and subprojects are each reported as their own users)
Report is just logged to screen for now.
mishaz [Thu, 16 Oct 2014 20:57:06 +0000 (20:57 +0000)]
Started reading index from keep servers.
Added lots of code to handle unexpected results from keep server.
mishaz [Wed, 15 Oct 2014 20:53:53 +0000 (20:53 +0000)]
Started reading response from keep server.
Tom Clegg [Fri, 13 Feb 2015 21:22:55 +0000 (16:22 -0500)]
Merge branch 'master' of git.curoverse.com:arvados into 3408-production-datamanager
Peter Amstutz [Fri, 13 Feb 2015 21:22:43 +0000 (16:22 -0500)]
5095: Record mtime() from group#contents
Peter Amstutz [Fri, 13 Feb 2015 21:12:02 +0000 (16:12 -0500)]
5095: Don't check update when getting mtime().
Tom Clegg [Fri, 13 Feb 2015 19:03:13 +0000 (14:03 -0500)]
Merge branch '5037-nonocache' closes #5037
Tom Clegg [Fri, 13 Feb 2015 18:17:36 +0000 (13:17 -0500)]
Merge branch '5030-hide-graph-until-data' closes #5030
Tom Clegg [Fri, 13 Feb 2015 00:04:01 +0000 (19:04 -0500)]
5011: Fix unreliable test.
The collection writer was (sometimes) consuming the last 200 response
even though it could write 3 copies without it. This shouldn't fail
the test: the only reason we count the PUT calls is to verify all
three of the 200 responses were consumed (i.e., none of the 500
responses were counted toward the achieved replication level). To
verify this without being sensitive to extra requests, we simply
arrange for the three 200 responses to be the last ones available.
Tom Clegg [Thu, 12 Feb 2015 23:56:02 +0000 (18:56 -0500)]
5011: Use a threadsafe wrapper to feed side effects to mocks.
Tom Clegg [Thu, 12 Feb 2015 23:23:38 +0000 (18:23 -0500)]
5200: Fix overly sensitive fuse test. (Do not fail every time a fixture is added.)
Tom Clegg [Thu, 12 Feb 2015 22:42:16 +0000 (17:42 -0500)]
5200: Do not fail tests if application.yml is missing: defaults are enough to pass tests.
Tom Clegg [Thu, 12 Feb 2015 22:09:17 +0000 (17:09 -0500)]
5200: Enable anonymous file view/download.
Tom Clegg [Thu, 12 Feb 2015 19:24:55 +0000 (14:24 -0500)]
Merge branch '4839-worker-state' closes #4839
Peter Amstutz [Thu, 12 Feb 2015 18:53:34 +0000 (13:53 -0500)]
Merge branch '4904-arv-web' closes #4904
Peter Amstutz [Thu, 12 Feb 2015 18:52:48 +0000 (13:52 -0500)]
Merge branch 'master' into 4904-arv-web
Peter Amstutz [Thu, 12 Feb 2015 18:52:28 +0000 (13:52 -0500)]
4904: Remove extraneous ciddir and cidfilepath. Explicit non-zero exit code
when an ArgumentError is caught.
Tom Clegg [Thu, 12 Feb 2015 18:35:35 +0000 (13:35 -0500)]
4839: Use node[crunch_worker_state], not node[info][slurm_state], to make shutdown decisions.
Brett Smith [Thu, 12 Feb 2015 16:43:38 +0000 (11:43 -0500)]
Node Manager daemon tests avoid checking monitor.is_alive().
Checking is_alive() creates race conditions, because we might check
the actor's live state before it's had a chance to process a stop
message in its queue. We just had a build fail because of this:
<https://ci.curoverse.com/job/arvados-api-server/1299/>. Always check
that a monitor is alive by sending it a real message. No issue #.
Tom Clegg [Thu, 12 Feb 2015 15:57:36 +0000 (10:57 -0500)]
Fix undependable test (incorrectly assumed a particular job would be on the first page of /jobs). No issue #
Tom Clegg [Thu, 12 Feb 2015 15:19:42 +0000 (10:19 -0500)]
Merge branch '4951-request-vm-TC' refs #4951
Tom Clegg [Thu, 12 Feb 2015 15:13:46 +0000 (10:13 -0500)]
4951: Empty out ActionMailer::Base.deliveries so we can count deliveries caused by the current test.
Tom Clegg [Thu, 12 Feb 2015 08:18:52 +0000 (03:18 -0500)]
4951: Rearrange js to make use of Rails built-ins. Add generic AJAX error handler.
Tom Clegg [Thu, 12 Feb 2015 07:54:34 +0000 (02:54 -0500)]
4951: Add localStorage to browser dependency checks.
Nancy Ouyang [Thu, 12 Feb 2015 02:29:27 +0000 (21:29 -0500)]
Changed navbars, homepage, to let /doc/index.html function as homepage
Radhika Chippada [Thu, 12 Feb 2015 01:58:02 +0000 (20:58 -0500)]
4951: fix comment in test
Radhika Chippada [Thu, 12 Feb 2015 00:32:02 +0000 (19:32 -0500)]
4951: update test to also verify that an email was sent when request shell access button was clicked.
Radhika Chippada [Thu, 12 Feb 2015 00:23:26 +0000 (19:23 -0500)]
Merge branch 'master' into 4951-request-vm
Radhika Chippada [Thu, 12 Feb 2015 00:22:56 +0000 (19:22 -0500)]
closes #5185
Merge branch '5185-collections-tab-zero-size-issue'
Tom Clegg [Sat, 7 Feb 2015 02:36:39 +0000 (21:36 -0500)]
3410: Fix munge_manifest_locators!: don't skip locators that have no +hints.
Also, fix portable_manifest_text: do not add a trailing + to a locator
that has no size hint.
Portable data hash of ".
d41d8cd98f00b204e9800998ecf8427e+Foo 0:0:x\n"
is md5(".
d41d8cd98f00b204e9800998ecf8427e 0:0:x\n")
not md5(".
d41d8cd98f00b204e9800998ecf8427e+ 0:0:x\n")
Tom Clegg [Sat, 7 Feb 2015 00:07:43 +0000 (19:07 -0500)]
3410: Add tests for replication attributes.
Tom Clegg [Fri, 6 Feb 2015 23:51:12 +0000 (18:51 -0500)]
3410: Add replication attributes (and rules about updating them) to model and docs.
Tom Clegg [Fri, 6 Feb 2015 23:49:59 +0000 (18:49 -0500)]
3410: Add default_collection_replication to config and discovery doc.
Tom Clegg [Fri, 6 Feb 2015 23:49:33 +0000 (18:49 -0500)]
3410: Rename redundancy -> replication columns.
Radhika Chippada [Wed, 11 Feb 2015 23:46:07 +0000 (18:46 -0500)]
5185: remove the unnecessary test because another test is covering the description column check already.
Radhika Chippada [Wed, 11 Feb 2015 23:44:25 +0000 (18:44 -0500)]
5185: do not display description at all in Project -> Data collections tab because of concerns such as the description may be too big or has textile etc.
Radhika Chippada [Wed, 11 Feb 2015 23:40:23 +0000 (18:40 -0500)]
4951: button_to cannot be used to submit; instead change to link_to
Radhika Chippada [Wed, 11 Feb 2015 22:32:37 +0000 (17:32 -0500)]
5185: in project data collections tab, show description when available; otherwise display modified time.
Radhika Chippada [Wed, 11 Feb 2015 21:35:44 +0000 (16:35 -0500)]
closes #4951
Merge branch '4951-request-vm'
Peter Amstutz [Wed, 11 Feb 2015 21:01:24 +0000 (16:01 -0500)]
Merge branch 'master' into 4904-arv-web
Conflicts:
sdk/python/arvados/events.py
Peter Amstutz [Wed, 11 Feb 2015 20:48:00 +0000 (15:48 -0500)]
4904: Detach from Docker container to get cid from stdout instead of fiddling
with cid file. Poll "docker ps" to check if the container is still running. Fixed bugs.
Updated documentation.
Radhika Chippada [Wed, 11 Feb 2015 20:05:24 +0000 (15:05 -0500)]
Merge branch 'master' into 4951-request-vm
Radhika Chippada [Wed, 11 Feb 2015 20:02:49 +0000 (15:02 -0500)]
closes #5110
Merge branch '5110-workbench-full-text-search'
Radhika Chippada [Wed, 11 Feb 2015 20:01:28 +0000 (15:01 -0500)]
5110: update a comment in test; this comment was reflecting ui from before project tabs.
Radhika Chippada [Wed, 11 Feb 2015 19:58:28 +0000 (14:58 -0500)]
5110: update couple more tests to do a single visit to page than visit home and then visit page.
Radhika Chippada [Wed, 11 Feb 2015 19:49:26 +0000 (14:49 -0500)]
Merge branch 'master' into 5110-workbench-full-text-search
Peter Amstutz [Wed, 11 Feb 2015 19:33:12 +0000 (14:33 -0500)]
4904: Refactor arv-web main() into ArvWeb class. Add CollectionDirectory.change_collection to FUSE.
Radhika Chippada [Wed, 11 Feb 2015 19:07:24 +0000 (14:07 -0500)]
4951: Incorporate review feedback. Always show the request button, along with the "sent" message if applicable. Include timestamp in sent message. Some text updates as well.
Radhika Chippada [Wed, 11 Feb 2015 17:05:35 +0000 (12:05 -0500)]
Merge branch 'master' into 4951-request-vm
Tom Clegg [Tue, 10 Feb 2015 22:50:38 +0000 (17:50 -0500)]
Merge branch '4958-old-browser-alert' closes #4958
Tom Clegg [Tue, 10 Feb 2015 22:12:16 +0000 (17:12 -0500)]
4958: Merge branch 'master' into 4958-old-browser-alert
Tom Clegg [Tue, 10 Feb 2015 22:08:57 +0000 (17:08 -0500)]
4958: Tweak wording. Fix margins.
Tom Clegg [Tue, 10 Feb 2015 22:02:10 +0000 (17:02 -0500)]
4958: Test WebSocket support.
Tom Clegg [Tue, 10 Feb 2015 22:02:00 +0000 (17:02 -0500)]
4958: Rename test file.
Tom Clegg [Tue, 10 Feb 2015 21:42:04 +0000 (16:42 -0500)]
Fix javascript errors when closing modal. refs #5183