Commit Graph

355 Commits

Author SHA1 Message Date
Andrew Gaul e4514240e0 Optimize clearContainer for large folders
Previously we built up a list of all blobs then executed removeBlob on
all of them simultaneously.  For sufficiently large folders this would
cause an OutOfMemoryError.  There are cleaner ways to write this but
this approach mimimizes the patch.  I will continue working on this in
subsequent commits, including optimizing for deep subdirectories.

This commit also fixes a bug in the transient blobstore where deleting
elements while reading a directory resulted in NoSuchElementException.
2012-04-28 17:11:13 -07:00
Adrian Cole ba7ba36d20 switched to buildView 2012-04-24 12:26:37 -07:00
Adrian Cole df7d2acbb4 wrapper -> view 2012-04-23 19:14:36 -07:00
Adrian Cole 886d2cafb9 created base Context class with ProviderMetadata and Identity 2012-04-23 16:16:51 -07:00
Adrian Cole 5ea29cbbb7 Merge pull request #560 from danikov/covariant-future-iterables
covariant compatible version of futureIterables
2012-04-18 07:35:23 -07:00
danikov fff1c7dc2d make FutureIterables covariant compatible + update tests 2012-04-18 13:06:54 +01:00
Adrian Cole 0b59dea073 removed ContextBuilder subclasses; added unwrap; undid generic params 2012-04-16 00:44:20 -07:00
Adrian Cole c56c2d2f72 Issue 897: moved clojure off Factory -> Builder 2012-04-12 17:07:13 -06:00
Adrian Cole 23cb01f977 refactor PropertiesBuilder and related types into ApiMetadata and ProviderMetadata, and update all usage 2012-04-11 19:47:09 -06:00
Andrew Gaul b47860afc1 Use inference to elide duplicated type parameters
Found with:
grep 'Builder.*<.*>.*Immutable.*<.*>.*builder();'
2012-04-08 22:32:04 -07:00
Adrian Cole 764e0907f7 Issue 657:ApiMetadata 2012-04-01 18:43:31 -07:00
Adrian Cole 5c6ce9f081 organize imports 2012-03-28 03:37:48 -04:00
Ioannis Canellos 5490b3068c [842] Added required import packages to cloudfiles api bundle. Improved import packages in all bundles. 2012-02-17 00:49:39 +02:00
Adrian Cole ed7b8895e6 Issue 840:remove compute.clj and blobstore.clj 2012-02-15 14:55:26 +01:00
Adrian Cole fe4d148528 updated current version to 1.5.0-SNAPSHOT 2012-02-04 11:06:07 -08:00
Adrian Cole c388fc41b4 Issue 826: removed eager supplier of @Provider endpoint 2012-02-03 13:51:26 -08:00
Adrian Cole bdd739ad04 Issue 826:support api-generated location metadata across service types, note this ensures authenticationexceptions propagate even after context creation 2012-02-03 00:27:29 -08:00
Adrian Cole 3df052565f updated current version to 1.4.0-SNAPSHOT 2012-01-16 13:08:32 -08:00
Adrian Cole 2dfdbb4b56 fixed url for blobstore copy and improved code 2012-01-15 14:31:05 -08:00
Adrian Cole 2bff310db2 fixed thread safety in test 2012-01-11 20:12:44 -08:00
Aled Sage 86929f91f6 Issue-572: added @Beta to ListAllOptions 2012-01-12 00:39:27 +00:00
Adrian Cole 8f5b46d50a Merge pull request #310 from aledsage/Issue-572-BlobStore-listAll-Options
Issue-572: added ListAllOptions for configuring BlobStores.listAll as eager
2012-01-11 16:06:38 -08:00
Aled Sage 657c268db7 Issue-572: added ListAllOptions for configuring BlobStores.listAll as eager 2012-01-11 21:00:03 +00:00
andreisavu f90a2bd039 Issue 681. Enhance jcloud to support aws-s3 Reduce Redundancy Storage (RRS) 2012-01-11 22:18:28 +02:00
Adrian Cole e46ee9fbc4 Issue 807:update license headers 2012-01-09 10:54:57 -08:00
Adrian Cole add431a329 missing build property commit 2012-01-08 00:04:04 -08:00
Adrian Cole f390f314ee Issue 803: changes needed when guice is in production mode 2012-01-07 06:08:32 -08:00
Adrian Cole f06e6982eb Issue 800:introduce property for build version 2012-01-05 17:51:55 -08:00
Adrian Cole 42137677da Issue 801:fix inconsistency in test property test.provider.apiversion set in pom.xml -> api-version 2012-01-05 13:09:45 -08:00
Adrian Cole 43d15301c3 removed deprecated newBlob 2011-12-18 18:35:18 -08:00
Adrian Cole 9899372737 Merge pull request #247 from aledsage/Issue-572-BlobStore-listAll
Issue 572: added BlobStores.listAll for a lazy iterable
2011-12-15 11:38:17 -08:00
Aled Sage 82bfcbfbfa Issue 572: added BlobStores.listAll for a lazy iterable 2011-12-15 18:12:14 +00:00
Aled Sage 80ed183ca4 Issue 572: ListContainerOptions.equals/hashCode to aid testing with mocks 2011-12-14 23:47:43 +00:00
Andrew Gaul 4c7637bcac Clean up DeleteAllKeysInList.execute
Simplify control flow and execute getResourcesToDelete after
imposeBackoffExponentialDelay.  Impose backoff only on unexceptional
path.  Do not concatenate exceptions with toDelete since
getResourcesToDelete will pick these up.  Prefer isEmpty over size.
2011-12-14 13:40:58 -08:00
Mattias Holmqvist 9865616c2c Issue 772: Fix clojure tests when running with Clojure 1.3.0. Added ^:dynamic to Vars to support Clojure 1.3.0. Also cleaned up tests a bit, not using earmuffs when inappropriate. 2011-12-08 01:12:52 +01:00
Ioannis Canellos 70bb4a17e2 Updated fragment declarations so that they can comply with OSGi 4.3 specification. 2011-11-23 19:03:51 +02:00
Adrian Cole 69467b04e3 Issue 752:move off deprecated systemProperties to systemPropertyVariables in surefire 2011-11-14 19:25:45 +02:00
Andrew Gaul 665d5df938 Propagate exceptions
Caught TransientAsyncBlobStore errors by visual inspection, the rest
with grep.
2011-11-09 18:21:00 -08:00
Adrian Cole 5d252e6fd5 removed throws clauses to UnsupportedEncodingException where they aren't thrown 2011-10-28 15:00:56 +02:00
Adrian Cole 552242e863 moved to 1.3.0-SNAPSHOT 2011-10-16 12:26:31 -07:00
Andrew Gaul 48ee511275 Fix createContainerInLocation return value.
Previously it always returned true.  Addresses issue 629.
2011-10-11 11:26:40 -07:00
Andrew Gaul 49d07239d2 Configurable endpoint for transient blobstore
Fixes issue 569.
2011-10-10 11:35:29 -07:00
Alex Heneveld 9d30fde375 issue 704, clojure 1.3 compatibility: removed uses of clojure-contrib, bringing in preferred modular dependencies where needed (tools.logging and core.incubator), adding the map-str function (that is all that was missing from clojure-contrib string), changing uses of "condition" to be java.lang.Exception, and changing the reference to private type byte-array-type to be the class directly in its own extend-protocol block since private type isn't liked under clojure 1.3; also removed clojure 1.1 build profile 2011-10-03 11:17:16 +01:00
Guillaume Nodet 87dd23551c Avoid using a non official jsr and use our own annotations 2011-09-16 17:52:12 +02:00
Adrian Cole 2a4e89912b Merge branch 'master' of git://github.com/castlabs/jclouds
* 'master' of git://github.com/castlabs/jclouds:
  added test for range requests with filesystem backend and corrected behavior
  Improve Range handling. * allowing to GET last n bytes. * start from GET range now spec conform (to field empty instead of Long.MAX_VALUE)
