Brett Smith [Tue, 27 Jan 2015 21:22:35 +0000 (16:22 -0500)]
5074: Improve discovery document caching in Ruby SDK.
* Report a warning if there's an error reading or parsing a cached
discovery document.
* Cache discovery documents to a tempfile and rename, to reduce the
chances that we'll write corrupted caches due to I/O errors.
* Make this extension a separate module that can be loaded by users
like the CLI SDK.
* Tighten exception handling throughout.
Brett Smith [Tue, 27 Jan 2015 23:09:20 +0000 (18:09 -0500)]
4878: Refactor Workbench "Re-run job" button for more code reuse.
* Avoid adding new routes: add the modal directly to the job show
page, and submit the new work with the existing job creation route.
* Fix id references; e.g., for labels.
Brett Smith [Mon, 26 Jan 2015 19:02:56 +0000 (14:02 -0500)]
5087: crunch-job installer feeds tar incrementally.
When the input we give to tar is large enough (greater than 4-5MiB),
writing it all in one shot causes tar to die, and crunch-job to get
SIGPIPE. Prevent this by feeding the input to tar in a series of
smaller writes.
Tim Pierce [Mon, 26 Jan 2015 15:24:40 +0000 (10:24 -0500)]
5010: fixed integration test
Fixed a failing integration test that checked for the presence of a
collection in the Home project after being deleted. Removed the
assertion that checked the Home project post-deletion.
Radhika Chippada [Sat, 24 Jan 2015 18:07:42 +0000 (13:07 -0500)]
3686: when a repository is manageable by a user, make repository name a link in manage_account page. In addition, do not offer Attributes tab in repository page if the user is not an admin.
Tim Pierce [Fri, 23 Jan 2015 16:55:04 +0000 (11:55 -0500)]
5010: updated functional tests for new trash behavior
Renamed "project admin can remove items from the project" to "project
admin can remove collections from the project" and updated it to verify
that the target collection has actually been made inaccessible to API
queries.
Added "project admin can remove items from project other than
collections" test to verify that objects which don't support expires_at
continue to exhibit the old behavior.
Tim Pierce [Thu, 22 Jan 2015 22:05:36 +0000 (17:05 -0500)]
4889: improve error message, unit test
Per review in #4889-17:
Updated the CopyPipeToChan error message to be more descriptive, for the
benefit of anyone reading log output.
Corrected the test to confirm that the error message is received even if
the child process does not close the stderr log (which matches the usage
patterns in production).
Tim Pierce [Thu, 22 Jan 2015 20:40:46 +0000 (15:40 -0500)]
4889: added CopyPipeToChan unit test
Added TestCopyPipeToChanLongLines test to confirm that when
CopyPipeToChan attempts to read a line too long for bufio.Scanner, that
it generates an error message on the output channel.
Radhika Chippada [Thu, 22 Jan 2015 18:37:37 +0000 (13:37 -0500)]
4523: add a new migration script that invokes search_index migration down and up methods when a search_index with description is found (due to an earlier migration of search_index with descriptions).
Tim Pierce [Wed, 21 Jan 2015 20:18:16 +0000 (15:18 -0500)]
4889: close the child stderr pipe before returning
Updated CopyPipeToChan to close the child's stderr pipe before
returning, so that even if it returns for some reason other than
EOF (e.g. line too long) the child will not deadlock on writing stderr
output.
Brett Smith [Wed, 21 Jan 2015 16:38:18 +0000 (11:38 -0500)]
4967: crunch-job unmounts old Keep mounts more robustly.
The previous version looked for mounts under $JOB_WORK before
unmounting anything. We long ago started mounting under $TASK_WORK,
so unmounting hasn't been working for a while. This version unmounts
every FUSE mount with "keep" in the path, so it will be much more
flexible.
I also changed the cleanup to use bash -e, so the logs are more likely
to indicate if there was trouble during the cleanup step.
Tom Clegg [Tue, 20 Jan 2015 06:20:54 +0000 (01:20 -0500)]
3021: Use Marshal dump/load to save @old_attributes. Otherwise, hashes
in @old_attributes can contain references to objects that can be
mutated by callers, which could result in the new attributes being
logged incorrectly as old_attributes.
Brett Smith [Thu, 15 Jan 2015 22:30:28 +0000 (17:30 -0500)]
4840: Workbench selection actions are submitted by POST.
The previous implementation could get 414 Request URI Too Long
responses by stuffing a large number of selections into the link href.
This commit sidesteps that problem by POSTing the data with a hidden
form instead. It's based on rails-ujs' strategy for handling links
with data-method that we were already using for some selection
actions, so it should be minimally disruptive.
Tim Pierce [Fri, 16 Jan 2015 19:51:28 +0000 (14:51 -0500)]
4922: force google-api-python-client install
Install google-api-python-client with 'pip install -I' to fix the case
where the Docker image already has an older version of
google-api-python-client installed.