Walrus help

16 views
Skip to first unread message

Matt

unread,
Jun 2, 2009, 5:29:29 PM6/2/09
to JetS3t Users
I am unable to upload files to Walrus using jets3t , which is the
storage engine used by Eucalyptus. I am using the latest version 1.5.1
on Debian. The upload just locks up. No error messages are returned
either. I see other threads in this list about some upload issues, but
no workarounds. Does anyone know if there is anyway to get this to
work?

thanks
Matt

James Murty

unread,
Jun 2, 2009, 7:49:47 PM6/2/09
to jets3t...@googlegroups.com
Hi Matt,

Out of curiosity, are you able to upload files to Walrus using the s3curl.pl tool as described at the following link?

http://open.eucalyptus.com/wiki/EucalyptusStorage_v1.4

It would be useful to know whether the problem is specific to the way JetS3t is interacting with Walrus, or whether there's a more fundamental problem with your Walrus server.

James

Matt

unread,
Jun 3, 2009, 1:02:02 PM6/3/09
to JetS3t Users
Yes. The curl script works but is a PITA to use. Thats why I want to
use jets3t instead. I am using the last release of jets3t. Do I need
to get the dev version for uploads to work with EUC? I did notice
several posts about the uploads, but no resolution. There were also a
few posts on the Eucalyptus forums about the uploads not working with
jets3t, but didnt see any replies there either.

thanks
Matt

James Murty

unread,
Jun 3, 2009, 2:56:18 PM6/3/09
to jets3t...@googlegroups.com
Hi Matt,

I have just spent some time running tests on my own Eucalyptus/Walrus server which seem to confirm my suspicions that Walrus does not cope well with more than a few simultaneous connections. I'll discuss my testing for a bit, then offer a potential work around below.

I ran a number of tests uploading and deleting objects in a single thread. I tried uploading different object sizes, from just a few bytes to 8MB, and never saw any problems even uploading hundreds of objects.

As soon as I added multi-threading to the mix, my Walrus server responded with an Internal Server error or two and then hung completely. The only remedy for this was to restart the cloud and cc components.

In my tests I could produce hanging failures somewhat regularly with 10 simultaneous connections, with the chance of a hang decreasing when I used fewer threads. Also, when using multiple threads I noticed that odd things would happen even when the uploads didn't obviously fail. For example, Walrus' listing of objects in the database can get out of sync with the contents of the object file storage area (/var/lib/eucalyptus/bukkit).

I'm not sure exactly which version of Eucalyptus/Walrus I'm using (is there any way to find out the version number?) but my recommendation for now is to use only a single HTTP connection when interacting with Walrus.

You can configure the JetS3t library and applications to use a single HTTP connection with the following settings in jets3t.properties:

s3service.max-thread-count=1
s3service.admin-max-thread-count=1
httpclient.max-connections=1

Can you try these settings and confirm whether they work-around the issue?

James

---
http://www.jamesmurty.com

James Murty

unread,
Jun 11, 2009, 12:43:38 AM6/11/09
to jets3t...@googlegroups.com
Matt,

Have you been able to confirm whether limiting JetS3t to a single
simultaneous HTTP connection to Eucalyptus/Walrus fixes the problem
you described?

James

Tominator2

unread,
Jun 22, 2009, 1:26:55 PM6/22/09
to JetS3t Users
It worked for me.

Tom

James Murty

unread,
Jun 22, 2009, 2:16:42 PM6/22/09
to jets3t...@googlegroups.com
Thanks for the feedback Tom, that's helpful.

That means we now have at least two data points (you and me) confirming that Walrus copes better when you only send it a single HTTP request at a time.

Matt, if you're still out there can you please let us know if the work-around I posted earlier fixes the problem for you?

Unless I get evidence for the contrary, I'm going to chalk up this whole issue up as a problem with thread-safety in Walrus.

James
Reply all
Reply to author
Forward
0 new messages