question history:
question 
80 views

Persistent Storage for M2

Hello,

I wanted to know what the expectation for persistent storage was in the context of M2, and I have a couple related questions:

  1. Can we assume every server will be provided a separate storage directory?
  2. How will persistent storage be tested?

If the answer to 1 is yes, I imagine 2 must be something along the lines of many servers are up, then they all shut down with server A being the final one to shut down. Then, we start up server B. In this case, persistent storage can only be tested if B's storage directory is the same as A's before it shut down.

If the answer to 1 is no, then do we assume every server is in the same storage directory? I just cannot really understand how we would do persistent storage if we don't have the condition that the new server would have to point to the oldest deleted one's directory.

Thank you

 0
Updated by Anonymous Gear

the students' answer,

where students collectively construct a single answer

the instructors' answer,

where instructors collectively construct a single answer

each kv server works independently. they dont share any storage

 0
Updated by Gengrui Zhang
followup discussionsfor lingering questions and comments
Anonymous Gear 

Hi, thank you for the quick response! So, I'm guessing we don't have to worry about persistent storage in the case where ALL servers shut down and then one is restarted? Or should the new restarted one have access to all previous data?

 0
Gengrui Zhang

If all servers shut down, then the last one should have all the data when it recovers.

 0
Anonymous Poet

Makes sense. To confirm that we understand, let me provide an example:

Say we have 3 servers in the system: A, B, and C. If A and B shut down, then C will have all the data at the end. Then C shuts down. 

So the question is, if then server D is started, is D expected to have all the previous data? If so, should we store C's data in ECS prior to shutdown so that D can recover it from there? 

From our understanding, since we are assuming servers' storages are completely independent, D should not be able to read from C's storage. 

 0
Gengrui Zhang

I assume server D is a new server that has not previously participated in the system? Then server D knows nothing.


ECS NEVER stores data proposed by clients. ECS is like a manager who only handles metadata.
 2