I recently was reading the Google BigTable paper from 2006 with chatgpt assistance on the side ( "vibeReading" anyone :) )
One thing that frustrated me was how the paper doesn't quite clearly say where the tablet --> tablet_server .
Tablet metadata seems to have - the key range --> tablet mapping and metadata required for serving the tablet like the SSTable location.
On the other hand , there are details about how master fetches the list of all tablets from metadata servers and figure out the unassigned tablets list.
Thus from this perspective tablet is the unit of serving - a shard of keys essentially . The tablet --> tablet_server mapping is more dynamic in nature for a system of this scale because i would assume tablet_server instances might fail all the time and master keeps moving around its tablet assignments
Master seems to create a view of tablet --> tablet_server in its memory by querying chubby and the individual tablet_servers about the assigned tablets when it starts.
But this mapping i.e tablet --> tablet_server is quite crucial in read/write path from the client.
It is reasonable to assume the metadata servers also store tablet-->tablet_server mapping and that master is responsible for maintenance given the role it plays .
THe point is the paper never explicitly records this as fact . Chatgpt quite liberally makes this conclusion ( as in the paragraph above ) and even manufactures sentences that it claims to be from the paper . Chatgpt was caught lying . Further down the conversation , it admits that it was a logical deduction . but i left it at that. Chatgpt shenanigans aside -- has anybody else had a question or have a conclusive info on
- where does the tablet --> tablet_server mapping resides ? and
- who creates/updates that ?