Several questions about HOW SWIFT WORKS

asked 2012-01-03 15:31:57 -0600

alejandro-comisario gravatar image

Hi everyone !

Since we are using swift for a time now, we would like to know a few things in a deep way about how some things actually works in SWIFT.

Imagine the setup where im putting all the doubts is as follow : + 2 proxyNodes + 10 dataNodes ( 5 zones )

So, lets get down to business.

1 we have memcache service running on each proxy, so as far as we know, memcache actually caches keystone tokens and object paths as the request ( PUT , GET) enters the proxy, but for example, if we restart one proxy server, so the memcached service is empty, is the restarted proxy node going to the neighbor memcache on nex request, lookup for what it needs, and cache the answer on itself so the next query is solved locally ?

2 the documentation says regarding "For each request, it will look up the location of the account, container, or object in the ring (see below) and route the request accordingly" in what way the proxy actually does the look-up regarding WHERE is an object / container in the cluster ? does it connect to any datanode asking for an object location ? does the proxy have any locally sotarge data ??

3 Maybe it has to do with the previous question but, every dataNode knows everything that is stored on the cluster (container service) or only knows the object that has itself, and the replicas of its objects?

4 We are building a production cluster of 24 datanodes, having 6 drives each (144 immediate drives) we know, that a good default number of partitions per drive is 100, so the math for creating the ring will be (24 nodes * 6 drives * 100 partitions) but we know the at the end of the year, the amount of datanodes (and drives also) could be 2x or 3x more. So, for the initial setup, can we build the RING with our 144 drives and 100 partitions per drive so we can modify the ring / partitions later and rebalance? or is safer to think about future infrastructure increase, and build the ring with those numbers in mind ?

5 We put a new object into the cluster, the proxy decides where to write the object (is it in a round-robin manner ?) is the proxy server giving a "Created" response when the 1st replica is actually writen and put into the account and container SQLite databases ? or there is and ok just when the OBJECT service actually wrote the data on disc ?

Hope, we can shed some lights regarding this doubts. Thanks !


edit retag flag offensive close merge delete

2 answers

Sort by ยป oldest newest most voted

answered 2012-01-10 15:45:19 -0600

alejandro-comisario gravatar image

Solved on the list

edit flag offensive delete link more

answered 2013-10-22 08:42:03 -0600

s90752 gravatar image

Can I get the answer of this question from the list?

edit flag offensive delete link more

Get to know Ask OpenStack

Resources for moderators

Question Tools

1 follower


Asked: 2012-01-03 15:31:57 -0600

Seen: 34 times

Last updated: Oct 22 '13