Re: [Openstack] Swift questions

2013-05-22 Thread Chuck Thier
On Wed, May 22, 2013 at 7:54 PM, Mark Brown wrote:

> Thanks Chuck.
>
> Just one more question about rebalancing. Have there been measurements on
> how much it affects performance when a rebalance is in progress? I would
> assume its an operation that puts some load on the system, while also
> keeping track of  whether the original object changed while moving, among
> other things. Its probably not that frequent, but it would be great to
> understand how it works in the real world with large workloads.
>

There are no exact measurements on how it affects performance.  A lot of it
depends on how aggressively you are re-balancing, size of the cluster,
usage, etc.  A lot of replication will increase the amount of network
traffic going on and disk io.


> I did have a general question about container sync. Is it something that
> is used a lot, and works well?
>

I have heard of some using it successfully, but it does have some issues,
so I personally wouldn't recommend it beyond experimentation, and small
clusters.

--
Chuck
___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Swift questions

2013-05-22 Thread Mark Brown
Thanks Chuck.

Just one more question about rebalancing. Have there been measurements on how 
much it affects performance when a rebalance is in progress? I would assume its 
an operation that puts some load on the system, while also keeping track of  
whether the original object changed while moving, among other things. Its 
probably not that frequent, but it would be great to understand how it works in 
the real world with large workloads.

I did have a general question about container sync. Is it something that is 
used a lot, and works well?

-- Mark



 From: Chuck Thier 
To: Mark Brown  
Cc: Openstack  
Sent: Wednesday, May 22, 2013 7:26 AM
Subject: Re: [Openstack] Swift questions
 


Hey Mark,
On Wed, May 22, 2013 at 8:59 AM, Mark Brown  wrote:

Thank you for the responses Chuck.
>
>
>As part of a rebalance, the replicator, I would assume, copies the object from 
>the old partition to the new partition, and then deletes it from the old 
>partition. Is that a fair assumption?

That is correct, the replicators will replicate the data in the partition at 
the new location.  The server that has the old data will delete it once it is 
certain that data is available in all replicas.
 
Also, is there anything that explains in more detail how the handoff node is 
picked? What if the ring changes and the data still lives on the handoff node? 

I don't think there is currently any documentation that describes how handoff 
nodes are picked.  Handoff nodes can be used for a variety of reasons, 
including when servers are down, or not responding.  The server that has 
handoff partitions is always responsible for getting the data to the correct 
location.

There is some more detailed information on replication at: 

http://docs.openstack.org/developer/swift/overview_replication.html

