You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@jclouds.apache.org by "Andrew Gaul (JIRA)" <ji...@apache.org> on 2013/09/30 22:07:23 UTC
[jira] [Created] (JCLOUDS-310) jclouds Karaf caches results from
BlobStore.list in an unbounded Multimap
Andrew Gaul created JCLOUDS-310:
-----------------------------------
Summary: jclouds Karaf caches results from BlobStore.list in an unbounded Multimap
Key: JCLOUDS-310
URL: https://issues.apache.org/jira/browse/JCLOUDS-310
Project: jclouds
Issue Type: Bug
Components: jclouds-karaf
Affects Versions: 1.6.2, 1.7.0
Reporter: Andrew Gaul
Assignee: Andrew Gaul
This leads to OutOfMemoryError on large blobstores; I tested with 88 million blobs but can only enumerate 22 million.
[~iocanel] What is the intent of this cache? Should I remove use of it in the blobstore list command, or do you want to change BasicCacheProvider to use a Cache instead of a Multimap? I am also unclear where we use this.
{noformat}
$ time jclouds-cli-1.6.3-SNAPSHOT/bin/jclouds blobstore list mybigcontainer | wc -l
java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.util.regex.Pattern.matcher(Pattern.java:1088)
at java.util.regex.Pattern.split(Pattern.java:1197)
at java.util.regex.Pattern.split(Pattern.java:1259)
at sun.security.util.DisabledAlgorithmConstraints.decomposes(DisabledAlgorithmConstraints.java:174)
at sun.security.ssl.SSLAlgorithmConstraints$X509DisabledAlgConstraints.decomposes(SSLAlgorithmConstraints.java:465)
at sun.security.util.DisabledAlgorithmConstraints.permits(DisabledAlgorithmConstraints.java:113)
at sun.security.ssl.SSLAlgorithmConstraints.permits(SSLAlgorithmConstraints.java:135)
at sun.security.ssl.SignatureAndHashAlgorithm.getSupportedAlgorithms(SignatureAndHashAlgorithm.java:162)
at sun.security.ssl.Handshaker.getLocalSupportedSignAlgs(Handshaker.java:410)
at sun.security.ssl.Handshaker.activate(Handshaker.java:476)
at sun.security.ssl.SSLSocketImpl.kickstartHandshake(SSLSocketImpl.java:1418)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1288)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1339)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1323)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:563)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:767)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:633)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1323)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
at org.jclouds.http.internal.JavaUrlHttpCommandExecutorService.invoke(JavaUrlHttpCommandExecutorService.java:108)
at org.jclouds.http.internal.JavaUrlHttpCommandExecutorService.invoke(JavaUrlHttpCommandExecutorService.java:73)
at org.jclouds.http.internal.BaseHttpCommandExecutorService.invoke(BaseHttpCommandExecutorService.java:141)
at org.jclouds.rest.internal.InvokeSyncToAsyncHttpMethod.invoke(InvokeSyncToAsyncHttpMethod.java:131)
at org.jclouds.rest.internal.InvokeSyncToAsyncHttpMethod.apply(InvokeSyncToAsyncHttpMethod.java:97)
at org.jclouds.rest.internal.InvokeSyncToAsyncHttpMethod.apply(InvokeSyncToAsyncHttpMethod.java:58)
at org.jclouds.rest.internal.DelegatesToInvocationFunction.handle(DelegatesToInvocationFunction.java:157)
at org.jclouds.rest.internal.DelegatesToInvocationFunction.invoke(DelegatesToInvocationFunction.java:124)
at com.sun.proxy.$Proxy51.listBucket(Unknown Source)
at org.jclouds.s3.blobstore.S3BlobStore.list(S3BlobStore.java:146)
at org.jclouds.karaf.commands.blobstore.BlobListCommand.doExecute(BlobListCommand.java:70)
at org.jclouds.karaf.commands.blobstore.BlobStoreCommandWithOptions.execute(BlobStoreCommandWithOptions.java:70)
at org.apache.felix.gogo.commands.basic.AbstractCommand.execute(AbstractCommand.java:35)
2241000
real 22m49.988s
user 35m29.157s
sys 0m42.995s
{noformat}
--
This message was sent by Atlassian JIRA
(v6.1#6144)