2011-08-19 14:38:21 -07:00
Adrian Cole 960bfe709f Issue 663:Update license headers to jclouds, Inc. and setup NOTICE file 2011-08-16 18:14:30 -07:00
Sebastian Annies 173592f7d5 added test for range requests with filesystem backend and corrected behavior 2011-08-12 13:48:32 +02:00
Sebastian Annies 5843d5fee9 Improve Range handling.
* allowing to GET last n bytes.
* start from GET range now spec conform (to field empty instead of Long.MAX_VALUE)
2011-08-09 16:15:54 +02:00
Adrian Cole 0a8f38b90e bumped snapshot version to 1.2.0-SNAPSHOT 2011-08-05 04:09:23 +01:00
Ben Mabey 19339b807a fixes clojure's blobstore clear-container wrapper fn 2011-07-12 16:46:54 -06:00
Ben Mabey 98ffa9c4b5 fixes typo in clj blobstores to allow for blob-last-modified accessors 2011-06-17 09:35:52 -06:00
Andrew Phillips 7d2fb23119 Master version is now 1.1.0-SNAPSHOT (= next feature version) now that 1.0.0 is out 2011-06-05 11:17:43 +04:00
Adrian Cole 1f535ebb6f Issue 80: public acl for atmos 2011-06-03 02:07:12 -07:00
Dmitri Babaev e1f0cdcfa5 Merge commit '6d187ed9baaad1e00dbe65b36ea2989c951a5a28', ssh client patch is reverted due to massive changes in code
Conflicts:
	drivers/jsch/src/main/java/org/jclouds/ssh/jsch/JschSshClient.java