(if you haven't read it yet)

--
Chuck___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Swift questions

2013-05-22 Thread Chuck Thier
Hey Mark,

On Wed, May 22, 2013 at 8:59 AM, Mark Brown wrote:

> Thank you for the responses Chuck.
>
> As part of a rebalance, the replicator, I would assume, copies the object
> from the old partition to the new partition, and then deletes it from the
> old partition. Is that a fair assumption?
>

That is correct, the replicators will replicate the data in the partition
at the new location.  The server that has the old data will delete it once
it is certain that data is available in all replicas.


> Also, is there anything that explains in more detail how the handoff node
> is picked? What if the ring changes and the data still lives on the handoff
> node?
>

I don't think there is currently any documentation that describes how
handoff nodes are picked.  Handoff nodes can be used for a variety of
reasons, including when servers are down, or not responding.  The server
that has handoff partitions is always responsible for getting the data to
the correct location.

There is some more detailed information on replication at:

http://docs.openstack.org/developer/swift/overview_replication.html

(if you haven't read it yet)

--
Chuck
___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Swift questions

2013-05-22 Thread Mark Brown
Thank you for the responses Chuck.

As part of a rebalance, the replicator, I would assume, copies the object from 
the old partition to the new partition, and then deletes it from the old 
partition. Is that a fair assumption?

Also, is there anything that explains in more detail how the handoff node is 
picked? What if the ring changes and the data still lives on the handoff node? 

-- Mark



 From: Chuck Thier 
To: Mark Brown  
Cc: Openstack  
Sent: Tuesday, May 21, 2013 6:53 PM
Subject: Re: [Openstack] Swift questions
 


Hi Mark,


On Tue, May 21, 2013 at 6:46 PM, Mark Brown  wrote:

Hello,
>I had a few more basic Swift questions..
>
>
>1. In Swift, when a rebalance is happening, does the client have write access 
>to the object? Does Swift have a mechanism to lock down one copy which it is 
>moving, and allow updates to the remaining two copies and do a final sync 
>somehow? What is the mechanism?
 
When the ring rebalances, it is allowed to only move one replica of a 
partition.  This guarantees that you still have 2 available while replication 
is moving the partitions around.

 
2. I did see that Swift has a configurable number of replicas. Can it be set to 
1? If it is set to 1, how does it work for the question above w.r.t rebalance? 
I do understand a single replica does not make sense, I did want to understand 
what it does in that case though.

It can be set to 1, and I think the default devstack install may do exactly 
that. Pretty much any guarantees of swift go out the window with 1 replica.  I 
would expect that the partitions that are being moved would not be available 
until replication has moved them.
 
3. If one of the nodes returns an error during a PUT(say, disk full), the 
request is sent to the handoff node, but how is the handoff node configured in 
the ring? Is it a special entry, or is it picked based on some algorithm or 
something else? 

There is an algorithm in the ring code that deterministically determines the 
handoff nodes.

--
Chuck___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Swift questions

2013-05-22 Thread Chmouel Boudjnah
On Wed, May 22, 2013 at 3:53 AM, Chuck Thier  wrote:
> It can be set to 1, and I think the default devstack install may do exactly
> that.


this is correct, this is the default devstack install to set one replica.

Chmouel.

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Swift questions

2013-05-21 Thread Chuck Thier
Hi Mark,

On Tue, May 21, 2013 at 6:46 PM, Mark Brown wrote:

> Hello,
> I had a few more basic Swift questions..
>
> 1. In Swift, when a rebalance is happening, does the client have write
> access to the object? Does Swift have a mechanism to lock down one copy
> which it is moving, and allow updates to the remaining two copies and do a
> final sync somehow? What is the mechanism?
>

When the ring rebalances, it is allowed to only move one replica of a
partition.  This guarantees that you still have 2 available while
replication is moving the partitions around.



> 2. I did see that Swift has a configurable number of replicas. Can it be
> set to 1? If it is set to 1, how does it work for the question above w.r.t
> rebalance? I do understand a single replica does not make sense, I did want
> to understand what it does in that case though.
>

It can be set to 1, and I think the default devstack install may do exactly
that. Pretty much any guarantees of swift go out the window with 1 replica.
 I would expect that the partitions that are being moved would not be
available until replication has moved them.


> 3. If one of the nodes returns an error during a PUT(say, disk full), the
> request is sent to the handoff node, but how is the handoff node configured
> in the ring? Is it a special entry, or is it picked based on some algorithm
> or something else?
>

There is an algorithm in the ring code that deterministically determines
the handoff nodes.

--
Chuck
___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


[Openstack] Swift questions

2013-05-21 Thread Mark Brown
Hello,
I had a few more basic Swift questions..

1. In Swift, when a rebalance is happening, does the client have write access 
to the object? Does Swift have a mechanism to lock down one copy which it is 
moving, and allow updates to the remaining two copies and do a final sync 
somehow? What is the mechanism?

2. I did see that Swift has a configurable number of replicas. Can it be set to 
1? If it is set to 1, how does it work for the question above w.r.t rebalance? 
I do understand a single replica does not make sense, I did want to understand 
what it does in that case though.

3. If one of the nodes returns an error during a PUT(say, disk full), the 
request is sent to the handoff node, but how is the handoff node configured in 
the ring? Is it a special entry, or is it picked based on some algorithm or 
something else? 

-- 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


Re: [Openstack] Swift questions - container sync

2013-05-13 Thread Mark Brown


Has anyone used container sync in their implementations? It would be great to 
know your experiences, because real world use case studies are scarce:) 
Anything to be aware of, whether its performance, setup, problems seen, 
recommendations..?

--Mark


 From: Mark Brown 
To: David Hadas  
Cc: "openstack@lists.launchpad.net"  
Sent: Sunday, May 12, 2013 11:25 PM
Subject: Re: [Openstack] Swift questions.
 


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 
To: Mark Brown  
Cc: "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  wrote: -
To: David Hadas/Haifa/IBM@IBMIL
From: Mark Brown 
Date: 05/12/2013 08:27PM
Cc: "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 
To: Mark Brown  
Cc: "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"  
wrote: -
To: "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

Re: [Openstack] Swift questions.

2013-05-12 Thread David Hadas
 Handoff is chosen based on the Ring at the proxy, after the object server responding that it had failed to store the data or after any other error while attempting to approach the object sever (e.g. timeout). DHRegards, David HadasResearch Staff Member, Master InventorIBM Research Labs, HaifaTel:Int+972-4-829-6104Fax:   Int+972-4-829-6112-Mark Brown  wrote: -To: David Hadas/Haifa/IBM@IBMILFrom: Mark Brown Date: 05/12/2013 08:55PMCc: "openstack@lists.launchpad.net" Subject: Re: [Openstack] Swift questions.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  To: Mark Brown  Cc: "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. DHRegards, David HadasResearch Staff Member, Master InventorIBM Research Labs, HaifaTel:Int+972-4-829-6104Fax:   Int+972-4-829-6112-Mark Brown  wrote: -To: David Hadas/Haifa/IBM@IBMILFrom: Mark Brown Date: 05/12/2013 08:27PMCc: "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? MarkFrom: David Hadas  To: Mark Brown  Cc: "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.DHRegards, David HadasResearch Staff Member, Master InventorIBM Research Labs, HaifaTel:Int+972-4-829-6104Fax:   Int+972-4-829-6112-"Openstack"  wrote: -To: "openstack@lists.launchpad.net" From: Mark Brown Sent by: "Openstack" Date:
 05/12/2013 07:50PMSubject: [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/~openstackPost to     : openstack@lists.launchpad.netUnsubscribe : https://launchpad.net/~openstackMore 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


Re: [Openstack] Swift questions.

2013-05-12 Thread Mark Brown
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 
To: Mark Brown  
Cc: "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  wrote: -
To: David Hadas/Haifa/IBM@IBMIL
From: Mark Brown 
Date: 05/12/2013 08:27PM
Cc: "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 
To: Mark Brown  
Cc: "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"  
wrote: -
To: "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


Re: [Openstack] Swift questions.

2013-05-12 Thread David Hadas
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. DHRegards, David HadasResearch Staff Member, Master InventorIBM Research Labs, HaifaTel:Int+972-4-829-6104Fax:   Int+972-4-829-6112-Mark Brown  wrote: -To: David Hadas/Haifa/IBM@IBMILFrom: Mark Brown Date: 05/12/2013 08:27PMCc: "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? MarkFrom: David Hadas  To: Mark Brown  Cc: "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.DHRegards, David HadasResearch Staff Member, Master InventorIBM Research Labs, HaifaTel:Int+972-4-829-6104Fax:   Int+972-4-829-6112-"Openstack"  wrote: -To: "openstack@lists.launchpad.net" From: Mark Brown Sent by: "Openstack" Date:
 05/12/2013 07:50PMSubject: [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/~openstackPost to     : openstack@lists.launchpad.netUnsubscribe : https://launchpad.net/~openstackMore 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


Re: [Openstack] Swift questions.

2013-05-12 Thread Mark Brown
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 
To: Mark Brown  
Cc: "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"  
wrote: -
To: "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


Re: [Openstack] Swift questions.

2013-05-12 Thread David Hadas
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.DHRegards, David HadasResearch Staff Member, Master InventorIBM Research Labs, HaifaTel:Int+972-4-829-6104Fax:   Int+972-4-829-6112-"Openstack"  wrote: -To: "openstack@lists.launchpad.net" From: Mark Brown Sent by: "Openstack" Date: 05/12/2013 07:50PMSubject: [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/~openstackPost to     : openstack@lists.launchpad.netUnsubscribe : https://launchpad.net/~openstackMore 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


[Openstack] Swift questions.

2013-05-12 Thread Mark Brown
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