Thanks again, David. Definitely helps.
Is the alternative node you refer to here the "handoff" node? Is the handoff
node something that is in the ring database? I am trying to piece together
where in the stack this would happen. If it is transparent, it would probably
happen in the object server somehow, but it would need to know where the
handoff node is.
-- Mark.
________________________________
From: David Hadas <dav...@il.ibm.com>
To: Mark Brown <ntdeveloper2...@yahoo.com>
Cc: "openstack@lists.launchpad.net" <openstack@lists.launchpad.net>
Sent: Sunday, May 12, 2013 11:13 PM
Subject: Re: [Openstack] Swift questions.
Mark,
It would mark the server as having insufficient storage (to avoid retrying the
same server for a while) and try to place the object in an alternative node -
same as it would do with any other error. Once the object is placed in an
alternative node, the alternative node would try to send the object back to its
originated place every once in a while such that if the problem is reolved, it
will move to the right place.
This being said, there are N replicas - and this would repeat for each of the N
replicas. So if one server is full you can still access the data using the
other N-1 replicas and you still maintain N replicas in your system of the
object (although one of them is misplaced until the administrator would resolve
the space issue).
Swift doe snot use df, it would try to allocate the space on the disk and if it
fails it fails.
Failure is just a natural part of live as far as swift is concerned ;)
Hope this helps.
DH
Regards,
David Hadas
Research Staff Member, Master Inventor
IBM Research Labs, Haifa
Tel: Int+972-4-829-6104
Fax: Int+972-4-829-6112
-----Mark Brown <ntdeveloper2...@yahoo.com> wrote: -----
To: David Hadas/Haifa/IBM@IBMIL
From: Mark Brown <ntdeveloper2...@yahoo.com>
Date: 05/12/2013 08:27PM
Cc: "openstack@lists.launchpad.net" <openstack@lists.launchpad.net>
Subject: Re: [Openstack] Swift questions.
Thanks for the response David.
I do understand Swift, by its design, tries to keep things in balance among
various nodes. I was curious what it does when it encounters a full
partition(say hard disk is full)? Lets just say it is balanced and the all
nodes are nearing capacity. If I dont add any nodes, what happens when it tries
to write on a specific node (which it was directed to based on the hashing
ring) and there is not enough space to write the object?
Also, what does it use to determine a full partition? Does it use a df?
Mark
________________________________
From: David Hadas <dav...@il.ibm.com>
To: Mark Brown <ntdeveloper2...@yahoo.com>
Cc: "openstack@lists.launchpad.net" <openstack@lists.launchpad.net>
Sent: Sunday, May 12, 2013 10:36 PM
Subject: Re: [Openstack] Swift questions.
Mark,
Regarding your first Q:
Swift evenly balance the hard-drives such that in a correctly configured
system, you should expect one hard-drive being more full than the other.
There is manual a mechanism in swift to balance hard-drives by moving partitions
to/from hard-drive but you should need to use it under normal conditions, it
is likely that if your had-drives get full the right thing to do would be to
add more hard-drives.
In any case you should care not about individual partitions 'getting full' as
partitions are not allocated any specific space and can grow and shrink as
needed as long as the hard-drive they are in have space.
DH
Regards,
David Hadas
Research Staff Member, Master Inventor
IBM Research Labs, Haifa
Tel: Int+972-4-829-6104
Fax: Int+972-4-829-6112
-----"Openstack" <openstack-bounces+davidh=il.ibm....@lists.launchpad.net>
wrote: -----
To: "openstack@lists.launchpad.net" <openstack@lists.launchpad.net>
From: Mark Brown
Sent by: "Openstack"
Date:
05/12/2013 07:50PM
Subject: [Openstack] Swift questions.
Hello guys,
Been looking at Swift for some projects, and had some very basic questions.
1. How does Swift determine a certain partition is full? And when it does
detect that, what does it do? Does it return an error to the client?
2. Regarding container sync, has anyone used container sync in their
implementations? It would be great to know your experiences, because real world
use case studies are scarce:)
-- Mark
_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help : https://help.launchpad.net/ListHelp
_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help : https://help.launchpad.net/ListHelp