2011-06-03 03:50:47 +04:00
Adrian Cole a68640351f better error when last-modified header not found 2011-06-02 13:51:49 -07:00
Dmitri Babaev 0fedf6e467 Merge commit '7d0248c5dd972287e51ad1971d61a6ddc8bdcdf5' 2011-06-01 20:37:49 +04:00
Gustavo Morozowski 557c0d75fe moved maven-bundle-plugin instructions to top project pom 2011-05-16 09:14:12 -03:00
Adrian Cole ddc514d602 Issue 42: added osgi fragment plugin to poms 2011-05-15 12:08:53 -07:00
David Santiago 6a3ce93d26 Clean up a comment on the blobstore2/blob function. For realsies. 2011-04-21 14:05:51 -05:00
David Santiago 29744fddda Clean up a comment on the blobstore2/blob function. 2011-04-21 11:36:47 -05:00
David Santiago 6152de91c5 Small enhancements to blobstore2_test.
Made each test clause insert a uniquely named blob, to reduce risk that an
earlier correct result masquerades as a success in a later clause.
2011-04-21 11:32:42 -05:00
David Santiago cea0e7d7ad Update blobstore2 to have a convenience protocol for building blob payloads.
* Added PayloadSource protocol with a number of implementations, including
  all currently covered classes.
* Added implementation for clojure.lang.IFn, so that you can pass in a closure.
* Updated blob function to pass the :payload argument through the payload
  protocol function.
* Added some tests for the payload protocol.
2011-04-21 04:03:58 -05:00
Adrian Cole 9e94fc6fc9 updated license headers 2011-04-09 03:20:17 -07:00
Adrian Cole 8d26999bc2 updated to surefire 2.8, and revised test annotations to be compatible with testng 5.14.10 2011-04-09 01:09:35 -07:00
Adrian Cole 5f43dbb6fa updated tests to include containercount parameter 2011-04-08 15:03:14 -07:00
Adrian Cole 25eb1581ea added parallel file upload test to blobstore 2011-04-07 12:26:47 -07:00
David Santiago a9f99f1b4e Update put-blob to new multipart API and add test.
How to do multipart on a put changed after the previous commit.
2011-04-06 02:53:19 -05:00
David Santiago 27189fba21 Add multipart? option to put-blob. 2011-04-06 00:29:22 -05:00
David Santiago aa89a53b86 Merge remote branch 'upstream/master' 2011-04-06 00:26:42 -05:00
David Santiago ee339e109b Update create-container to take more options.
* location is now optional, given through the :location keyword.
* public-read? option, can be set to true to create a publically readable
  container.
2011-04-05 18:57:28 -05:00
Adrian Cole 2bfc84beeb Issue 430: PutOptions.multipart() 2011-04-05 12:26:16 -07:00
David Santiago 793740b9be Merge remote branch 'upstream/master' 2011-04-05 02:48:48 -05:00
David Santiago ed90e29d68 Further refinements to blobstore2 in response to feedback on Github and IRC.
* Removed redundant functions, made others delegate to others instead
  of calling right into Java.
* Fixed typos, removed unused dependency references.
* Better naming for key functions: list-container -> blobs, list-blobs ->
  container-seq.
