Practice
Solution
Step 1: Understand role of commit metadata DB
Commit metadata DB stores branch pointers; without it, server cannot persist new branches.Step 2: Trace branch creation failure
Client may create branch locally, but server cannot persist it, so branch is effectively lost or inconsistent.Step 3: Eliminate other options
Queuing without notification hides failure; immediate error is possible but not typical if client allows local ops; marking unverified branches requires metadata DB access.Final Answer:
Option D -> Option DQuick Check:
Metadata DB down -> branch created locally but not persisted [check]
Solution
Step 1: Understand DF update role
Inverted Index Update Service maintains DF counts; if it crashes, DF stops updating and becomes stale.Step 2: Trace impact on ranking
Ranking cannot rely on fresh DF; system falls back to BM25 variant that tolerates stale DF or uses approximations; queries do not error out; new documents may still be indexed but DF is outdated.Final Answer:
Option A -> Option AQuick Check:
System falls back to BM25 variant tolerating stale DF [check]
Solution
Step 1: Analyze query and write patterns
Queries filter by device and time ranges; writes are high volume per device.Step 2: Evaluate partitioning strategies
Partitioning by device ID localizes writes and queries; clustering by timestamp supports efficient range scans. Single partition key causes hotspots; partitioning by timestamp scatters device data, hurting queries; relational DBs can't handle high write scale.Final Answer:
Option B -> Option BQuick Check:
Partition by device ID + cluster by timestamp -> balanced writes and efficient queries [check]
Solution
Step 1: Analyze scaling impact on components
Shared database (A) is a bottleneck but bulkheads isolate failures before database overload. Load balancer (C) scales horizontally. Network (D) overhead increases but is less immediate.Step 2: Identify bulkhead thread pool limits
Bulkhead thread pools have fixed sizes; at 10x load, they saturate first, causing request rejections and failure to scale.Final Answer:
Option B -> Option BQuick Check:
Bulkhead thread pools saturate first due to fixed resource limits [check]
Solution
Step 1: Identify stateful components at scale
Chat servers maintain stateful TCP connections, each consuming resources like memory and CPU.Step 2: Analyze scaling impact
At 10x scale, the number of concurrent TCP connections overwhelms server resources, causing failures before database or network components.Final Answer:
Option A -> Option AQuick Check:
Stateful TCP connections -> chat servers bottleneck first [check]
