Update deepstore segments with schema/tableConfig changes
- Dominant language
- Java
- Stars
- 6.1k
- Forks
- 1.5k
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 189
Description
Currently, we support a number of preprocessing operations for a segment in response to schema/tableConfig changes. Some of them are:
1. Add a new column. Remove/Modify an autogenerated column.
2. Add a new index, remove an index.
Every time the server downloads and reloads a segment, the server preprocesses the segment and applies these changes. However, the segment directory in the deep store is never modified to reflect these schema changes. As we keep piling more segment preprocessing logic in reload path, time taken to reload a segment could increase if the user has a number of schema/tableConfig changes applied.
The suggestion here is to also update the segment in deep store to reflect these changes. This can be done with a background minion task.
Contributor guide
Research direction
Start by tracing the server's segment download and reload path, including the preprocessing applied after schema or tableConfig changes. Then determine how a background minion task could update the corresponding segment directory in deep store, with completion meaning persisted segments reflect those changes without adding reload-time preprocessing work.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- databases, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100