* Made blob fn no longer require a blobstore argument.
* Better comments, updated tests.
2011-04-05 02:42:45 -05:00
Adrian Cole b9f0cbcb89 crypto tuning 2011-04-04 23:37:00 -07:00
David Santiago 3011ffad23 Merge remote branch 'upstream/master' 2011-04-05 01:34:25 -05:00
Adrian Cole d69d31a5d2 expose constructor for blobbuilderimpl 2011-04-04 22:35:22 -07:00
David Santiago 1239e1a7c9 Merge remote branch 'upstream/master'
Conflicts:
	blobstore/src/test/clojure/org/jclouds/blobstore_test.clj
2011-04-04 19:04:46 -05:00
David Santiago 33150c40a2 Reduce the number of blobs to test in large-container-list-test. 2011-04-04 19:02:24 -05:00
Adrian Cole ab8a7e452c tuning so that we can reliably test multiple page lists in clj 2011-04-04 17:00:28 -07:00
David Santiago c85a7f7693 Merge remote branch 'upstream/master'
Conflicts:
	blobstore/src/test/clojure/org/jclouds/blobstore_test.clj
2011-04-04 17:27:15 -05:00
David Santiago 3d7033ad3d New Clojure blobstore API in blobstore2.clj
Updates to API include more regular function arguments, fewer compound
functions, and fewer arities of dubious quality. Tests also ported.
2011-04-04 17:23:56 -05:00
Adrian Cole c0a261334b added large container list test in clj 2011-04-04 14:37:46 -07:00
David Santiago 57f0dcaf15 Add another arity to list-blobs so that it can be called without the blobstore argument. Also add some basic tests for list-blobs-test. 2011-04-04 15:54:35 -05:00
Adrian Cole 53c735fdff enforced blobs must have uri, container, and can have publicAccess 2011-04-03 18:15:09 -07:00
Adrian Cole fc8bb96363 Merge branch 'master' of https://github.com/davidsantiago/jclouds
* 'master' of https://github.com/davidsantiago/jclouds:
  Additional refinements to blobstore.clj updates.
  Updates to improve blobstore.clj.
2011-04-02 00:34:14 -07:00
Adrian Cole e4b85db4b5 added md5 test 2011-04-02 00:30:57 -07:00
Adrian Cole a3a9bc3948 fixed usage statement 2011-04-02 00:30:49 -07:00
David Santiago 3459df3653 Additional refinements to blobstore.clj updates.
* Added an option to conditionally call calculateMD5() in blob2.
* Fixed a bug in md5-blob (which predated these changes).
* Added a direct test for blob2 and calculateMD5.
2011-04-02 02:26:45 -05:00
David Santiago 85d0474068 Merge remote branch 'upstream/master' 2011-04-02 02:26:15 -05:00
Adrian Cole 82d84b1ca1 added getoptions to blob request signer 2011-04-01 21:38:53 -07:00
David Santiago 2c74c70b1f Updates to improve blobstore.clj.
* New function blob2 exposes many more options for creating blobs.
* Updated functions that use blob to use blob2.
* New functions sign-get, sign-put, and sign-delete replace the
  functionality of sign-blob-request.
* Added tests.
* Deprecation metadata added to blob and sign-blob-request.
2011-04-01 23:32:07 -05:00
Adrian Cole 54ea98ba49 fixed typo in blob builder 2011-04-01 14:43:08 -07:00
Adrian Cole ddbd6fc1d8 allow usermetadata to be null 2011-04-01 13:52:43 -07:00
Adrian Cole 5ddf9aabca added forSigning to blobBuilder 2011-04-01 11:38:10 -07:00
Adrian Cole c352895ae2 Merge branch 'fix-list-blobs' of https://github.com/joodie/jclouds
* 'fix-list-blobs' of https://github.com/joodie/jclouds:
  make prefix optional for blobstore/list-blobs
  make blobstore/list-blobs actually lazy
2011-03-31 10:03:52 -07:00
Adrian Cole 15d8aecdac Issue 488:add support for ninefold storage 2011-03-29 14:03:21 -07:00
Adrian Cole 5fd7e559f4 fixed so that you can pass properties into blobstore 2011-03-29 13:05:24 -07:00
Joost Diepenmaat 23e988ef5a make prefix optional for blobstore/list-blobs 2011-03-15 15:49:00 +01:00
Joost Diepenmaat 5983eb0402 make blobstore/list-blobs actually lazy 2011-03-15 15:34:54 +01:00
Adrian Cole f5fa2d983b added toString to common functions so that they are easier to see when debugging 2011-03-14 01:39:59 -07:00